@wootsup/yt-builder-mcp 1.12.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +139 -40
- package/bin/node-floor.d.ts +28 -0
- package/bin/node-floor.js +150 -0
- package/bin/yt-builder-mcp.js +51 -10
- package/dist/auth.d.ts +3 -121
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +44 -174
- package/dist/auth.js.map +1 -1
- package/dist/catalog/build-catalog.d.ts +4 -49
- package/dist/catalog/build-catalog.d.ts.map +1 -1
- package/dist/catalog/build-catalog.js +15 -126
- package/dist/catalog/build-catalog.js.map +1 -1
- package/dist/catalog/json-schema.d.ts +3 -0
- package/dist/catalog/json-schema.d.ts.map +1 -0
- package/dist/catalog/json-schema.js +68 -0
- package/dist/catalog/json-schema.js.map +1 -0
- package/dist/catalog/output-shapes.d.ts +6 -0
- package/dist/catalog/output-shapes.d.ts.map +1 -0
- package/dist/catalog/output-shapes.js +89 -0
- package/dist/catalog/output-shapes.js.map +1 -0
- package/dist/catalog/tool-catalog-markdown.d.ts +1 -37
- package/dist/catalog/tool-catalog-markdown.d.ts.map +1 -1
- package/dist/catalog/tool-catalog-markdown.js +8 -52
- package/dist/catalog/tool-catalog-markdown.js.map +1 -1
- package/dist/cli/doctor-command.d.ts +2 -7
- package/dist/cli/doctor-command.d.ts.map +1 -1
- package/dist/cli/doctor-command.js +21 -62
- package/dist/cli/doctor-command.js.map +1 -1
- package/dist/cli/invocation-decision.d.ts +4 -52
- package/dist/cli/invocation-decision.d.ts.map +1 -1
- package/dist/cli/invocation-decision.js +46 -55
- package/dist/cli/invocation-decision.js.map +1 -1
- package/dist/client.d.ts +3 -107
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +34 -115
- package/dist/client.js.map +1 -1
- package/dist/clients/claude-code.d.ts +0 -15
- package/dist/clients/claude-code.d.ts.map +1 -1
- package/dist/clients/claude-code.js +1 -23
- package/dist/clients/claude-code.js.map +1 -1
- package/dist/clients/claude-desktop.d.ts +0 -16
- package/dist/clients/claude-desktop.d.ts.map +1 -1
- package/dist/clients/claude-desktop.js +1 -19
- package/dist/clients/claude-desktop.js.map +1 -1
- package/dist/clients/cline.d.ts +0 -23
- package/dist/clients/cline.d.ts.map +1 -1
- package/dist/clients/cline.js +1 -34
- package/dist/clients/cline.js.map +1 -1
- package/dist/clients/codex-cli.d.ts +0 -39
- package/dist/clients/codex-cli.d.ts.map +1 -1
- package/dist/clients/codex-cli.js +12 -147
- package/dist/clients/codex-cli.js.map +1 -1
- package/dist/clients/config-file.d.ts +15 -0
- package/dist/clients/config-file.d.ts.map +1 -0
- package/dist/clients/config-file.js +86 -0
- package/dist/clients/config-file.js.map +1 -0
- package/dist/clients/continue.d.ts +0 -10
- package/dist/clients/continue.d.ts.map +1 -1
- package/dist/clients/continue.js +3 -30
- package/dist/clients/continue.js.map +1 -1
- package/dist/clients/cursor.d.ts +0 -9
- package/dist/clients/cursor.d.ts.map +1 -1
- package/dist/clients/cursor.js +1 -12
- package/dist/clients/cursor.js.map +1 -1
- package/dist/clients/gemini-cli.d.ts +0 -15
- package/dist/clients/gemini-cli.d.ts.map +1 -1
- package/dist/clients/gemini-cli.js +1 -18
- package/dist/clients/gemini-cli.js.map +1 -1
- package/dist/clients/home.d.ts +0 -12
- package/dist/clients/home.d.ts.map +1 -1
- package/dist/clients/home.js +0 -12
- package/dist/clients/home.js.map +1 -1
- package/dist/clients/index.d.ts +2 -153
- package/dist/clients/index.d.ts.map +1 -1
- package/dist/clients/index.js +3 -153
- package/dist/clients/index.js.map +1 -1
- package/dist/clients/roo-code.d.ts +0 -20
- package/dist/clients/roo-code.d.ts.map +1 -1
- package/dist/clients/roo-code.js +1 -23
- package/dist/clients/roo-code.js.map +1 -1
- package/dist/clients/zed.d.ts +0 -9
- package/dist/clients/zed.d.ts.map +1 -1
- package/dist/clients/zed.js +1 -19
- package/dist/clients/zed.js.map +1 -1
- package/dist/compat-floor.d.ts +35 -0
- package/dist/compat-floor.d.ts.map +1 -0
- package/dist/compat-floor.js +84 -0
- package/dist/compat-floor.js.map +1 -0
- package/dist/compat-probe.d.ts +6 -0
- package/dist/compat-probe.d.ts.map +1 -0
- package/dist/compat-probe.js +20 -0
- package/dist/compat-probe.js.map +1 -0
- package/dist/diagnostics/ca-reexec.d.ts +0 -30
- package/dist/diagnostics/ca-reexec.d.ts.map +1 -1
- package/dist/diagnostics/ca-reexec.js +0 -62
- package/dist/diagnostics/ca-reexec.js.map +1 -1
- package/dist/diagnostics/ca-trust.d.ts +0 -22
- package/dist/diagnostics/ca-trust.d.ts.map +1 -1
- package/dist/diagnostics/ca-trust.js +3 -42
- package/dist/diagnostics/ca-trust.js.map +1 -1
- package/dist/diagnostics/diagnose-network-error.d.ts +1 -38
- package/dist/diagnostics/diagnose-network-error.d.ts.map +1 -1
- package/dist/diagnostics/diagnose-network-error.js +27 -38
- package/dist/diagnostics/diagnose-network-error.js.map +1 -1
- package/dist/diagnostics/doctor.d.ts +1 -85
- package/dist/diagnostics/doctor.d.ts.map +1 -1
- package/dist/diagnostics/doctor.js +7 -92
- package/dist/diagnostics/doctor.js.map +1 -1
- package/dist/diagnostics/startup-self-probe.d.ts +3 -25
- package/dist/diagnostics/startup-self-probe.d.ts.map +1 -1
- package/dist/diagnostics/startup-self-probe.js +11 -48
- package/dist/diagnostics/startup-self-probe.js.map +1 -1
- package/dist/errors/hints.d.ts +0 -44
- package/dist/errors/hints.d.ts.map +1 -1
- package/dist/errors/hints.js +1 -33
- package/dist/errors/hints.js.map +1 -1
- package/dist/errors/mask.d.ts +0 -31
- package/dist/errors/mask.d.ts.map +1 -1
- package/dist/errors/mask.js +0 -32
- package/dist/errors/mask.js.map +1 -1
- package/dist/errors/redact-credentials.d.ts +2 -0
- package/dist/errors/redact-credentials.d.ts.map +1 -0
- package/dist/errors/redact-credentials.js +13 -0
- package/dist/errors/redact-credentials.js.map +1 -0
- package/dist/errors/sanitize.d.ts +0 -29
- package/dist/errors/sanitize.d.ts.map +1 -1
- package/dist/errors/sanitize.js +0 -40
- package/dist/errors/sanitize.js.map +1 -1
- package/dist/errors.d.ts +6 -17
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +16 -21
- package/dist/errors.js.map +1 -1
- package/dist/gateway/advanced-read-tool.d.ts +0 -32
- package/dist/gateway/advanced-read-tool.d.ts.map +1 -1
- package/dist/gateway/advanced-read-tool.js +43 -111
- package/dist/gateway/advanced-read-tool.js.map +1 -1
- package/dist/gateway/advanced-tool/discovery.d.ts +1 -12
- package/dist/gateway/advanced-tool/discovery.d.ts.map +1 -1
- package/dist/gateway/advanced-tool/discovery.js +15 -24
- package/dist/gateway/advanced-tool/discovery.js.map +1 -1
- package/dist/gateway/advanced-tool/domains.d.ts +7 -66
- package/dist/gateway/advanced-tool/domains.d.ts.map +1 -1
- package/dist/gateway/advanced-tool/domains.js +36 -80
- package/dist/gateway/advanced-tool/domains.js.map +1 -1
- package/dist/gateway/advanced-tool/execute.d.ts +0 -25
- package/dist/gateway/advanced-tool/execute.d.ts.map +1 -1
- package/dist/gateway/advanced-tool/execute.js +13 -49
- package/dist/gateway/advanced-tool/execute.js.map +1 -1
- package/dist/gateway/advanced-tool/index.d.ts +1 -32
- package/dist/gateway/advanced-tool/index.d.ts.map +1 -1
- package/dist/gateway/advanced-tool/index.js +1 -35
- package/dist/gateway/advanced-tool/index.js.map +1 -1
- package/dist/gateway/advanced-tool/register.d.ts +0 -14
- package/dist/gateway/advanced-tool/register.d.ts.map +1 -1
- package/dist/gateway/advanced-tool/register.js +22 -58
- package/dist/gateway/advanced-tool/register.js.map +1 -1
- package/dist/gateway/advanced-tool.d.ts +0 -11
- package/dist/gateway/advanced-tool.d.ts.map +1 -1
- package/dist/gateway/advanced-tool.js +0 -11
- package/dist/gateway/advanced-tool.js.map +1 -1
- package/dist/gateway/capturing-server.d.ts +3 -88
- package/dist/gateway/capturing-server.d.ts.map +1 -1
- package/dist/gateway/capturing-server.js +0 -77
- package/dist/gateway/capturing-server.js.map +1 -1
- package/dist/gateway/essentials.d.ts +1 -63
- package/dist/gateway/essentials.d.ts.map +1 -1
- package/dist/gateway/essentials.js +9 -178
- package/dist/gateway/essentials.js.map +1 -1
- package/dist/gateway/test-support.d.ts +0 -28
- package/dist/gateway/test-support.d.ts.map +1 -1
- package/dist/gateway/test-support.js +0 -29
- package/dist/gateway/test-support.js.map +1 -1
- package/dist/health-response.d.ts +2 -0
- package/dist/health-response.d.ts.map +1 -0
- package/dist/health-response.js +7 -0
- package/dist/health-response.js.map +1 -0
- package/dist/icon-data.js +0 -3
- package/dist/icon-data.js.map +1 -1
- package/dist/index.d.ts +7 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -130
- package/dist/index.js.map +1 -1
- package/dist/install-skill.d.ts +0 -44
- package/dist/install-skill.d.ts.map +1 -1
- package/dist/install-skill.js +8 -48
- package/dist/install-skill.js.map +1 -1
- package/dist/net/extra-headers.d.ts +0 -58
- package/dist/net/extra-headers.d.ts.map +1 -1
- package/dist/net/extra-headers.js +0 -67
- package/dist/net/extra-headers.js.map +1 -1
- package/dist/net/internal-host.d.ts +0 -31
- package/dist/net/internal-host.d.ts.map +1 -1
- package/dist/net/internal-host.js +7 -65
- package/dist/net/internal-host.js.map +1 -1
- package/dist/net/proxy-dispatcher.d.ts +0 -37
- package/dist/net/proxy-dispatcher.d.ts.map +1 -1
- package/dist/net/proxy-dispatcher.js +0 -40
- package/dist/net/proxy-dispatcher.js.map +1 -1
- package/dist/net/public-fetch.d.ts +53 -0
- package/dist/net/public-fetch.d.ts.map +1 -0
- package/dist/net/public-fetch.js +143 -0
- package/dist/net/public-fetch.js.map +1 -0
- package/dist/net/public-page-report.d.ts +26 -0
- package/dist/net/public-page-report.d.ts.map +1 -0
- package/dist/net/public-page-report.js +145 -0
- package/dist/net/public-page-report.js.map +1 -0
- package/dist/net/redirect-safe-fetch.d.ts +14 -0
- package/dist/net/redirect-safe-fetch.d.ts.map +1 -0
- package/dist/net/redirect-safe-fetch.js +61 -0
- package/dist/net/redirect-safe-fetch.js.map +1 -0
- package/dist/net/session-recovery-fetch.d.ts +7 -0
- package/dist/net/session-recovery-fetch.d.ts.map +1 -0
- package/dist/net/session-recovery-fetch.js +139 -0
- package/dist/net/session-recovery-fetch.js.map +1 -0
- package/dist/net/site-basic-auth.d.ts +1 -59
- package/dist/net/site-basic-auth.d.ts.map +1 -1
- package/dist/net/site-basic-auth.js +5 -94
- package/dist/net/site-basic-auth.js.map +1 -1
- package/dist/package-version.d.ts +2 -0
- package/dist/package-version.d.ts.map +1 -0
- package/dist/package-version.js +15 -0
- package/dist/package-version.js.map +1 -0
- package/dist/platform/detect.d.ts +0 -54
- package/dist/platform/detect.d.ts.map +1 -1
- package/dist/platform/detect.js +0 -53
- package/dist/platform/detect.js.map +1 -1
- package/dist/platform/index.d.ts +0 -100
- package/dist/platform/index.d.ts.map +1 -1
- package/dist/platform/index.js +0 -106
- package/dist/platform/index.js.map +1 -1
- package/dist/platform/joomla.d.ts +0 -35
- package/dist/platform/joomla.d.ts.map +1 -1
- package/dist/platform/joomla.js +0 -35
- package/dist/platform/joomla.js.map +1 -1
- package/dist/product-name.d.ts +2 -0
- package/dist/product-name.d.ts.map +1 -0
- package/dist/product-name.js +2 -0
- package/dist/product-name.js.map +1 -0
- package/dist/proxy/bridge.d.ts +36 -76
- package/dist/proxy/bridge.d.ts.map +1 -1
- package/dist/proxy/bridge.js +443 -136
- package/dist/proxy/bridge.js.map +1 -1
- package/dist/proxy/confirm-elicitation.d.ts +22 -0
- package/dist/proxy/confirm-elicitation.d.ts.map +1 -0
- package/dist/proxy/confirm-elicitation.js +170 -0
- package/dist/proxy/confirm-elicitation.js.map +1 -0
- package/dist/proxy/confirm-question-contract.d.ts +6 -0
- package/dist/proxy/confirm-question-contract.d.ts.map +1 -0
- package/dist/proxy/confirm-question-contract.js +9 -0
- package/dist/proxy/confirm-question-contract.js.map +1 -0
- package/dist/proxy/confirm-question.d.ts +2 -0
- package/dist/proxy/confirm-question.d.ts.map +1 -0
- package/dist/proxy/confirm-question.js +125 -0
- package/dist/proxy/confirm-question.js.map +1 -0
- package/dist/proxy/instructions.d.ts +4 -0
- package/dist/proxy/instructions.d.ts.map +1 -0
- package/dist/proxy/instructions.js +12 -0
- package/dist/proxy/instructions.js.map +1 -0
- package/dist/proxy/mode.d.ts +14 -9
- package/dist/proxy/mode.d.ts.map +1 -1
- package/dist/proxy/mode.js +58 -34
- package/dist/proxy/mode.js.map +1 -1
- package/dist/proxy/multi-site.d.ts +42 -0
- package/dist/proxy/multi-site.d.ts.map +1 -0
- package/dist/proxy/multi-site.js +134 -0
- package/dist/proxy/multi-site.js.map +1 -0
- package/dist/proxy/request-headers.d.ts +9 -0
- package/dist/proxy/request-headers.d.ts.map +1 -0
- package/dist/proxy/request-headers.js +17 -0
- package/dist/proxy/request-headers.js.map +1 -0
- package/dist/proxy/shadow-tools.d.ts +9 -0
- package/dist/proxy/shadow-tools.d.ts.map +1 -0
- package/dist/proxy/shadow-tools.js +42 -0
- package/dist/proxy/shadow-tools.js.map +1 -0
- package/dist/proxy/tools-list-cap.d.ts +7 -0
- package/dist/proxy/tools-list-cap.d.ts.map +1 -0
- package/dist/proxy/tools-list-cap.js +14 -0
- package/dist/proxy/tools-list-cap.js.map +1 -0
- package/dist/proxy/transport-uncertainty.d.ts +2 -0
- package/dist/proxy/transport-uncertainty.d.ts.map +1 -0
- package/dist/proxy/transport-uncertainty.js +8 -0
- package/dist/proxy/transport-uncertainty.js.map +1 -0
- package/dist/proxy/upstream-error.d.ts +7 -0
- package/dist/proxy/upstream-error.d.ts.map +1 -0
- package/dist/proxy/upstream-error.js +35 -0
- package/dist/proxy/upstream-error.js.map +1 -0
- package/dist/proxy/wire-dialect.d.ts +5 -0
- package/dist/proxy/wire-dialect.d.ts.map +1 -0
- package/dist/proxy/wire-dialect.js +33 -0
- package/dist/proxy/wire-dialect.js.map +1 -0
- package/dist/server.d.ts +14 -82
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +109 -204
- package/dist/server.js.map +1 -1
- package/dist/setup/banner-color.d.ts +13 -0
- package/dist/setup/banner-color.d.ts.map +1 -0
- package/dist/setup/banner-color.js +93 -0
- package/dist/setup/banner-color.js.map +1 -0
- package/dist/setup/banner.d.ts +22 -0
- package/dist/setup/banner.d.ts.map +1 -0
- package/dist/setup/banner.js +120 -0
- package/dist/setup/banner.js.map +1 -0
- package/dist/setup/ca-recovery.d.ts +20 -0
- package/dist/setup/ca-recovery.d.ts.map +1 -0
- package/dist/setup/ca-recovery.js +92 -0
- package/dist/setup/ca-recovery.js.map +1 -0
- package/dist/setup/closing.d.ts +15 -0
- package/dist/setup/closing.d.ts.map +1 -0
- package/dist/setup/closing.js +43 -0
- package/dist/setup/closing.js.map +1 -0
- package/dist/setup/corporate-ca.d.ts +16 -0
- package/dist/setup/corporate-ca.d.ts.map +1 -0
- package/dist/setup/corporate-ca.js +32 -0
- package/dist/setup/corporate-ca.js.map +1 -0
- package/dist/setup/host-platform.d.ts +8 -0
- package/dist/setup/host-platform.d.ts.map +1 -0
- package/dist/setup/host-platform.js +21 -0
- package/dist/setup/host-platform.js.map +1 -0
- package/dist/setup/install-configs.d.ts +18 -0
- package/dist/setup/install-configs.d.ts.map +1 -0
- package/dist/setup/install-configs.js +95 -0
- package/dist/setup/install-configs.js.map +1 -0
- package/dist/setup/multi-site-loop.d.ts +14 -0
- package/dist/setup/multi-site-loop.d.ts.map +1 -0
- package/dist/setup/multi-site-loop.js +20 -0
- package/dist/setup/multi-site-loop.js.map +1 -0
- package/dist/setup/phases.d.ts +18 -0
- package/dist/setup/phases.d.ts.map +1 -0
- package/dist/setup/phases.js +55 -0
- package/dist/setup/phases.js.map +1 -0
- package/dist/setup/registry-remedy.d.ts +12 -0
- package/dist/setup/registry-remedy.d.ts.map +1 -0
- package/dist/setup/registry-remedy.js +37 -0
- package/dist/setup/registry-remedy.js.map +1 -0
- package/dist/setup/resume.d.ts +28 -0
- package/dist/setup/resume.d.ts.map +1 -0
- package/dist/setup/resume.js +99 -0
- package/dist/setup/resume.js.map +1 -0
- package/dist/setup-ca-env.d.ts +0 -30
- package/dist/setup-ca-env.d.ts.map +1 -1
- package/dist/setup-ca-env.js +0 -28
- package/dist/setup-ca-env.js.map +1 -1
- package/dist/setup-ca-reprobe.d.ts +0 -25
- package/dist/setup-ca-reprobe.d.ts.map +1 -1
- package/dist/setup-ca-reprobe.js +0 -34
- package/dist/setup-ca-reprobe.js.map +1 -1
- package/dist/setup-cli-confirm.d.ts +0 -34
- package/dist/setup-cli-confirm.d.ts.map +1 -1
- package/dist/setup-cli-confirm.js +0 -36
- package/dist/setup-cli-confirm.js.map +1 -1
- package/dist/setup-cli.d.ts +6 -167
- package/dist/setup-cli.d.ts.map +1 -1
- package/dist/setup-cli.js +165 -177
- package/dist/setup-cli.js.map +1 -1
- package/dist/setup-npx-spec.d.ts +0 -36
- package/dist/setup-npx-spec.d.ts.map +1 -1
- package/dist/setup-npx-spec.js +0 -38
- package/dist/setup-npx-spec.js.map +1 -1
- package/dist/setup-prompts.d.ts +5 -70
- package/dist/setup-prompts.d.ts.map +1 -1
- package/dist/setup-prompts.js +67 -107
- package/dist/setup-prompts.js.map +1 -1
- package/dist/setup-token.d.ts +0 -34
- package/dist/setup-token.d.ts.map +1 -1
- package/dist/setup-token.js +0 -40
- package/dist/setup-token.js.map +1 -1
- package/dist/setup-wizard-defaults.d.ts +2 -37
- package/dist/setup-wizard-defaults.d.ts.map +1 -1
- package/dist/setup-wizard-defaults.js +28 -93
- package/dist/setup-wizard-defaults.js.map +1 -1
- package/dist/setup-wizard-handshake.d.ts +1 -19
- package/dist/setup-wizard-handshake.d.ts.map +1 -1
- package/dist/setup-wizard-handshake.js +8 -45
- package/dist/setup-wizard-handshake.js.map +1 -1
- package/dist/setup-wizard-types.d.ts +18 -217
- package/dist/setup-wizard-types.d.ts.map +1 -1
- package/dist/setup-wizard-types.js +0 -9
- package/dist/setup-wizard-types.js.map +1 -1
- package/dist/setup-wizard-write-types.d.ts +19 -0
- package/dist/setup-wizard-write-types.d.ts.map +1 -0
- package/dist/setup-wizard-write-types.js +2 -0
- package/dist/setup-wizard-write-types.js.map +1 -0
- package/dist/setup-wizard.d.ts +0 -28
- package/dist/setup-wizard.d.ts.map +1 -1
- package/dist/setup-wizard.js +167 -412
- package/dist/setup-wizard.js.map +1 -1
- package/dist/setup.d.ts +0 -15
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +0 -15
- package/dist/setup.js.map +1 -1
- package/dist/sites/bootstrap.d.ts +0 -38
- package/dist/sites/bootstrap.d.ts.map +1 -1
- package/dist/sites/bootstrap.js +0 -44
- package/dist/sites/bootstrap.js.map +1 -1
- package/dist/sites/cli/add-site.d.ts +0 -76
- package/dist/sites/cli/add-site.d.ts.map +1 -1
- package/dist/sites/cli/add-site.js +0 -71
- package/dist/sites/cli/add-site.js.map +1 -1
- package/dist/sites/cli/list-sites.d.ts +0 -31
- package/dist/sites/cli/list-sites.d.ts.map +1 -1
- package/dist/sites/cli/list-sites.js +0 -45
- package/dist/sites/cli/list-sites.js.map +1 -1
- package/dist/sites/cli/remove-site.d.ts +0 -37
- package/dist/sites/cli/remove-site.d.ts.map +1 -1
- package/dist/sites/cli/remove-site.js +0 -37
- package/dist/sites/cli/remove-site.js.map +1 -1
- package/dist/sites/cli/set-default.d.ts +0 -25
- package/dist/sites/cli/set-default.d.ts.map +1 -1
- package/dist/sites/cli/set-default.js +0 -22
- package/dist/sites/cli/set-default.js.map +1 -1
- package/dist/sites/cli/test-site.d.ts +0 -44
- package/dist/sites/cli/test-site.d.ts.map +1 -1
- package/dist/sites/cli/test-site.js +0 -39
- package/dist/sites/cli/test-site.js.map +1 -1
- package/dist/sites/client-pool.d.ts +11 -164
- package/dist/sites/client-pool.d.ts.map +1 -1
- package/dist/sites/client-pool.js +73 -194
- package/dist/sites/client-pool.js.map +1 -1
- package/dist/sites/config-problem.d.ts +2 -0
- package/dist/sites/config-problem.d.ts.map +1 -0
- package/dist/sites/config-problem.js +13 -0
- package/dist/sites/config-problem.js.map +1 -0
- package/dist/sites/env-bridge.d.ts +0 -69
- package/dist/sites/env-bridge.d.ts.map +1 -1
- package/dist/sites/env-bridge.js +2 -71
- package/dist/sites/env-bridge.js.map +1 -1
- package/dist/sites/op-inject.d.ts +23 -0
- package/dist/sites/op-inject.d.ts.map +1 -0
- package/dist/sites/op-inject.js +131 -0
- package/dist/sites/op-inject.js.map +1 -0
- package/dist/sites/paths.d.ts +0 -19
- package/dist/sites/paths.d.ts.map +1 -1
- package/dist/sites/paths.js +0 -19
- package/dist/sites/paths.js.map +1 -1
- package/dist/sites/probe.d.ts +1 -47
- package/dist/sites/probe.d.ts.map +1 -1
- package/dist/sites/probe.js +4 -46
- package/dist/sites/probe.js.map +1 -1
- package/dist/sites/registry.d.ts +4 -135
- package/dist/sites/registry.d.ts.map +1 -1
- package/dist/sites/registry.js +4 -98
- package/dist/sites/registry.js.map +1 -1
- package/dist/sites/schema.d.ts +3 -51
- package/dist/sites/schema.d.ts.map +1 -1
- package/dist/sites/schema.js +6 -52
- package/dist/sites/schema.js.map +1 -1
- package/dist/sites/secret-resolver.d.ts +6 -76
- package/dist/sites/secret-resolver.d.ts.map +1 -1
- package/dist/sites/secret-resolver.js +39 -104
- package/dist/sites/secret-resolver.js.map +1 -1
- package/dist/sites/store.d.ts +12 -69
- package/dist/sites/store.d.ts.map +1 -1
- package/dist/sites/store.js +37 -86
- package/dist/sites/store.js.map +1 -1
- package/dist/sites/substituted-registry.d.ts +11 -0
- package/dist/sites/substituted-registry.d.ts.map +1 -0
- package/dist/sites/substituted-registry.js +13 -0
- package/dist/sites/substituted-registry.js.map +1 -0
- package/dist/sites/tools/fetch-public-url.d.ts +4 -0
- package/dist/sites/tools/fetch-public-url.d.ts.map +1 -0
- package/dist/sites/tools/fetch-public-url.js +231 -0
- package/dist/sites/tools/fetch-public-url.js.map +1 -0
- package/dist/sites/tools/index.d.ts +2 -26
- package/dist/sites/tools/index.d.ts.map +1 -1
- package/dist/sites/tools/index.js +5 -28
- package/dist/sites/tools/index.js.map +1 -1
- package/dist/sites/tools/sites-list.d.ts +3 -47
- package/dist/sites/tools/sites-list.d.ts.map +1 -1
- package/dist/sites/tools/sites-list.js +65 -79
- package/dist/sites/tools/sites-list.js.map +1 -1
- package/dist/sites/tools/sites-overview.d.ts +4 -0
- package/dist/sites/tools/sites-overview.d.ts.map +1 -0
- package/dist/sites/tools/sites-overview.js +209 -0
- package/dist/sites/tools/sites-overview.js.map +1 -0
- package/dist/sites/tools/sites-test.d.ts +2 -45
- package/dist/sites/tools/sites-test.d.ts.map +1 -1
- package/dist/sites/tools/sites-test.js +2 -56
- package/dist/sites/tools/sites-test.js.map +1 -1
- package/dist/sites/tools/use-site.d.ts +2 -45
- package/dist/sites/tools/use-site.d.ts.map +1 -1
- package/dist/sites/tools/use-site.js +31 -79
- package/dist/sites/tools/use-site.js.map +1 -1
- package/dist/sites/unknown-name-result.d.ts +10 -0
- package/dist/sites/unknown-name-result.d.ts.map +1 -0
- package/dist/sites/unknown-name-result.js +13 -0
- package/dist/sites/unknown-name-result.js.map +1 -0
- package/dist/skill-instructions.d.ts +7 -0
- package/dist/skill-instructions.d.ts.map +1 -0
- package/dist/skill-instructions.js +85 -0
- package/dist/skill-instructions.js.map +1 -0
- package/dist/skill-loader.d.ts +1 -103
- package/dist/skill-loader.d.ts.map +1 -1
- package/dist/skill-loader.js +6 -143
- package/dist/skill-loader.js.map +1 -1
- package/dist/skill-manifest.d.ts +0 -20
- package/dist/skill-manifest.d.ts.map +1 -1
- package/dist/skill-manifest.js +1 -21
- package/dist/skill-manifest.js.map +1 -1
- package/dist/skill-topics.d.ts +19 -0
- package/dist/skill-topics.d.ts.map +1 -0
- package/dist/skill-topics.js +181 -0
- package/dist/skill-topics.js.map +1 -0
- package/dist/tools/active-site.d.ts +16 -0
- package/dist/tools/active-site.d.ts.map +1 -0
- package/dist/tools/active-site.js +55 -0
- package/dist/tools/active-site.js.map +1 -0
- package/dist/tools/bind-guidance.d.ts +2 -72
- package/dist/tools/bind-guidance.d.ts.map +1 -1
- package/dist/tools/bind-guidance.js +2 -72
- package/dist/tools/bind-guidance.js.map +1 -1
- package/dist/tools/budgeted-table.d.ts +14 -19
- package/dist/tools/budgeted-table.d.ts.map +1 -1
- package/dist/tools/budgeted-table.js +171 -105
- package/dist/tools/budgeted-table.js.map +1 -1
- package/dist/tools/elements/bind-output-schema.d.ts +69 -0
- package/dist/tools/elements/bind-output-schema.d.ts.map +1 -0
- package/dist/tools/elements/bind-output-schema.js +64 -0
- package/dist/tools/elements/bind-output-schema.js.map +1 -0
- package/dist/tools/elements/builders.d.ts +1 -22
- package/dist/tools/elements/builders.d.ts.map +1 -1
- package/dist/tools/elements/builders.js +147 -133
- package/dist/tools/elements/builders.js.map +1 -1
- package/dist/tools/elements/index.d.ts +0 -26
- package/dist/tools/elements/index.d.ts.map +1 -1
- package/dist/tools/elements/index.js +0 -25
- package/dist/tools/elements/index.js.map +1 -1
- package/dist/tools/elements/read-output-schemas.d.ts +121 -0
- package/dist/tools/elements/read-output-schemas.d.ts.map +1 -0
- package/dist/tools/elements/read-output-schemas.js +225 -0
- package/dist/tools/elements/read-output-schemas.js.map +1 -0
- package/dist/tools/elements/write-output-schemas.d.ts +185 -0
- package/dist/tools/elements/write-output-schemas.d.ts.map +1 -0
- package/dist/tools/elements/write-output-schemas.js +98 -0
- package/dist/tools/elements/write-output-schemas.js.map +1 -0
- package/dist/tools/elements.d.ts +0 -11
- package/dist/tools/elements.d.ts.map +1 -1
- package/dist/tools/elements.js +0 -11
- package/dist/tools/elements.js.map +1 -1
- package/dist/tools/format/health-format.d.ts +26 -43
- package/dist/tools/format/health-format.d.ts.map +1 -1
- package/dist/tools/format/health-format.js +32 -63
- package/dist/tools/format/health-format.js.map +1 -1
- package/dist/tools/format/inspection-format.d.ts +2 -54
- package/dist/tools/format/inspection-format.d.ts.map +1 -1
- package/dist/tools/format/inspection-format.js +33 -119
- package/dist/tools/format/inspection-format.js.map +1 -1
- package/dist/tools/format/pages-format.d.ts +32 -69
- package/dist/tools/format/pages-format.d.ts.map +1 -1
- package/dist/tools/format/pages-format.js +114 -139
- package/dist/tools/format/pages-format.js.map +1 -1
- package/dist/tools/format/sources-format.d.ts +5 -39
- package/dist/tools/format/sources-format.d.ts.map +1 -1
- package/dist/tools/format/sources-format.js +57 -87
- package/dist/tools/format/sources-format.js.map +1 -1
- package/dist/tools/health-output-schemas.d.ts +84 -0
- package/dist/tools/health-output-schemas.d.ts.map +1 -0
- package/dist/tools/health-output-schemas.js +132 -0
- package/dist/tools/health-output-schemas.js.map +1 -0
- package/dist/tools/health.d.ts +2 -20
- package/dist/tools/health.d.ts.map +1 -1
- package/dist/tools/health.js +47 -233
- package/dist/tools/health.js.map +1 -1
- package/dist/tools/index.d.ts +1 -26
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +12 -39
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/inspection.d.ts +4 -34
- package/dist/tools/inspection.d.ts.map +1 -1
- package/dist/tools/inspection.js +164 -536
- package/dist/tools/inspection.js.map +1 -1
- package/dist/tools/library.d.ts +115 -127
- package/dist/tools/library.d.ts.map +1 -1
- package/dist/tools/library.js +707 -455
- package/dist/tools/library.js.map +1 -1
- package/dist/tools/local-content/builders.d.ts +1 -17
- package/dist/tools/local-content/builders.d.ts.map +1 -1
- package/dist/tools/local-content/builders.js +103 -46
- package/dist/tools/local-content/builders.js.map +1 -1
- package/dist/tools/local-content/index.d.ts +0 -15
- package/dist/tools/local-content/index.d.ts.map +1 -1
- package/dist/tools/local-content/index.js +0 -14
- package/dist/tools/local-content/index.js.map +1 -1
- package/dist/tools/local-content/schemas.d.ts +31 -47
- package/dist/tools/local-content/schemas.d.ts.map +1 -1
- package/dist/tools/local-content/schemas.js +33 -62
- package/dist/tools/local-content/schemas.js.map +1 -1
- package/dist/tools/modules/builders.d.ts +4 -0
- package/dist/tools/modules/builders.d.ts.map +1 -0
- package/dist/tools/modules/builders.js +58 -0
- package/dist/tools/modules/builders.js.map +1 -0
- package/dist/tools/modules/index.d.ts +2 -0
- package/dist/tools/modules/index.d.ts.map +1 -0
- package/dist/tools/modules/index.js +2 -0
- package/dist/tools/modules/index.js.map +1 -0
- package/dist/tools/modules/module-id-schema.d.ts +4 -0
- package/dist/tools/modules/module-id-schema.d.ts.map +1 -0
- package/dist/tools/modules/module-id-schema.js +14 -0
- package/dist/tools/modules/module-id-schema.js.map +1 -0
- package/dist/tools/modules/module-type-fields.d.ts +10 -0
- package/dist/tools/modules/module-type-fields.d.ts.map +1 -0
- package/dist/tools/modules/module-type-fields.js +34 -0
- package/dist/tools/modules/module-type-fields.js.map +1 -0
- package/dist/tools/modules/modules-create.d.ts +59 -0
- package/dist/tools/modules/modules-create.d.ts.map +1 -0
- package/dist/tools/modules/modules-create.js +154 -0
- package/dist/tools/modules/modules-create.js.map +1 -0
- package/dist/tools/modules/modules-delete.d.ts +51 -0
- package/dist/tools/modules/modules-delete.d.ts.map +1 -0
- package/dist/tools/modules/modules-delete.js +180 -0
- package/dist/tools/modules/modules-delete.js.map +1 -0
- package/dist/tools/modules/modules-update.d.ts +43 -0
- package/dist/tools/modules/modules-update.d.ts.map +1 -0
- package/dist/tools/modules/modules-update.js +177 -0
- package/dist/tools/modules/modules-update.js.map +1 -0
- package/dist/tools/modules/placement-hints.d.ts +5 -0
- package/dist/tools/modules/placement-hints.d.ts.map +1 -0
- package/dist/tools/modules/placement-hints.js +90 -0
- package/dist/tools/modules/placement-hints.js.map +1 -0
- package/dist/tools/modules/placement-ways.d.ts +13 -0
- package/dist/tools/modules/placement-ways.d.ts.map +1 -0
- package/dist/tools/modules/placement-ways.js +61 -0
- package/dist/tools/modules/placement-ways.js.map +1 -0
- package/dist/tools/multi-items/builders.d.ts +1 -21
- package/dist/tools/multi-items/builders.d.ts.map +1 -1
- package/dist/tools/multi-items/builders.js +22 -65
- package/dist/tools/multi-items/builders.js.map +1 -1
- package/dist/tools/multi-items/index.d.ts +0 -15
- package/dist/tools/multi-items/index.d.ts.map +1 -1
- package/dist/tools/multi-items/index.js +0 -15
- package/dist/tools/multi-items/index.js.map +1 -1
- package/dist/tools/multi-items/item-container-map.d.ts +0 -35
- package/dist/tools/multi-items/item-container-map.d.ts.map +1 -1
- package/dist/tools/multi-items/item-container-map.js +0 -35
- package/dist/tools/multi-items/item-container-map.js.map +1 -1
- package/dist/tools/multi-items/output-schemas.d.ts +101 -0
- package/dist/tools/multi-items/output-schemas.d.ts.map +1 -0
- package/dist/tools/multi-items/output-schemas.js +74 -0
- package/dist/tools/multi-items/output-schemas.js.map +1 -0
- package/dist/tools/navigation/builders.d.ts +1 -16
- package/dist/tools/navigation/builders.d.ts.map +1 -1
- package/dist/tools/navigation/builders.js +5 -27
- package/dist/tools/navigation/builders.js.map +1 -1
- package/dist/tools/navigation/index.d.ts +0 -13
- package/dist/tools/navigation/index.d.ts.map +1 -1
- package/dist/tools/navigation/index.js +0 -12
- package/dist/tools/navigation/index.js.map +1 -1
- package/dist/tools/navigation/schemas.d.ts +0 -30
- package/dist/tools/navigation/schemas.d.ts.map +1 -1
- package/dist/tools/navigation/schemas.js +0 -30
- package/dist/tools/navigation/schemas.js.map +1 -1
- package/dist/tools/output-schema-metadata.d.ts +5 -0
- package/dist/tools/output-schema-metadata.d.ts.map +1 -0
- package/dist/tools/output-schema-metadata.js +83 -0
- package/dist/tools/output-schema-metadata.js.map +1 -0
- package/dist/tools/pages/builders.d.ts +1 -41
- package/dist/tools/pages/builders.d.ts.map +1 -1
- package/dist/tools/pages/builders.js +320 -405
- package/dist/tools/pages/builders.js.map +1 -1
- package/dist/tools/pages/header-transparency.d.ts +2 -32
- package/dist/tools/pages/header-transparency.d.ts.map +1 -1
- package/dist/tools/pages/header-transparency.js +9 -43
- package/dist/tools/pages/header-transparency.js.map +1 -1
- package/dist/tools/pages/index.d.ts +1 -19
- package/dist/tools/pages/index.d.ts.map +1 -1
- package/dist/tools/pages/index.js +1 -19
- package/dist/tools/pages/index.js.map +1 -1
- package/dist/tools/pages/schemas.d.ts +323 -241
- package/dist/tools/pages/schemas.d.ts.map +1 -1
- package/dist/tools/pages/schemas.js +514 -549
- package/dist/tools/pages/schemas.js.map +1 -1
- package/dist/tools/pages/write-output-schemas.d.ts +139 -0
- package/dist/tools/pages/write-output-schemas.d.ts.map +1 -0
- package/dist/tools/pages/write-output-schemas.js +138 -0
- package/dist/tools/pages/write-output-schemas.js.map +1 -0
- package/dist/tools/pages.d.ts +0 -11
- package/dist/tools/pages.d.ts.map +1 -1
- package/dist/tools/pages.js +0 -11
- package/dist/tools/pages.js.map +1 -1
- package/dist/tools/pool-resolve-helper.d.ts +0 -52
- package/dist/tools/pool-resolve-helper.d.ts.map +1 -1
- package/dist/tools/pool-resolve-helper.js +31 -106
- package/dist/tools/pool-resolve-helper.js.map +1 -1
- package/dist/tools/progress-phases.d.ts +0 -42
- package/dist/tools/progress-phases.d.ts.map +1 -1
- package/dist/tools/progress-phases.js +0 -44
- package/dist/tools/progress-phases.js.map +1 -1
- package/dist/tools/response-budget.d.ts +0 -69
- package/dist/tools/response-budget.d.ts.map +1 -1
- package/dist/tools/response-budget.js +0 -127
- package/dist/tools/response-budget.js.map +1 -1
- package/dist/tools/shared-schemas.d.ts +11 -65
- package/dist/tools/shared-schemas.d.ts.map +1 -1
- package/dist/tools/shared-schemas.js +40 -123
- package/dist/tools/shared-schemas.js.map +1 -1
- package/dist/tools/skill/builders.d.ts +3 -0
- package/dist/tools/skill/builders.d.ts.map +1 -0
- package/dist/tools/skill/builders.js +81 -0
- package/dist/tools/skill/builders.js.map +1 -0
- package/dist/tools/sources/builders.d.ts +1 -11
- package/dist/tools/sources/builders.d.ts.map +1 -1
- package/dist/tools/sources/builders.js +194 -170
- package/dist/tools/sources/builders.js.map +1 -1
- package/dist/tools/sources/index.d.ts +0 -17
- package/dist/tools/sources/index.d.ts.map +1 -1
- package/dist/tools/sources/index.js +0 -16
- package/dist/tools/sources/index.js.map +1 -1
- package/dist/tools/sources/read-output-schemas.d.ts +101 -0
- package/dist/tools/sources/read-output-schemas.d.ts.map +1 -0
- package/dist/tools/sources/read-output-schemas.js +105 -0
- package/dist/tools/sources/read-output-schemas.js.map +1 -0
- package/dist/tools/sources/source-name-argument.d.ts +17 -0
- package/dist/tools/sources/source-name-argument.d.ts.map +1 -0
- package/dist/tools/sources/source-name-argument.js +64 -0
- package/dist/tools/sources/source-name-argument.js.map +1 -0
- package/dist/tools/sources/write-output-schemas.d.ts +100 -0
- package/dist/tools/sources/write-output-schemas.d.ts.map +1 -0
- package/dist/tools/sources/write-output-schemas.js +61 -0
- package/dist/tools/sources/write-output-schemas.js.map +1 -0
- package/dist/tools/sources.d.ts +0 -12
- package/dist/tools/sources.d.ts.map +1 -1
- package/dist/tools/sources.js +0 -12
- package/dist/tools/sources.js.map +1 -1
- package/dist/tools/sparse-fields.d.ts +16 -232
- package/dist/tools/sparse-fields.d.ts.map +1 -1
- package/dist/tools/sparse-fields.js +178 -242
- package/dist/tools/sparse-fields.js.map +1 -1
- package/dist/tools/strict-input.d.ts +5 -0
- package/dist/tools/strict-input.d.ts.map +1 -0
- package/dist/tools/strict-input.js +55 -0
- package/dist/tools/strict-input.js.map +1 -0
- package/dist/tools/sublayout/builders.d.ts +1 -21
- package/dist/tools/sublayout/builders.d.ts.map +1 -1
- package/dist/tools/sublayout/builders.js +10 -39
- package/dist/tools/sublayout/builders.js.map +1 -1
- package/dist/tools/sublayout/index.d.ts +1 -11
- package/dist/tools/sublayout/index.d.ts.map +1 -1
- package/dist/tools/sublayout/index.js +1 -11
- package/dist/tools/sublayout/index.js.map +1 -1
- package/dist/tools/sublayout/output-schemas.d.ts +57 -0
- package/dist/tools/sublayout/output-schemas.d.ts.map +1 -0
- package/dist/tools/sublayout/output-schemas.js +51 -0
- package/dist/tools/sublayout/output-schemas.js.map +1 -0
- package/dist/tools/tool-builder/annotations.d.ts +1 -49
- package/dist/tools/tool-builder/annotations.d.ts.map +1 -1
- package/dist/tools/tool-builder/annotations.js +9 -49
- package/dist/tools/tool-builder/annotations.js.map +1 -1
- package/dist/tools/tool-builder/confirm-preview.d.ts +24 -0
- package/dist/tools/tool-builder/confirm-preview.d.ts.map +1 -0
- package/dist/tools/tool-builder/confirm-preview.js +37 -0
- package/dist/tools/tool-builder/confirm-preview.js.map +1 -0
- package/dist/tools/tool-builder/define.d.ts +6 -26
- package/dist/tools/tool-builder/define.d.ts.map +1 -1
- package/dist/tools/tool-builder/define.js +0 -25
- package/dist/tools/tool-builder/define.js.map +1 -1
- package/dist/tools/tool-builder/index.d.ts +3 -26
- package/dist/tools/tool-builder/index.d.ts.map +1 -1
- package/dist/tools/tool-builder/index.js +2 -25
- package/dist/tools/tool-builder/index.js.map +1 -1
- package/dist/tools/tool-builder/results.d.ts +4 -124
- package/dist/tools/tool-builder/results.d.ts.map +1 -1
- package/dist/tools/tool-builder/results.js +258 -263
- package/dist/tools/tool-builder/results.js.map +1 -1
- package/dist/tools/tool-builder/types.d.ts +5 -59
- package/dist/tools/tool-builder/types.d.ts.map +1 -1
- package/dist/tools/tool-builder/types.js +0 -7
- package/dist/tools/tool-builder/types.js.map +1 -1
- package/dist/tools/tool-builder.d.ts +0 -14
- package/dist/tools/tool-builder.d.ts.map +1 -1
- package/dist/tools/tool-builder.js +0 -14
- package/dist/tools/tool-builder.js.map +1 -1
- package/dist/uninstall-skill.d.ts +0 -41
- package/dist/uninstall-skill.d.ts.map +1 -1
- package/dist/uninstall-skill.js +3 -50
- package/dist/uninstall-skill.js.map +1 -1
- package/dist/uninstall.d.ts +0 -41
- package/dist/uninstall.d.ts.map +1 -1
- package/dist/uninstall.js +1 -29
- package/dist/uninstall.js.map +1 -1
- package/dist/update/update-check.d.ts +0 -26
- package/dist/update/update-check.d.ts.map +1 -1
- package/dist/update/update-check.js +0 -25
- package/dist/update/update-check.js.map +1 -1
- package/manifest.json +7 -12
- package/package.json +6 -11
- package/skills/yt-builder-mcp/SKILL.md +1871 -414
- package/dist/tools/elements/handlers-write.d.ts +0 -89
- package/dist/tools/elements/handlers-write.d.ts.map +0 -1
- package/dist/tools/elements/handlers-write.js +0 -797
- package/dist/tools/elements/handlers-write.js.map +0 -1
- package/dist/tools/elements/handlers.d.ts +0 -130
- package/dist/tools/elements/handlers.d.ts.map +0 -1
- package/dist/tools/elements/handlers.js +0 -581
- package/dist/tools/elements/handlers.js.map +0 -1
- package/dist/tools/elements/layout-hierarchy-rules.d.ts +0 -62
- package/dist/tools/elements/layout-hierarchy-rules.d.ts.map +0 -1
- package/dist/tools/elements/layout-hierarchy-rules.js +0 -154
- package/dist/tools/elements/layout-hierarchy-rules.js.map +0 -1
- package/dist/tools/elements/schema-validation.d.ts +0 -218
- package/dist/tools/elements/schema-validation.d.ts.map +0 -1
- package/dist/tools/elements/schema-validation.js +0 -685
- package/dist/tools/elements/schema-validation.js.map +0 -1
- package/dist/tools/elicitation.d.ts +0 -87
- package/dist/tools/elicitation.d.ts.map +0 -1
- package/dist/tools/elicitation.js +0 -100
- package/dist/tools/elicitation.js.map +0 -1
- package/dist/tools/format/elements-format.d.ts +0 -75
- package/dist/tools/format/elements-format.d.ts.map +0 -1
- package/dist/tools/format/elements-format.js +0 -368
- package/dist/tools/format/elements-format.js.map +0 -1
- package/dist/tools/format/source-schema-format.d.ts +0 -74
- package/dist/tools/format/source-schema-format.d.ts.map +0 -1
- package/dist/tools/format/source-schema-format.js +0 -208
- package/dist/tools/format/source-schema-format.js.map +0 -1
- package/dist/tools/layout-flatten.d.ts +0 -84
- package/dist/tools/layout-flatten.d.ts.map +0 -1
- package/dist/tools/layout-flatten.js +0 -129
- package/dist/tools/layout-flatten.js.map +0 -1
- package/dist/tools/local-content/handlers.d.ts +0 -56
- package/dist/tools/local-content/handlers.d.ts.map +0 -1
- package/dist/tools/local-content/handlers.js +0 -320
- package/dist/tools/local-content/handlers.js.map +0 -1
- package/dist/tools/multi-items/clean-implode-handler.d.ts +0 -37
- package/dist/tools/multi-items/clean-implode-handler.d.ts.map +0 -1
- package/dist/tools/multi-items/clean-implode-handler.js +0 -65
- package/dist/tools/multi-items/clean-implode-handler.js.map +0 -1
- package/dist/tools/multi-items/format/inspection-format.d.ts +0 -41
- package/dist/tools/multi-items/format/inspection-format.d.ts.map +0 -1
- package/dist/tools/multi-items/format/inspection-format.js +0 -64
- package/dist/tools/multi-items/format/inspection-format.js.map +0 -1
- package/dist/tools/multi-items/inspect-handler.d.ts +0 -97
- package/dist/tools/multi-items/inspect-handler.d.ts.map +0 -1
- package/dist/tools/multi-items/inspect-handler.js +0 -323
- package/dist/tools/multi-items/inspect-handler.js.map +0 -1
- package/dist/tools/multi-items/inspection-cache.d.ts +0 -85
- package/dist/tools/multi-items/inspection-cache.d.ts.map +0 -1
- package/dist/tools/multi-items/inspection-cache.js +0 -126
- package/dist/tools/multi-items/inspection-cache.js.map +0 -1
- package/dist/tools/navigation/handlers.d.ts +0 -30
- package/dist/tools/navigation/handlers.d.ts.map +0 -1
- package/dist/tools/navigation/handlers.js +0 -41
- package/dist/tools/navigation/handlers.js.map +0 -1
- package/dist/tools/pages/handlers-audit.d.ts +0 -140
- package/dist/tools/pages/handlers-audit.d.ts.map +0 -1
- package/dist/tools/pages/handlers-audit.js +0 -714
- package/dist/tools/pages/handlers-audit.js.map +0 -1
- package/dist/tools/pages/handlers-read.d.ts +0 -133
- package/dist/tools/pages/handlers-read.d.ts.map +0 -1
- package/dist/tools/pages/handlers-read.js +0 -1061
- package/dist/tools/pages/handlers-read.js.map +0 -1
- package/dist/tools/pages/handlers-write.d.ts +0 -212
- package/dist/tools/pages/handlers-write.d.ts.map +0 -1
- package/dist/tools/pages/handlers-write.js +0 -419
- package/dist/tools/pages/handlers-write.js.map +0 -1
- package/dist/tools/pages/target.d.ts +0 -162
- package/dist/tools/pages/target.d.ts.map +0 -1
- package/dist/tools/pages/target.js +0 -239
- package/dist/tools/pages/target.js.map +0 -1
- package/dist/tools/sources/handlers-bind.d.ts +0 -148
- package/dist/tools/sources/handlers-bind.d.ts.map +0 -1
- package/dist/tools/sources/handlers-bind.js +0 -657
- package/dist/tools/sources/handlers-bind.js.map +0 -1
- package/dist/tools/sources/handlers.d.ts +0 -116
- package/dist/tools/sources/handlers.d.ts.map +0 -1
- package/dist/tools/sources/handlers.js +0 -289
- package/dist/tools/sources/handlers.js.map +0 -1
- package/dist/tools/sublayout/inspect-sublayout-handler.d.ts +0 -95
- package/dist/tools/sublayout/inspect-sublayout-handler.d.ts.map +0 -1
- package/dist/tools/sublayout/inspect-sublayout-handler.js +0 -181
- package/dist/tools/sublayout/inspect-sublayout-handler.js.map +0 -1
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `clean_implode_directives` handler — strip `props.source.props.*.implode`
|
|
3
|
-
* directives from an element binding via REST round-trip.
|
|
4
|
-
*
|
|
5
|
-
* Wave H5 (2026-05-26): destructive confirm-guard. The tool is now
|
|
6
|
-
* registered with `destructive()` annotation (was `mutating()`); per the
|
|
7
|
-
* MCP Goldstandard, every destructive tool MUST also expose a `confirm`
|
|
8
|
-
* input field + preview guard so an auto-acting agent cannot strip
|
|
9
|
-
* implode directives from a binding without an explicit second gate.
|
|
10
|
-
* Mirrors the `element_delete` pattern (handlers-write.ts).
|
|
11
|
-
*
|
|
12
|
-
* @license MIT
|
|
13
|
-
*/
|
|
14
|
-
import { z } from 'zod';
|
|
15
|
-
import { type RestClient } from '../../client.js';
|
|
16
|
-
import { type ToolResult } from '../tool-builder.js';
|
|
17
|
-
export declare const CLEAN_IMPLODE_OUTPUT_SCHEMA: z.ZodObject<{
|
|
18
|
-
template_id: z.ZodString;
|
|
19
|
-
element_path: z.ZodString;
|
|
20
|
-
cleaned_count: z.ZodNumber;
|
|
21
|
-
removed_directives: z.ZodArray<z.ZodObject<{
|
|
22
|
-
prop_name: z.ZodString;
|
|
23
|
-
directive: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
24
|
-
}, z.core.$strip>>;
|
|
25
|
-
new_etag: z.ZodOptional<z.ZodString>;
|
|
26
|
-
changed_paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
27
|
-
}, z.core.$strip>;
|
|
28
|
-
export interface CleanImplodeHandlerDeps {
|
|
29
|
-
readonly client: RestClient;
|
|
30
|
-
}
|
|
31
|
-
export declare function handleCleanImplodeDirectives({ client }: CleanImplodeHandlerDeps, { template_id, element_path, etag, confirm, }: {
|
|
32
|
-
template_id: string;
|
|
33
|
-
element_path: string;
|
|
34
|
-
etag: string;
|
|
35
|
-
confirm?: boolean;
|
|
36
|
-
}): Promise<ToolResult>;
|
|
37
|
-
//# sourceMappingURL=clean-implode-handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clean-implode-handler.d.ts","sourceRoot":"","sources":["../../../src/tools/multi-items/clean-implode-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAKH,KAAK,UAAU,EAClB,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,2BAA2B;;;;;;;;;;iBAmBtC,CAAC;AAEH,MAAM,WAAW,uBAAuB;IACpC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC/B;AAED,wBAAsB,4BAA4B,CAC9C,EAAE,MAAM,EAAE,EAAE,uBAAuB,EACnC,EACI,WAAW,EACX,YAAY,EACZ,IAAI,EACJ,OAAO,GACV,EAAE;IACC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,GACF,OAAO,CAAC,UAAU,CAAC,CAgCrB"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `clean_implode_directives` handler — strip `props.source.props.*.implode`
|
|
3
|
-
* directives from an element binding via REST round-trip.
|
|
4
|
-
*
|
|
5
|
-
* Wave H5 (2026-05-26): destructive confirm-guard. The tool is now
|
|
6
|
-
* registered with `destructive()` annotation (was `mutating()`); per the
|
|
7
|
-
* MCP Goldstandard, every destructive tool MUST also expose a `confirm`
|
|
8
|
-
* input field + preview guard so an auto-acting agent cannot strip
|
|
9
|
-
* implode directives from a binding without an explicit second gate.
|
|
10
|
-
* Mirrors the `element_delete` pattern (handlers-write.ts).
|
|
11
|
-
*
|
|
12
|
-
* @license MIT
|
|
13
|
-
*/
|
|
14
|
-
import { z } from 'zod';
|
|
15
|
-
import { encodeElementPath, encodeTemplateId } from '../../client.js';
|
|
16
|
-
import { confirmGuard, errorResult, jsonResult, structuredResult, } from '../tool-builder.js';
|
|
17
|
-
export const CLEAN_IMPLODE_OUTPUT_SCHEMA = z.object({
|
|
18
|
-
template_id: z.string(),
|
|
19
|
-
element_path: z.string(),
|
|
20
|
-
cleaned_count: z.number(),
|
|
21
|
-
removed_directives: z.array(z.object({
|
|
22
|
-
prop_name: z.string(),
|
|
23
|
-
directive: z.record(z.string(), z.unknown()),
|
|
24
|
-
})),
|
|
25
|
-
// G2 / C0 (changed-path-on-write): the PHP success body appends the
|
|
26
|
-
// post-write etag + the JSON-Pointer / template-id path(s) it touched.
|
|
27
|
-
// handleCleanImplodeDirectives forwards the body VERBATIM via
|
|
28
|
-
// structuredResult, so these MUST be declared here — the host validates
|
|
29
|
-
// structuredContent under additionalProperties:false and a SUCCESS would
|
|
30
|
-
// otherwise trip -32602. Optional for back-compat. Mirrors
|
|
31
|
-
// PAGES_DELETE_OUTPUT_SCHEMA (pages/schemas.ts).
|
|
32
|
-
new_etag: z.string().optional(),
|
|
33
|
-
changed_paths: z.array(z.string()).optional(),
|
|
34
|
-
});
|
|
35
|
-
export async function handleCleanImplodeDirectives({ client }, { template_id, element_path, etag, confirm, }) {
|
|
36
|
-
// Wave H5 confirm-guard. Without `confirm: true` we return a preview
|
|
37
|
-
// payload and make NO HTTP call. The preview surfaces enough context
|
|
38
|
-
// (template + element_path + operation) for the host agent to ask the
|
|
39
|
-
// user to confirm. Symmetric with `element_delete` / `element_unbind_source`.
|
|
40
|
-
if (confirm !== true) {
|
|
41
|
-
return confirmGuard({
|
|
42
|
-
operation: 'strip implode directives from element binding',
|
|
43
|
-
details: { template_id, element_path },
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
const encoded = encodeElementPath(element_path);
|
|
47
|
-
try {
|
|
48
|
-
const data = await client.post(`/pages/${encodeTemplateId(template_id)}/elements/${encoded}/multi-items/clean-implode`, { body: {}, etag });
|
|
49
|
-
// The REST endpoint returns the canonical CLEAN_IMPLODE_OUTPUT_SCHEMA
|
|
50
|
-
// shape ({template_id, element_path, cleaned_count, removed_directives,
|
|
51
|
-
// new_etag}) — pass it through as structuredContent so the declared
|
|
52
|
-
// outputSchema is satisfied (a tool with an outputSchema MUST emit
|
|
53
|
-
// structuredContent, else the MCP SDK rejects with -32602).
|
|
54
|
-
return structuredResult(jsonResult(data), data);
|
|
55
|
-
}
|
|
56
|
-
catch (e) {
|
|
57
|
-
return errorResult({
|
|
58
|
-
error: e,
|
|
59
|
-
context: { template_id, element_path },
|
|
60
|
-
hint: 'On 412 refresh via yootheme_builder_get_etag and retry. On 404 verify the ' +
|
|
61
|
-
'element_path via yootheme_builder_element_list.',
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=clean-implode-handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clean-implode-handler.js","sourceRoot":"","sources":["../../../src/tools/multi-items/clean-implode-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAmB,MAAM,iBAAiB,CAAC;AACvF,OAAO,EACH,YAAY,EACZ,WAAW,EACX,UAAU,EACV,gBAAgB,GAEnB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,kBAAkB,EAAE,CAAC,CAAC,KAAK,CACvB,CAAC,CAAC,MAAM,CAAC;QACL,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;KAC/C,CAAC,CACL;IACD,oEAAoE;IACpE,uEAAuE;IACvE,8DAA8D;IAC9D,wEAAwE;IACxE,yEAAyE;IACzE,2DAA2D;IAC3D,iDAAiD;IACjD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAChD,CAAC,CAAC;AAMH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAC9C,EAAE,MAAM,EAA2B,EACnC,EACI,WAAW,EACX,YAAY,EACZ,IAAI,EACJ,OAAO,GAMV;IAED,qEAAqE;IACrE,qEAAqE;IACrE,sEAAsE;IACtE,8EAA8E;IAC9E,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,YAAY,CAAC;YAChB,SAAS,EAAE,+CAA+C;YAC1D,OAAO,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE;SACzC,CAAC,CAAC;IACP,CAAC;IACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAChD,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAC1B,UAAU,gBAAgB,CAAC,WAAW,CAAC,aAAa,OAAO,4BAA4B,EACvF,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CACrB,CAAC;QACF,sEAAsE;QACtE,wEAAwE;QACxE,oEAAoE;QACpE,mEAAmE;QACnE,4DAA4D;QAC5D,OAAO,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,WAAW,CAAC;YACf,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE;YACtC,IAAI,EACA,4EAA4E;gBAC5E,iDAAiD;SACxD,CAAC,CAAC;IACP,CAAC;AACL,CAAC"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Multi-Items inspection format-sidecar.
|
|
3
|
-
*
|
|
4
|
-
* Wave-16 #34 (6.1): the `inspect_multi_items_binding` report is passed
|
|
5
|
-
* through verbatim to `structuredContent` (which must stay schema-pure),
|
|
6
|
-
* but the human-readable text leg is serialized from the same payload.
|
|
7
|
-
* A deeply-nested report (e.g. a fully-qualified element subtree under
|
|
8
|
-
* `props` / `minimal_layout`, or a future `children` array) would balloon
|
|
9
|
-
* that text leg without bound. `capInspectionDepth` walks the value and
|
|
10
|
-
* truncates any object/array whose depth exceeds the cap, replacing it
|
|
11
|
-
* with an `…and N more` marker so the agent still sees that the subtree
|
|
12
|
-
* was elided rather than silently dropped.
|
|
13
|
-
*
|
|
14
|
-
* Pure / stateless. `structuredContent` is never passed through this —
|
|
15
|
-
* only the text-render copy — so output-schema validation is unaffected.
|
|
16
|
-
*
|
|
17
|
-
* @license MIT
|
|
18
|
-
*/
|
|
19
|
-
/**
|
|
20
|
-
* Default recursion cap for the inspect text render. Objects/arrays at a
|
|
21
|
-
* depth strictly greater than this are collapsed to the `…and N more`
|
|
22
|
-
* marker. The root value sits at depth 0.
|
|
23
|
-
*/
|
|
24
|
-
export declare const MAX_INSPECTION_DEPTH = 3;
|
|
25
|
-
/**
|
|
26
|
-
* Recursively cap the depth of a JSON-serializable value.
|
|
27
|
-
*
|
|
28
|
-
* - Primitives (string / number / boolean / null / undefined) pass
|
|
29
|
-
* through untouched at any depth.
|
|
30
|
-
* - An object or array sitting AT `maxDepth` is replaced by the
|
|
31
|
-
* `…and N more` marker (N = its immediate child count) instead of
|
|
32
|
-
* recursing further.
|
|
33
|
-
* - Otherwise the container is rebuilt with each child capped at
|
|
34
|
-
* `depth + 1`.
|
|
35
|
-
*
|
|
36
|
-
* @param value the value to cap.
|
|
37
|
-
* @param maxDepth recursion cap (defaults to {@link MAX_INSPECTION_DEPTH}).
|
|
38
|
-
* @param depth current depth (internal; callers omit it).
|
|
39
|
-
*/
|
|
40
|
-
export declare function capInspectionDepth(value: unknown, maxDepth?: number, depth?: number): unknown;
|
|
41
|
-
//# sourceMappingURL=inspection-format.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inspection-format.d.ts","sourceRoot":"","sources":["../../../../src/tools/multi-items/format/inspection-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAYtC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAC9B,KAAK,EAAE,OAAO,EACd,QAAQ,GAAE,MAA6B,EACvC,KAAK,SAAI,GACV,OAAO,CAeT"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Multi-Items inspection format-sidecar.
|
|
3
|
-
*
|
|
4
|
-
* Wave-16 #34 (6.1): the `inspect_multi_items_binding` report is passed
|
|
5
|
-
* through verbatim to `structuredContent` (which must stay schema-pure),
|
|
6
|
-
* but the human-readable text leg is serialized from the same payload.
|
|
7
|
-
* A deeply-nested report (e.g. a fully-qualified element subtree under
|
|
8
|
-
* `props` / `minimal_layout`, or a future `children` array) would balloon
|
|
9
|
-
* that text leg without bound. `capInspectionDepth` walks the value and
|
|
10
|
-
* truncates any object/array whose depth exceeds the cap, replacing it
|
|
11
|
-
* with an `…and N more` marker so the agent still sees that the subtree
|
|
12
|
-
* was elided rather than silently dropped.
|
|
13
|
-
*
|
|
14
|
-
* Pure / stateless. `structuredContent` is never passed through this —
|
|
15
|
-
* only the text-render copy — so output-schema validation is unaffected.
|
|
16
|
-
*
|
|
17
|
-
* @license MIT
|
|
18
|
-
*/
|
|
19
|
-
/**
|
|
20
|
-
* Default recursion cap for the inspect text render. Objects/arrays at a
|
|
21
|
-
* depth strictly greater than this are collapsed to the `…and N more`
|
|
22
|
-
* marker. The root value sits at depth 0.
|
|
23
|
-
*/
|
|
24
|
-
export const MAX_INSPECTION_DEPTH = 3;
|
|
25
|
-
/** Render the marker that replaces a truncated subtree. */
|
|
26
|
-
function truncationMarker(childCount, maxDepth) {
|
|
27
|
-
return `…and ${String(childCount)} more (truncated at depth ${String(maxDepth)})`;
|
|
28
|
-
}
|
|
29
|
-
/** Number of immediate children an object/array exposes. */
|
|
30
|
-
function childCountOf(value) {
|
|
31
|
-
return Array.isArray(value) ? value.length : Object.keys(value).length;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Recursively cap the depth of a JSON-serializable value.
|
|
35
|
-
*
|
|
36
|
-
* - Primitives (string / number / boolean / null / undefined) pass
|
|
37
|
-
* through untouched at any depth.
|
|
38
|
-
* - An object or array sitting AT `maxDepth` is replaced by the
|
|
39
|
-
* `…and N more` marker (N = its immediate child count) instead of
|
|
40
|
-
* recursing further.
|
|
41
|
-
* - Otherwise the container is rebuilt with each child capped at
|
|
42
|
-
* `depth + 1`.
|
|
43
|
-
*
|
|
44
|
-
* @param value the value to cap.
|
|
45
|
-
* @param maxDepth recursion cap (defaults to {@link MAX_INSPECTION_DEPTH}).
|
|
46
|
-
* @param depth current depth (internal; callers omit it).
|
|
47
|
-
*/
|
|
48
|
-
export function capInspectionDepth(value, maxDepth = MAX_INSPECTION_DEPTH, depth = 0) {
|
|
49
|
-
if (value === null || typeof value !== 'object') {
|
|
50
|
-
return value;
|
|
51
|
-
}
|
|
52
|
-
if (depth >= maxDepth) {
|
|
53
|
-
return truncationMarker(childCountOf(value), maxDepth);
|
|
54
|
-
}
|
|
55
|
-
if (Array.isArray(value)) {
|
|
56
|
-
return value.map((item) => capInspectionDepth(item, maxDepth, depth + 1));
|
|
57
|
-
}
|
|
58
|
-
const out = {};
|
|
59
|
-
for (const [key, child] of Object.entries(value)) {
|
|
60
|
-
out[key] = capInspectionDepth(child, maxDepth, depth + 1);
|
|
61
|
-
}
|
|
62
|
-
return out;
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=inspection-format.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inspection-format.js","sourceRoot":"","sources":["../../../../src/tools/multi-items/format/inspection-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC,2DAA2D;AAC3D,SAAS,gBAAgB,CAAC,UAAkB,EAAE,QAAgB;IAC1D,OAAO,QAAQ,MAAM,CAAC,UAAU,CAAC,6BAA6B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;AACtF,CAAC;AAED,4DAA4D;AAC5D,SAAS,YAAY,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;AAC3E,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAC9B,KAAc,EACd,WAAmB,oBAAoB,EACvC,KAAK,GAAG,CAAC;IAET,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;QACpB,OAAO,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC"}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `inspect_multi_items_binding` handler — surfaces Multi-Items binding
|
|
3
|
-
* state on an element via REST round-trip.
|
|
4
|
-
*
|
|
5
|
-
* Companion of the PHP `MultiItemsInspector` — see
|
|
6
|
-
* src/modules/builder-source-binding/src/MultiItemsInspector.php
|
|
7
|
-
* for the report shape.
|
|
8
|
-
*
|
|
9
|
-
* Wave-16 #34:
|
|
10
|
-
* - 6.1 depth-cap: the human-readable text leg is capped at
|
|
11
|
-
* {@link MAX_INSPECTION_DEPTH}; structuredContent stays verbatim so
|
|
12
|
-
* it keeps validating against the output schema.
|
|
13
|
-
* - 6.4 severity marker: the response carries a typed `hint.severity`
|
|
14
|
-
* ("advisory" | "blocking") so the agent can tell a structural
|
|
15
|
-
* container-level binding bug apart from informational guidance.
|
|
16
|
-
*
|
|
17
|
-
* @license MIT
|
|
18
|
-
*/
|
|
19
|
-
import { z } from 'zod';
|
|
20
|
-
import { type RestClient } from '../../client.js';
|
|
21
|
-
import { type ToolResult } from '../tool-builder.js';
|
|
22
|
-
import { InspectionCache } from './inspection-cache.js';
|
|
23
|
-
/**
|
|
24
|
-
* Severity of the advisory hint the inspector attaches to every report.
|
|
25
|
-
* `blocking` means the binding is structurally wrong (sits on the
|
|
26
|
-
* container instead of the `*_item` child) and the rendered output will
|
|
27
|
-
* be broken until fixed; `advisory` is informational guidance.
|
|
28
|
-
*/
|
|
29
|
-
export type HintSeverity = 'advisory' | 'blocking';
|
|
30
|
-
export declare const INSPECT_MULTI_ITEMS_OUTPUT_SCHEMA: z.ZodObject<{
|
|
31
|
-
template_id: z.ZodString;
|
|
32
|
-
report: z.ZodObject<{
|
|
33
|
-
element_path: z.ZodString;
|
|
34
|
-
element_type: z.ZodString;
|
|
35
|
-
is_container: z.ZodBoolean;
|
|
36
|
-
is_item: z.ZodBoolean;
|
|
37
|
-
container_type: z.ZodNullable<z.ZodString>;
|
|
38
|
-
item_type: z.ZodNullable<z.ZodString>;
|
|
39
|
-
current_binding_level: z.ZodEnum<{
|
|
40
|
-
container: "container";
|
|
41
|
-
item: "item";
|
|
42
|
-
none: "none";
|
|
43
|
-
}>;
|
|
44
|
-
item_child_binding_level: z.ZodOptional<z.ZodEnum<{
|
|
45
|
-
item: "item";
|
|
46
|
-
none: "none";
|
|
47
|
-
}>>;
|
|
48
|
-
is_bound: z.ZodOptional<z.ZodBoolean>;
|
|
49
|
-
has_implode_directives: z.ZodBoolean;
|
|
50
|
-
bound_source_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
51
|
-
bound_source_exists: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
52
|
-
source_missing_warning: z.ZodOptional<z.ZodString>;
|
|
53
|
-
map_location_missing: z.ZodOptional<z.ZodBoolean>;
|
|
54
|
-
field_mapping_count: z.ZodOptional<z.ZodNumber>;
|
|
55
|
-
zero_field_mappings: z.ZodOptional<z.ZodBoolean>;
|
|
56
|
-
iterator_is_leaf_renderer: z.ZodOptional<z.ZodBoolean>;
|
|
57
|
-
relation_native_binding: z.ZodOptional<z.ZodBoolean>;
|
|
58
|
-
archive_context: z.ZodOptional<z.ZodObject<{
|
|
59
|
-
query_name: z.ZodString;
|
|
60
|
-
relation: z.ZodString;
|
|
61
|
-
relation_field: z.ZodString;
|
|
62
|
-
current_term_arg: z.ZodString;
|
|
63
|
-
current_term: z.ZodNumber;
|
|
64
|
-
}, z.core.$strip>>;
|
|
65
|
-
map_location_warning: z.ZodOptional<z.ZodString>;
|
|
66
|
-
warning: z.ZodOptional<z.ZodString>;
|
|
67
|
-
recommended_fix: z.ZodOptional<z.ZodString>;
|
|
68
|
-
}, z.core.$strip>;
|
|
69
|
-
etag: z.ZodString;
|
|
70
|
-
hint: z.ZodOptional<z.ZodObject<{
|
|
71
|
-
severity: z.ZodEnum<{
|
|
72
|
-
advisory: "advisory";
|
|
73
|
-
blocking: "blocking";
|
|
74
|
-
}>;
|
|
75
|
-
message: z.ZodString;
|
|
76
|
-
}, z.core.$strip>>;
|
|
77
|
-
}, z.core.$strip>;
|
|
78
|
-
/** The structured inspect payload the handler caches + emits. */
|
|
79
|
-
type InspectStructured = Record<string, unknown>;
|
|
80
|
-
export interface MultiItemsHandlerDeps {
|
|
81
|
-
readonly client: RestClient;
|
|
82
|
-
/**
|
|
83
|
-
* 6.2 — optional inspection cache. When provided, the handler keys
|
|
84
|
-
* results on (template_id, element_path, global-etag) with a 60s TTL.
|
|
85
|
-
* The builder injects one shared instance so repeat inspects within
|
|
86
|
-
* the TTL skip the REST round-trip; a write bumps the global etag and
|
|
87
|
-
* naturally invalidates the entry. Omit it to disable caching (e.g.
|
|
88
|
-
* the cold-AI shape-pin tests that assert the raw round-trip).
|
|
89
|
-
*/
|
|
90
|
-
readonly cache?: InspectionCache<InspectStructured>;
|
|
91
|
-
}
|
|
92
|
-
export declare function handleInspectMultiItemsBinding({ client, cache }: MultiItemsHandlerDeps, { template_id, element_path }: {
|
|
93
|
-
template_id: string;
|
|
94
|
-
element_path: string;
|
|
95
|
-
}): Promise<ToolResult>;
|
|
96
|
-
export {};
|
|
97
|
-
//# sourceMappingURL=inspect-handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inspect-handler.d.ts","sourceRoot":"","sources":["../../../src/tools/multi-items/inspect-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAA6C,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhG,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,CAAC;AAEnD,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyE5C,CAAC;AAEH,iEAAiE;AACjE,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;CACvD;AAgPD,wBAAsB,8BAA8B,CAChD,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,qBAAqB,EACxC,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAC7E,OAAO,CAAC,UAAU,CAAC,CAwCrB"}
|
|
@@ -1,323 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `inspect_multi_items_binding` handler — surfaces Multi-Items binding
|
|
3
|
-
* state on an element via REST round-trip.
|
|
4
|
-
*
|
|
5
|
-
* Companion of the PHP `MultiItemsInspector` — see
|
|
6
|
-
* src/modules/builder-source-binding/src/MultiItemsInspector.php
|
|
7
|
-
* for the report shape.
|
|
8
|
-
*
|
|
9
|
-
* Wave-16 #34:
|
|
10
|
-
* - 6.1 depth-cap: the human-readable text leg is capped at
|
|
11
|
-
* {@link MAX_INSPECTION_DEPTH}; structuredContent stays verbatim so
|
|
12
|
-
* it keeps validating against the output schema.
|
|
13
|
-
* - 6.4 severity marker: the response carries a typed `hint.severity`
|
|
14
|
-
* ("advisory" | "blocking") so the agent can tell a structural
|
|
15
|
-
* container-level binding bug apart from informational guidance.
|
|
16
|
-
*
|
|
17
|
-
* @license MIT
|
|
18
|
-
*/
|
|
19
|
-
import { z } from 'zod';
|
|
20
|
-
import { encodeElementPath, encodeTemplateId } from '../../client.js';
|
|
21
|
-
import { errorResult, jsonResult, structuredResult } from '../tool-builder.js';
|
|
22
|
-
import { capInspectionDepth } from './format/inspection-format.js';
|
|
23
|
-
export const INSPECT_MULTI_ITEMS_OUTPUT_SCHEMA = z.object({
|
|
24
|
-
template_id: z.string(),
|
|
25
|
-
report: z.object({
|
|
26
|
-
element_path: z.string(),
|
|
27
|
-
element_type: z.string(),
|
|
28
|
-
is_container: z.boolean(),
|
|
29
|
-
is_item: z.boolean(),
|
|
30
|
-
container_type: z.string().nullable(),
|
|
31
|
-
item_type: z.string().nullable(),
|
|
32
|
-
current_binding_level: z.enum(['none', 'container', 'item']),
|
|
33
|
-
// C7 (2026-06-10) — binding level of the container's first `*_item`
|
|
34
|
-
// child. Optional so a pre-C7 backend's report still validates.
|
|
35
|
-
item_child_binding_level: z.enum(['none', 'item']).optional(),
|
|
36
|
-
// C7 — single honest "is anything bound (here or on the item child)"
|
|
37
|
-
// signal. Optional for back-compat with pre-C7 reports.
|
|
38
|
-
is_bound: z.boolean().optional(),
|
|
39
|
-
has_implode_directives: z.boolean(),
|
|
40
|
-
// C7 — bound source name + live-registry existence cross-check.
|
|
41
|
-
// `bound_source_exists` is null when the registry is not wired.
|
|
42
|
-
bound_source_name: z.string().nullable().optional(),
|
|
43
|
-
bound_source_exists: z.boolean().nullable().optional(),
|
|
44
|
-
source_missing_warning: z.string().optional(),
|
|
45
|
-
// F143 — true when a bound map_item/map carries no resolved
|
|
46
|
-
// `location` leaf (the map renders 0 markers). Optional so reports
|
|
47
|
-
// for non-map elements (and pre-F143 backends) still validate.
|
|
48
|
-
map_location_missing: z.boolean().optional(),
|
|
49
|
-
// F174 — number of field mappings on the bound node (0 when unbound /
|
|
50
|
-
// mapping-less). Optional so a pre-F174 backend's report still validates.
|
|
51
|
-
field_mapping_count: z.number().int().nonnegative().optional(),
|
|
52
|
-
// F174 — true when the element IS bound but carries 0 field mappings
|
|
53
|
-
// (the N clones render only the template's static placeholder text).
|
|
54
|
-
// Optional for back-compat with pre-F174 reports.
|
|
55
|
-
zero_field_mappings: z.boolean().optional(),
|
|
56
|
-
// F189 — true when a `…List` source sits on a LEAF renderer (grid_item /
|
|
57
|
-
// any non-container) with non-empty children (the children never paint).
|
|
58
|
-
// Optional so reports for other shapes + pre-F189 backends still validate.
|
|
59
|
-
iterator_is_leaf_renderer: z.boolean().optional(),
|
|
60
|
-
// B8 (2026-06-27) — true when the binding is a relation-traversal NATIVE
|
|
61
|
-
// binding (dotted query.name + current-term `id` arg), e.g.
|
|
62
|
-
// categoryFaqs.taxonomyCategoryFaq → faq. A VALID, correctly-scoped item
|
|
63
|
-
// binding — the verdict must NOT false-flag it. Optional so reports for
|
|
64
|
-
// non-relation bindings + pre-B8 backends still validate.
|
|
65
|
-
relation_native_binding: z.boolean().optional(),
|
|
66
|
-
// B8 — the archive-context descriptor accompanying the flag (mirrors
|
|
67
|
-
// SourceRegistry::getSourceSchema()'s archive_context record). Optional
|
|
68
|
-
// (present only alongside relation_native_binding).
|
|
69
|
-
archive_context: z
|
|
70
|
-
.object({
|
|
71
|
-
query_name: z.string(),
|
|
72
|
-
relation: z.string(),
|
|
73
|
-
relation_field: z.string(),
|
|
74
|
-
current_term_arg: z.string(),
|
|
75
|
-
current_term: z.number().int(),
|
|
76
|
-
})
|
|
77
|
-
.optional(),
|
|
78
|
-
// F39 (2026-06-10) — emitted when a map/map_item is bound without a
|
|
79
|
-
// `location` field mapping (renders 0 markers). Optional so non-map
|
|
80
|
-
// reports still validate. Companion human-readable signal to the
|
|
81
|
-
// structured `map_location_missing` boolean above.
|
|
82
|
-
map_location_warning: z.string().optional(),
|
|
83
|
-
warning: z.string().optional(),
|
|
84
|
-
recommended_fix: z.string().optional(),
|
|
85
|
-
}),
|
|
86
|
-
etag: z.string(),
|
|
87
|
-
// 6.4 — typed advisory/blocking marker. Optional so a verbatim REST
|
|
88
|
-
// passthrough that predates this field still validates, but the
|
|
89
|
-
// handler always populates it.
|
|
90
|
-
hint: z
|
|
91
|
-
.object({
|
|
92
|
-
severity: z.enum(['advisory', 'blocking']),
|
|
93
|
-
message: z.string(),
|
|
94
|
-
})
|
|
95
|
-
.optional(),
|
|
96
|
-
});
|
|
97
|
-
/**
|
|
98
|
-
* Classify the report into an advisory/blocking hint.
|
|
99
|
-
*
|
|
100
|
-
* C7 (2026-06-10) — the verdict now reflects what is ACTUALLY bound, not
|
|
101
|
-
* just the container-node's own binding level. Three structural bugs the
|
|
102
|
-
* pre-C7 single-axis (`current_binding_level`) classifier produced:
|
|
103
|
-
*
|
|
104
|
-
* 1. A container bound *through* its `*_item` child reported "none" + a
|
|
105
|
-
* reassuring "structurally correct" hint. Now `is_bound` /
|
|
106
|
-
* `item_child_binding_level` make the child binding visible.
|
|
107
|
-
* 2. A fully-unbound element was called "structurally correct". Now a
|
|
108
|
-
* false `is_bound` yields an honest "no source binding present" hint.
|
|
109
|
-
* 3. A binding to a since-deleted source looked fine. Now
|
|
110
|
-
* `bound_source_exists === false` is `blocking` with the missing-
|
|
111
|
-
* source message.
|
|
112
|
-
*
|
|
113
|
-
* Precedence: container-level binding (blocking) → deleted source
|
|
114
|
-
* (blocking) → nothing bound (advisory, honest) → B8 relation-traversal
|
|
115
|
-
* native binding (advisory, "structurally correct (relation/current-term)")
|
|
116
|
-
* → bound + live (advisory, "structurally correct").
|
|
117
|
-
*/
|
|
118
|
-
function buildHint(report) {
|
|
119
|
-
const r = (report ?? {});
|
|
120
|
-
// F143 — a bound map with no resolved `location` leaf renders 0
|
|
121
|
-
// markers. That is a render-breaking bug, not advisory: surface it as
|
|
122
|
-
// `blocking` even though the binding level itself is "item". This is the
|
|
123
|
-
// structured-boolean entry point; the human-readable `map_location_warning`
|
|
124
|
-
// (F39, branch 1b below) is the companion signal a different backend emits.
|
|
125
|
-
if (r.map_location_missing === true) {
|
|
126
|
-
const fix = typeof r.recommended_fix === 'string' && r.recommended_fix !== ''
|
|
127
|
-
? r.recommended_fix
|
|
128
|
-
: 'Map a single `location` field holding a combined "lat,lng" string.';
|
|
129
|
-
return {
|
|
130
|
-
severity: 'blocking',
|
|
131
|
-
message: 'Map is bound but no `location` field is mapped — no markers will ' +
|
|
132
|
-
`render. ${fix}`,
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
// F189 — a `…List` source on a LEAF renderer (grid_item / any non-container)
|
|
136
|
-
// that carries non-empty children: repeatSource clones it per row but the
|
|
137
|
-
// template renders ONLY its own slots, never its nested children → the
|
|
138
|
-
// children are render-dead and the grid shows placeholders. Render-breaking
|
|
139
|
-
// tier → blocking. The PHP inspector ships the human-readable `warning` with
|
|
140
|
-
// both recipes; surface it verbatim. Runs before the zero-mappings / generic
|
|
141
|
-
// branches so the iterator-shape bug is named first.
|
|
142
|
-
if (r.iterator_is_leaf_renderer === true) {
|
|
143
|
-
const msg = typeof r.warning === 'string' && r.warning !== ''
|
|
144
|
-
? r.warning
|
|
145
|
-
: 'This element iterates a list source but is a LEAF renderer ' +
|
|
146
|
-
'(grid_item / *_item) — its nested children are never rendered. ' +
|
|
147
|
-
'Map fields onto the item\'s own slots (title/meta/content/image), ' +
|
|
148
|
-
'or move the List onto a container (column/fragment/row) with #parent leaves.';
|
|
149
|
-
return { severity: 'blocking', message: msg };
|
|
150
|
-
}
|
|
151
|
-
// F174 — a bound element with ZERO field mappings clones the container N
|
|
152
|
-
// times but every clone renders only the template's static placeholder
|
|
153
|
-
// text ("Title" / "Lorem ipsum"), not real data. The binding is
|
|
154
|
-
// structurally item-level so every other signal reports healthy. Same
|
|
155
|
-
// render-breaking tier as map_location_missing → blocking. The PHP
|
|
156
|
-
// inspector ships the human-readable `warning`; surface it verbatim.
|
|
157
|
-
if (r.zero_field_mappings === true) {
|
|
158
|
-
const msg = typeof r.warning === 'string' && r.warning !== ''
|
|
159
|
-
? r.warning
|
|
160
|
-
: 'Bound to a source but with 0 field mappings — the cloned items ' +
|
|
161
|
-
'render the template\'s static placeholder text (Title / Lorem ipsum), ' +
|
|
162
|
-
'not real data. Re-bind with field_mappings AT THIS ITEM ' +
|
|
163
|
-
'(element_bind_source on this same element with non-empty ' +
|
|
164
|
-
'field_mappings). Do NOT bind the individual child leaves instead: ' +
|
|
165
|
-
'on YT5 a "#parent" leaf bind written directly under an iterating ' +
|
|
166
|
-
'item renders placeholder text.';
|
|
167
|
-
return { severity: 'blocking', message: msg };
|
|
168
|
-
}
|
|
169
|
-
// (1) Container-level binding — the original structural bug. Blocking.
|
|
170
|
-
if (r.current_binding_level === 'container') {
|
|
171
|
-
const fix = typeof r.recommended_fix === 'string' && r.recommended_fix !== ''
|
|
172
|
-
? r.recommended_fix
|
|
173
|
-
: 'Move the binding to the first `*_item` child element.';
|
|
174
|
-
return { severity: 'blocking', message: fix };
|
|
175
|
-
}
|
|
176
|
-
// (1b) F39 — a map/map_item bound WITHOUT a `location` field mapping
|
|
177
|
-
// renders zero markers. The PHP inspector only emits map_location_warning
|
|
178
|
-
// for a genuinely-bound map pair, so its mere presence is the signal.
|
|
179
|
-
// Blocking, because the map looks healthy but shows nothing.
|
|
180
|
-
if (typeof r.map_location_warning === 'string' && r.map_location_warning !== '') {
|
|
181
|
-
return { severity: 'blocking', message: r.map_location_warning };
|
|
182
|
-
}
|
|
183
|
-
// (2) C7 bug 3 — bound source no longer exists in the live registry.
|
|
184
|
-
// `bound_source_exists` is only a hard `false` when the registry was
|
|
185
|
-
// wired AND the name was absent; `null`/`undefined` (unknown) never trips
|
|
186
|
-
// this branch.
|
|
187
|
-
if (r.bound_source_exists === false) {
|
|
188
|
-
const msg = typeof r.source_missing_warning === 'string' && r.source_missing_warning !== ''
|
|
189
|
-
? r.source_missing_warning
|
|
190
|
-
: 'The bound source no longer exists in the live source registry — ' +
|
|
191
|
-
'the frontend will render empty. Re-bind to a current source.';
|
|
192
|
-
return { severity: 'blocking', message: msg };
|
|
193
|
-
}
|
|
194
|
-
// (3) C7 bug 2 — nothing is actually bound (neither this node nor, for a
|
|
195
|
-
// container, its item child). `is_bound` is the authoritative signal;
|
|
196
|
-
// when a pre-C7 backend omits it, fall back to current_binding_level.
|
|
197
|
-
const isBound = typeof r.is_bound === 'boolean'
|
|
198
|
-
? r.is_bound
|
|
199
|
-
: r.current_binding_level === 'item';
|
|
200
|
-
if (!isBound) {
|
|
201
|
-
return {
|
|
202
|
-
severity: 'advisory',
|
|
203
|
-
message: 'No source binding present on this element' +
|
|
204
|
-
(r.current_binding_level !== 'item' && r.item_child_binding_level !== 'item'
|
|
205
|
-
? ' or its item child'
|
|
206
|
-
: '') +
|
|
207
|
-
'. Bind a source directly: yootheme_builder_element_bind_source({ ' +
|
|
208
|
-
'template_id, element_path, source_name, field_mappings }) — for a ' +
|
|
209
|
-
'Multi-Items container, bind on the first `*_item` child.',
|
|
210
|
-
};
|
|
211
|
-
}
|
|
212
|
-
// (3b) B8 — a relation-traversal NATIVE binding (dotted query.name +
|
|
213
|
-
// current-term `id` arg, e.g. categoryFaqs.taxonomyCategoryFaq → faq). It is
|
|
214
|
-
// a VALID, correctly-scoped item-level binding. The pre-B8 verdict had no
|
|
215
|
-
// signal for it and fell through to the generic "structurally correct"
|
|
216
|
-
// message; worse, an over-eager existence check could mis-read the dotted
|
|
217
|
-
// name. Surface an EXPLICIT advisory naming the relation + current-term so
|
|
218
|
-
// the agent stops treating a working archive binding as broken/none. Runs
|
|
219
|
-
// AFTER every blocking branch (deleted source / container-level / map /
|
|
220
|
-
// zero-mappings / iterator-leaf) and after the unbound check — so a genuinely
|
|
221
|
-
// broken relation binding still reports blocking, never this advisory.
|
|
222
|
-
if (r.relation_native_binding === true) {
|
|
223
|
-
const ac = r.archive_context !== null && typeof r.archive_context === 'object'
|
|
224
|
-
? r.archive_context
|
|
225
|
-
: {};
|
|
226
|
-
const relation = typeof ac.relation === 'string' && ac.relation !== '' ? ac.relation : 'relation';
|
|
227
|
-
const relationField = typeof ac.relation_field === 'string' && ac.relation_field !== '' ? ac.relation_field : 'the relation field';
|
|
228
|
-
const termArg = typeof ac.current_term_arg === 'string' && ac.current_term_arg !== '' ? ac.current_term_arg : 'id';
|
|
229
|
-
return {
|
|
230
|
-
severity: 'advisory',
|
|
231
|
-
message: 'Binding looks structurally correct (relation/current-term). This is a ' +
|
|
232
|
-
`native relation-traversal binding — it follows the "${relation}" relation ` +
|
|
233
|
-
`to "${relationField}" scoped to the CURRENT term (${termArg}: 0), the canonical ` +
|
|
234
|
-
'archive-context shape. It renders the current term\'s related items on an ' +
|
|
235
|
-
'archive/term page and is correctly scoped — NOT broken. Verify on a real ' +
|
|
236
|
-
'archive/term URL if it still renders empty.',
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
// (4) C7 bug 1 — bound through the item child. Surface that explicitly so
|
|
240
|
-
// the agent does not mistake the container's own "none" level for "unbound".
|
|
241
|
-
if (r.item_child_binding_level === 'item') {
|
|
242
|
-
return {
|
|
243
|
-
severity: 'advisory',
|
|
244
|
-
message: 'Binding looks structurally correct — the source is bound at the ' +
|
|
245
|
-
'item level (on the `*_item` child), which is the canonical ' +
|
|
246
|
-
'Multi-Items shape. Verify element_path via ' +
|
|
247
|
-
'yootheme_builder_element_list if the source still renders empty.',
|
|
248
|
-
};
|
|
249
|
-
}
|
|
250
|
-
// (5) Genuinely item-bound with a live (or unknown) source.
|
|
251
|
-
return {
|
|
252
|
-
severity: 'advisory',
|
|
253
|
-
message: 'Binding looks structurally correct. Verify element_path via ' +
|
|
254
|
-
'yootheme_builder_element_list if the source still renders empty.',
|
|
255
|
-
};
|
|
256
|
-
}
|
|
257
|
-
/**
|
|
258
|
-
* Render a structured inspect payload into the ToolResult envelope.
|
|
259
|
-
* Shared by the cache-hit and cache-miss paths so both legs (text +
|
|
260
|
-
* structuredContent) are built identically.
|
|
261
|
-
*
|
|
262
|
-
* 6.1 — the text leg is depth-capped so a deeply-nested report cannot
|
|
263
|
-
* balloon the LLM context. structuredContent stays verbatim so it keeps
|
|
264
|
-
* validating against INSPECT_MULTI_ITEMS_OUTPUT_SCHEMA
|
|
265
|
-
* (additionalProperties:false).
|
|
266
|
-
*/
|
|
267
|
-
function renderInspectResult(structured) {
|
|
268
|
-
const text = jsonResult(capInspectionDepth(structured));
|
|
269
|
-
return structuredResult(text, structured);
|
|
270
|
-
}
|
|
271
|
-
export async function handleInspectMultiItemsBinding({ client, cache }, { template_id, element_path }) {
|
|
272
|
-
const encoded = encodeElementPath(element_path);
|
|
273
|
-
try {
|
|
274
|
-
// 6.2 — when a cache is wired, key on the GLOBAL state etag. Every
|
|
275
|
-
// write tool bumps it, so a mutated template surfaces a fresh etag
|
|
276
|
-
// → a new key → a guaranteed miss. Read-only repeats within the TTL
|
|
277
|
-
// skip the inspect round-trip below.
|
|
278
|
-
let cacheEtag;
|
|
279
|
-
if (cache !== undefined) {
|
|
280
|
-
cacheEtag = await fetchStateEtag(client);
|
|
281
|
-
if (cacheEtag !== undefined) {
|
|
282
|
-
const cached = cache.get(template_id, element_path, cacheEtag);
|
|
283
|
-
if (cached !== undefined) {
|
|
284
|
-
return renderInspectResult(cached);
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
const data = await client.get(`/pages/${encodeTemplateId(template_id)}/elements/${encoded}/multi-items/inspect`);
|
|
289
|
-
// 6.4 — attach the typed severity marker to the structured payload.
|
|
290
|
-
const hint = buildHint(data.report);
|
|
291
|
-
const structured = { ...data, hint };
|
|
292
|
-
if (cache !== undefined && cacheEtag !== undefined) {
|
|
293
|
-
cache.set(template_id, element_path, cacheEtag, structured);
|
|
294
|
-
}
|
|
295
|
-
return renderInspectResult(structured);
|
|
296
|
-
}
|
|
297
|
-
catch (e) {
|
|
298
|
-
return errorResult({
|
|
299
|
-
error: e,
|
|
300
|
-
context: { template_id, element_path },
|
|
301
|
-
hint: 'Verify element_path via yootheme_builder_element_list. Paths are JSON-Pointer ' +
|
|
302
|
-
'(RFC-6901) style: /0/children/1. Use yootheme_builder_element_list to enumerate ' +
|
|
303
|
-
'valid paths.',
|
|
304
|
-
});
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
/**
|
|
308
|
-
* Read the global state ETag used as the cache-invalidation token.
|
|
309
|
-
* Returns `undefined` (cache disabled for this call) if the etag probe
|
|
310
|
-
* fails or returns a non-string — a missing etag must never poison the
|
|
311
|
-
* cache key, and a probe failure should fall through to a live inspect
|
|
312
|
-
* rather than abort the whole call.
|
|
313
|
-
*/
|
|
314
|
-
async function fetchStateEtag(client) {
|
|
315
|
-
try {
|
|
316
|
-
const res = await client.get('/etag');
|
|
317
|
-
return typeof res.etag === 'string' && res.etag !== '' ? res.etag : undefined;
|
|
318
|
-
}
|
|
319
|
-
catch {
|
|
320
|
-
return undefined;
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
//# sourceMappingURL=inspect-handler.js.map
|