@wootsup/yt-builder-mcp 1.11.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +131 -33
- package/bin/node-floor.d.ts +28 -0
- package/bin/node-floor.js +123 -0
- package/bin/yt-builder-mcp.js +52 -11
- package/dist/auth.d.ts +3 -121
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +40 -170
- package/dist/auth.js.map +1 -1
- package/dist/catalog/build-catalog.d.ts +4 -49
- package/dist/catalog/build-catalog.d.ts.map +1 -1
- package/dist/catalog/build-catalog.js +15 -126
- package/dist/catalog/build-catalog.js.map +1 -1
- package/dist/catalog/json-schema.d.ts +3 -0
- package/dist/catalog/json-schema.d.ts.map +1 -0
- package/dist/catalog/json-schema.js +68 -0
- package/dist/catalog/json-schema.js.map +1 -0
- package/dist/catalog/output-shapes.d.ts +6 -0
- package/dist/catalog/output-shapes.d.ts.map +1 -0
- package/dist/catalog/output-shapes.js +89 -0
- package/dist/catalog/output-shapes.js.map +1 -0
- package/dist/catalog/tool-catalog-markdown.d.ts +1 -37
- package/dist/catalog/tool-catalog-markdown.d.ts.map +1 -1
- package/dist/catalog/tool-catalog-markdown.js +9 -41
- package/dist/catalog/tool-catalog-markdown.js.map +1 -1
- package/dist/cli/doctor-command.d.ts +2 -7
- package/dist/cli/doctor-command.d.ts.map +1 -1
- package/dist/cli/doctor-command.js +33 -54
- package/dist/cli/doctor-command.js.map +1 -1
- package/dist/cli/invocation-decision.d.ts +4 -52
- package/dist/cli/invocation-decision.d.ts.map +1 -1
- package/dist/cli/invocation-decision.js +45 -54
- package/dist/cli/invocation-decision.js.map +1 -1
- package/dist/client.d.ts +3 -107
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +34 -115
- package/dist/client.js.map +1 -1
- package/dist/clients/claude-code.d.ts +0 -15
- package/dist/clients/claude-code.d.ts.map +1 -1
- package/dist/clients/claude-code.js +0 -22
- package/dist/clients/claude-code.js.map +1 -1
- package/dist/clients/claude-desktop.d.ts +0 -16
- package/dist/clients/claude-desktop.d.ts.map +1 -1
- package/dist/clients/claude-desktop.js +0 -18
- package/dist/clients/claude-desktop.js.map +1 -1
- package/dist/clients/cline.d.ts +0 -23
- package/dist/clients/cline.d.ts.map +1 -1
- package/dist/clients/cline.js +0 -33
- package/dist/clients/cline.js.map +1 -1
- package/dist/clients/codex-cli.d.ts +0 -39
- package/dist/clients/codex-cli.d.ts.map +1 -1
- package/dist/clients/codex-cli.js +0 -137
- package/dist/clients/codex-cli.js.map +1 -1
- package/dist/clients/continue.d.ts +0 -10
- package/dist/clients/continue.d.ts.map +1 -1
- package/dist/clients/continue.js +0 -26
- package/dist/clients/continue.js.map +1 -1
- package/dist/clients/cursor.d.ts +0 -9
- package/dist/clients/cursor.d.ts.map +1 -1
- package/dist/clients/cursor.js +0 -11
- package/dist/clients/cursor.js.map +1 -1
- package/dist/clients/gemini-cli.d.ts +0 -15
- package/dist/clients/gemini-cli.d.ts.map +1 -1
- package/dist/clients/gemini-cli.js +0 -17
- package/dist/clients/gemini-cli.js.map +1 -1
- package/dist/clients/home.d.ts +0 -12
- package/dist/clients/home.d.ts.map +1 -1
- package/dist/clients/home.js +0 -12
- package/dist/clients/home.js.map +1 -1
- package/dist/clients/index.d.ts +0 -150
- package/dist/clients/index.d.ts.map +1 -1
- package/dist/clients/index.js +0 -112
- package/dist/clients/index.js.map +1 -1
- package/dist/clients/roo-code.d.ts +0 -20
- package/dist/clients/roo-code.d.ts.map +1 -1
- package/dist/clients/roo-code.js +0 -22
- package/dist/clients/roo-code.js.map +1 -1
- package/dist/clients/zed.d.ts +0 -9
- package/dist/clients/zed.d.ts.map +1 -1
- package/dist/clients/zed.js +0 -18
- package/dist/clients/zed.js.map +1 -1
- package/dist/compat-floor.d.ts +35 -0
- package/dist/compat-floor.d.ts.map +1 -0
- package/dist/compat-floor.js +84 -0
- package/dist/compat-floor.js.map +1 -0
- package/dist/compat-probe.d.ts +6 -0
- package/dist/compat-probe.d.ts.map +1 -0
- package/dist/compat-probe.js +20 -0
- package/dist/compat-probe.js.map +1 -0
- package/dist/diagnostics/ca-reexec.d.ts +0 -30
- package/dist/diagnostics/ca-reexec.d.ts.map +1 -1
- package/dist/diagnostics/ca-reexec.js +0 -62
- package/dist/diagnostics/ca-reexec.js.map +1 -1
- package/dist/diagnostics/ca-trust.d.ts +0 -22
- package/dist/diagnostics/ca-trust.d.ts.map +1 -1
- package/dist/diagnostics/ca-trust.js +3 -42
- package/dist/diagnostics/ca-trust.js.map +1 -1
- package/dist/diagnostics/diagnose-network-error.d.ts +1 -38
- package/dist/diagnostics/diagnose-network-error.d.ts.map +1 -1
- package/dist/diagnostics/diagnose-network-error.js +26 -37
- package/dist/diagnostics/diagnose-network-error.js.map +1 -1
- package/dist/diagnostics/doctor.d.ts +13 -65
- package/dist/diagnostics/doctor.d.ts.map +1 -1
- package/dist/diagnostics/doctor.js +46 -70
- package/dist/diagnostics/doctor.js.map +1 -1
- package/dist/diagnostics/startup-self-probe.d.ts +3 -25
- package/dist/diagnostics/startup-self-probe.d.ts.map +1 -1
- package/dist/diagnostics/startup-self-probe.js +11 -48
- package/dist/diagnostics/startup-self-probe.js.map +1 -1
- package/dist/errors/hints.d.ts +0 -44
- package/dist/errors/hints.d.ts.map +1 -1
- package/dist/errors/hints.js +0 -32
- package/dist/errors/hints.js.map +1 -1
- package/dist/errors/mask.d.ts +0 -31
- package/dist/errors/mask.d.ts.map +1 -1
- package/dist/errors/mask.js +0 -32
- package/dist/errors/mask.js.map +1 -1
- package/dist/errors/redact-credentials.d.ts +2 -0
- package/dist/errors/redact-credentials.d.ts.map +1 -0
- package/dist/errors/redact-credentials.js +13 -0
- package/dist/errors/redact-credentials.js.map +1 -0
- package/dist/errors/sanitize.d.ts +0 -29
- package/dist/errors/sanitize.d.ts.map +1 -1
- package/dist/errors/sanitize.js +0 -40
- package/dist/errors/sanitize.js.map +1 -1
- package/dist/errors.d.ts +6 -17
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +16 -21
- package/dist/errors.js.map +1 -1
- package/dist/gateway/advanced-read-tool.d.ts +0 -32
- package/dist/gateway/advanced-read-tool.d.ts.map +1 -1
- package/dist/gateway/advanced-read-tool.js +43 -111
- package/dist/gateway/advanced-read-tool.js.map +1 -1
- package/dist/gateway/advanced-tool/discovery.d.ts +1 -12
- package/dist/gateway/advanced-tool/discovery.d.ts.map +1 -1
- package/dist/gateway/advanced-tool/discovery.js +18 -16
- package/dist/gateway/advanced-tool/discovery.js.map +1 -1
- package/dist/gateway/advanced-tool/domains.d.ts +7 -66
- package/dist/gateway/advanced-tool/domains.d.ts.map +1 -1
- package/dist/gateway/advanced-tool/domains.js +36 -80
- package/dist/gateway/advanced-tool/domains.js.map +1 -1
- package/dist/gateway/advanced-tool/execute.d.ts +0 -25
- package/dist/gateway/advanced-tool/execute.d.ts.map +1 -1
- package/dist/gateway/advanced-tool/execute.js +13 -49
- package/dist/gateway/advanced-tool/execute.js.map +1 -1
- package/dist/gateway/advanced-tool/index.d.ts +1 -32
- package/dist/gateway/advanced-tool/index.d.ts.map +1 -1
- package/dist/gateway/advanced-tool/index.js +1 -35
- package/dist/gateway/advanced-tool/index.js.map +1 -1
- package/dist/gateway/advanced-tool/register.d.ts +0 -14
- package/dist/gateway/advanced-tool/register.d.ts.map +1 -1
- package/dist/gateway/advanced-tool/register.js +22 -58
- package/dist/gateway/advanced-tool/register.js.map +1 -1
- package/dist/gateway/advanced-tool.d.ts +0 -11
- package/dist/gateway/advanced-tool.d.ts.map +1 -1
- package/dist/gateway/advanced-tool.js +0 -11
- package/dist/gateway/advanced-tool.js.map +1 -1
- package/dist/gateway/capturing-server.d.ts +3 -88
- package/dist/gateway/capturing-server.d.ts.map +1 -1
- package/dist/gateway/capturing-server.js +0 -77
- package/dist/gateway/capturing-server.js.map +1 -1
- package/dist/gateway/essentials.d.ts +1 -63
- package/dist/gateway/essentials.d.ts.map +1 -1
- package/dist/gateway/essentials.js +10 -174
- package/dist/gateway/essentials.js.map +1 -1
- package/dist/gateway/test-support.d.ts +0 -28
- package/dist/gateway/test-support.d.ts.map +1 -1
- package/dist/gateway/test-support.js +0 -29
- package/dist/gateway/test-support.js.map +1 -1
- package/dist/health-response.d.ts +2 -0
- package/dist/health-response.d.ts.map +1 -0
- package/dist/health-response.js +7 -0
- package/dist/health-response.js.map +1 -0
- package/dist/icon-data.js +0 -3
- package/dist/icon-data.js.map +1 -1
- package/dist/index.d.ts +7 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -130
- package/dist/index.js.map +1 -1
- package/dist/install-skill.d.ts +0 -44
- package/dist/install-skill.d.ts.map +1 -1
- package/dist/install-skill.js +5 -46
- package/dist/install-skill.js.map +1 -1
- package/dist/net/extra-headers.d.ts +0 -58
- package/dist/net/extra-headers.d.ts.map +1 -1
- package/dist/net/extra-headers.js +0 -67
- package/dist/net/extra-headers.js.map +1 -1
- package/dist/net/internal-host.d.ts +0 -31
- package/dist/net/internal-host.d.ts.map +1 -1
- package/dist/net/internal-host.js +7 -65
- package/dist/net/internal-host.js.map +1 -1
- package/dist/net/proxy-dispatcher.d.ts +0 -37
- package/dist/net/proxy-dispatcher.d.ts.map +1 -1
- package/dist/net/proxy-dispatcher.js +0 -40
- package/dist/net/proxy-dispatcher.js.map +1 -1
- package/dist/net/public-fetch.d.ts +53 -0
- package/dist/net/public-fetch.d.ts.map +1 -0
- package/dist/net/public-fetch.js +143 -0
- package/dist/net/public-fetch.js.map +1 -0
- package/dist/net/public-page-report.d.ts +26 -0
- package/dist/net/public-page-report.d.ts.map +1 -0
- package/dist/net/public-page-report.js +145 -0
- package/dist/net/public-page-report.js.map +1 -0
- package/dist/net/redirect-safe-fetch.d.ts +14 -0
- package/dist/net/redirect-safe-fetch.d.ts.map +1 -0
- package/dist/net/redirect-safe-fetch.js +61 -0
- package/dist/net/redirect-safe-fetch.js.map +1 -0
- package/dist/net/session-recovery-fetch.d.ts +7 -0
- package/dist/net/session-recovery-fetch.d.ts.map +1 -0
- package/dist/net/session-recovery-fetch.js +139 -0
- package/dist/net/session-recovery-fetch.js.map +1 -0
- package/dist/net/site-basic-auth.d.ts +1 -59
- package/dist/net/site-basic-auth.d.ts.map +1 -1
- package/dist/net/site-basic-auth.js +5 -94
- package/dist/net/site-basic-auth.js.map +1 -1
- package/dist/package-version.d.ts +2 -0
- package/dist/package-version.d.ts.map +1 -0
- package/dist/package-version.js +15 -0
- package/dist/package-version.js.map +1 -0
- package/dist/platform/detect.d.ts +0 -54
- package/dist/platform/detect.d.ts.map +1 -1
- package/dist/platform/detect.js +0 -53
- package/dist/platform/detect.js.map +1 -1
- package/dist/platform/index.d.ts +0 -100
- package/dist/platform/index.d.ts.map +1 -1
- package/dist/platform/index.js +0 -106
- package/dist/platform/index.js.map +1 -1
- package/dist/platform/joomla.d.ts +0 -35
- package/dist/platform/joomla.d.ts.map +1 -1
- package/dist/platform/joomla.js +0 -35
- package/dist/platform/joomla.js.map +1 -1
- package/dist/proxy/bridge.d.ts +36 -76
- package/dist/proxy/bridge.d.ts.map +1 -1
- package/dist/proxy/bridge.js +443 -136
- package/dist/proxy/bridge.js.map +1 -1
- package/dist/proxy/confirm-elicitation.d.ts +22 -0
- package/dist/proxy/confirm-elicitation.d.ts.map +1 -0
- package/dist/proxy/confirm-elicitation.js +170 -0
- package/dist/proxy/confirm-elicitation.js.map +1 -0
- package/dist/proxy/confirm-question-contract.d.ts +6 -0
- package/dist/proxy/confirm-question-contract.d.ts.map +1 -0
- package/dist/proxy/confirm-question-contract.js +9 -0
- package/dist/proxy/confirm-question-contract.js.map +1 -0
- package/dist/proxy/confirm-question.d.ts +2 -0
- package/dist/proxy/confirm-question.d.ts.map +1 -0
- package/dist/proxy/confirm-question.js +125 -0
- package/dist/proxy/confirm-question.js.map +1 -0
- package/dist/proxy/instructions.d.ts +4 -0
- package/dist/proxy/instructions.d.ts.map +1 -0
- package/dist/proxy/instructions.js +12 -0
- package/dist/proxy/instructions.js.map +1 -0
- package/dist/proxy/mode.d.ts +14 -9
- package/dist/proxy/mode.d.ts.map +1 -1
- package/dist/proxy/mode.js +58 -34
- package/dist/proxy/mode.js.map +1 -1
- package/dist/proxy/multi-site.d.ts +42 -0
- package/dist/proxy/multi-site.d.ts.map +1 -0
- package/dist/proxy/multi-site.js +134 -0
- package/dist/proxy/multi-site.js.map +1 -0
- package/dist/proxy/request-headers.d.ts +9 -0
- package/dist/proxy/request-headers.d.ts.map +1 -0
- package/dist/proxy/request-headers.js +17 -0
- package/dist/proxy/request-headers.js.map +1 -0
- package/dist/proxy/shadow-tools.d.ts +9 -0
- package/dist/proxy/shadow-tools.d.ts.map +1 -0
- package/dist/proxy/shadow-tools.js +42 -0
- package/dist/proxy/shadow-tools.js.map +1 -0
- package/dist/proxy/tools-list-cap.d.ts +7 -0
- package/dist/proxy/tools-list-cap.d.ts.map +1 -0
- package/dist/proxy/tools-list-cap.js +14 -0
- package/dist/proxy/tools-list-cap.js.map +1 -0
- package/dist/proxy/transport-uncertainty.d.ts +2 -0
- package/dist/proxy/transport-uncertainty.d.ts.map +1 -0
- package/dist/proxy/transport-uncertainty.js +8 -0
- package/dist/proxy/transport-uncertainty.js.map +1 -0
- package/dist/proxy/upstream-error.d.ts +7 -0
- package/dist/proxy/upstream-error.d.ts.map +1 -0
- package/dist/proxy/upstream-error.js +35 -0
- package/dist/proxy/upstream-error.js.map +1 -0
- package/dist/proxy/wire-dialect.d.ts +5 -0
- package/dist/proxy/wire-dialect.d.ts.map +1 -0
- package/dist/proxy/wire-dialect.js +33 -0
- package/dist/proxy/wire-dialect.js.map +1 -0
- package/dist/server.d.ts +14 -82
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +107 -203
- package/dist/server.js.map +1 -1
- package/dist/setup/banner-color.d.ts +13 -0
- package/dist/setup/banner-color.d.ts.map +1 -0
- package/dist/setup/banner-color.js +93 -0
- package/dist/setup/banner-color.js.map +1 -0
- package/dist/setup/banner.d.ts +22 -0
- package/dist/setup/banner.d.ts.map +1 -0
- package/dist/setup/banner.js +119 -0
- package/dist/setup/banner.js.map +1 -0
- package/dist/setup/ca-recovery.d.ts +20 -0
- package/dist/setup/ca-recovery.d.ts.map +1 -0
- package/dist/setup/ca-recovery.js +92 -0
- package/dist/setup/ca-recovery.js.map +1 -0
- package/dist/setup/closing.d.ts +15 -0
- package/dist/setup/closing.d.ts.map +1 -0
- package/dist/setup/closing.js +43 -0
- package/dist/setup/closing.js.map +1 -0
- package/dist/setup/corporate-ca.d.ts +16 -0
- package/dist/setup/corporate-ca.d.ts.map +1 -0
- package/dist/setup/corporate-ca.js +32 -0
- package/dist/setup/corporate-ca.js.map +1 -0
- package/dist/setup/host-platform.d.ts +8 -0
- package/dist/setup/host-platform.d.ts.map +1 -0
- package/dist/setup/host-platform.js +21 -0
- package/dist/setup/host-platform.js.map +1 -0
- package/dist/setup/install-configs.d.ts +18 -0
- package/dist/setup/install-configs.d.ts.map +1 -0
- package/dist/setup/install-configs.js +70 -0
- package/dist/setup/install-configs.js.map +1 -0
- package/dist/setup/multi-site-loop.d.ts +14 -0
- package/dist/setup/multi-site-loop.d.ts.map +1 -0
- package/dist/setup/multi-site-loop.js +20 -0
- package/dist/setup/multi-site-loop.js.map +1 -0
- package/dist/setup/phases.d.ts +18 -0
- package/dist/setup/phases.d.ts.map +1 -0
- package/dist/setup/phases.js +55 -0
- package/dist/setup/phases.js.map +1 -0
- package/dist/setup/registry-remedy.d.ts +12 -0
- package/dist/setup/registry-remedy.d.ts.map +1 -0
- package/dist/setup/registry-remedy.js +37 -0
- package/dist/setup/registry-remedy.js.map +1 -0
- package/dist/setup/resume.d.ts +28 -0
- package/dist/setup/resume.d.ts.map +1 -0
- package/dist/setup/resume.js +99 -0
- package/dist/setup/resume.js.map +1 -0
- package/dist/setup-ca-env.d.ts +0 -30
- package/dist/setup-ca-env.d.ts.map +1 -1
- package/dist/setup-ca-env.js +0 -28
- package/dist/setup-ca-env.js.map +1 -1
- package/dist/setup-ca-reprobe.d.ts +0 -25
- package/dist/setup-ca-reprobe.d.ts.map +1 -1
- package/dist/setup-ca-reprobe.js +0 -34
- package/dist/setup-ca-reprobe.js.map +1 -1
- package/dist/setup-cli-confirm.d.ts +0 -34
- package/dist/setup-cli-confirm.d.ts.map +1 -1
- package/dist/setup-cli-confirm.js +0 -36
- package/dist/setup-cli-confirm.js.map +1 -1
- package/dist/setup-cli.d.ts +6 -167
- package/dist/setup-cli.d.ts.map +1 -1
- package/dist/setup-cli.js +161 -173
- package/dist/setup-cli.js.map +1 -1
- package/dist/setup-npx-spec.d.ts +0 -36
- package/dist/setup-npx-spec.d.ts.map +1 -1
- package/dist/setup-npx-spec.js +0 -38
- package/dist/setup-npx-spec.js.map +1 -1
- package/dist/setup-prompts.d.ts +5 -70
- package/dist/setup-prompts.d.ts.map +1 -1
- package/dist/setup-prompts.js +67 -107
- package/dist/setup-prompts.js.map +1 -1
- package/dist/setup-token.d.ts +0 -34
- package/dist/setup-token.d.ts.map +1 -1
- package/dist/setup-token.js +0 -40
- package/dist/setup-token.js.map +1 -1
- package/dist/setup-wizard-defaults.d.ts +0 -36
- package/dist/setup-wizard-defaults.d.ts.map +1 -1
- package/dist/setup-wizard-defaults.js +0 -75
- package/dist/setup-wizard-defaults.js.map +1 -1
- package/dist/setup-wizard-handshake.d.ts +1 -19
- package/dist/setup-wizard-handshake.d.ts.map +1 -1
- package/dist/setup-wizard-handshake.js +8 -45
- package/dist/setup-wizard-handshake.js.map +1 -1
- package/dist/setup-wizard-types.d.ts +16 -209
- package/dist/setup-wizard-types.d.ts.map +1 -1
- package/dist/setup-wizard-types.js +0 -9
- package/dist/setup-wizard-types.js.map +1 -1
- package/dist/setup-wizard.d.ts +0 -28
- package/dist/setup-wizard.d.ts.map +1 -1
- package/dist/setup-wizard.js +167 -412
- package/dist/setup-wizard.js.map +1 -1
- package/dist/setup.d.ts +0 -15
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +0 -15
- package/dist/setup.js.map +1 -1
- package/dist/sites/bootstrap.d.ts +0 -38
- package/dist/sites/bootstrap.d.ts.map +1 -1
- package/dist/sites/bootstrap.js +0 -44
- package/dist/sites/bootstrap.js.map +1 -1
- package/dist/sites/cli/add-site.d.ts +0 -76
- package/dist/sites/cli/add-site.d.ts.map +1 -1
- package/dist/sites/cli/add-site.js +0 -71
- package/dist/sites/cli/add-site.js.map +1 -1
- package/dist/sites/cli/list-sites.d.ts +0 -31
- package/dist/sites/cli/list-sites.d.ts.map +1 -1
- package/dist/sites/cli/list-sites.js +0 -45
- package/dist/sites/cli/list-sites.js.map +1 -1
- package/dist/sites/cli/remove-site.d.ts +0 -37
- package/dist/sites/cli/remove-site.d.ts.map +1 -1
- package/dist/sites/cli/remove-site.js +0 -37
- package/dist/sites/cli/remove-site.js.map +1 -1
- package/dist/sites/cli/set-default.d.ts +0 -25
- package/dist/sites/cli/set-default.d.ts.map +1 -1
- package/dist/sites/cli/set-default.js +0 -22
- package/dist/sites/cli/set-default.js.map +1 -1
- package/dist/sites/cli/test-site.d.ts +0 -44
- package/dist/sites/cli/test-site.d.ts.map +1 -1
- package/dist/sites/cli/test-site.js +0 -39
- package/dist/sites/cli/test-site.js.map +1 -1
- package/dist/sites/client-pool.d.ts +11 -164
- package/dist/sites/client-pool.d.ts.map +1 -1
- package/dist/sites/client-pool.js +73 -194
- package/dist/sites/client-pool.js.map +1 -1
- package/dist/sites/config-problem.d.ts +2 -0
- package/dist/sites/config-problem.d.ts.map +1 -0
- package/dist/sites/config-problem.js +13 -0
- package/dist/sites/config-problem.js.map +1 -0
- package/dist/sites/env-bridge.d.ts +0 -69
- package/dist/sites/env-bridge.d.ts.map +1 -1
- package/dist/sites/env-bridge.js +2 -71
- package/dist/sites/env-bridge.js.map +1 -1
- package/dist/sites/op-inject.d.ts +23 -0
- package/dist/sites/op-inject.d.ts.map +1 -0
- package/dist/sites/op-inject.js +131 -0
- package/dist/sites/op-inject.js.map +1 -0
- package/dist/sites/paths.d.ts +0 -19
- package/dist/sites/paths.d.ts.map +1 -1
- package/dist/sites/paths.js +0 -19
- package/dist/sites/paths.js.map +1 -1
- package/dist/sites/probe.d.ts +1 -47
- package/dist/sites/probe.d.ts.map +1 -1
- package/dist/sites/probe.js +4 -46
- package/dist/sites/probe.js.map +1 -1
- package/dist/sites/registry.d.ts +4 -135
- package/dist/sites/registry.d.ts.map +1 -1
- package/dist/sites/registry.js +4 -98
- package/dist/sites/registry.js.map +1 -1
- package/dist/sites/schema.d.ts +3 -51
- package/dist/sites/schema.d.ts.map +1 -1
- package/dist/sites/schema.js +6 -52
- package/dist/sites/schema.js.map +1 -1
- package/dist/sites/secret-resolver.d.ts +6 -76
- package/dist/sites/secret-resolver.d.ts.map +1 -1
- package/dist/sites/secret-resolver.js +39 -104
- package/dist/sites/secret-resolver.js.map +1 -1
- package/dist/sites/store.d.ts +12 -69
- package/dist/sites/store.d.ts.map +1 -1
- package/dist/sites/store.js +37 -86
- package/dist/sites/store.js.map +1 -1
- package/dist/sites/substituted-registry.d.ts +11 -0
- package/dist/sites/substituted-registry.d.ts.map +1 -0
- package/dist/sites/substituted-registry.js +13 -0
- package/dist/sites/substituted-registry.js.map +1 -0
- package/dist/sites/tools/fetch-public-url.d.ts +4 -0
- package/dist/sites/tools/fetch-public-url.d.ts.map +1 -0
- package/dist/sites/tools/fetch-public-url.js +231 -0
- package/dist/sites/tools/fetch-public-url.js.map +1 -0
- package/dist/sites/tools/index.d.ts +2 -26
- package/dist/sites/tools/index.d.ts.map +1 -1
- package/dist/sites/tools/index.js +5 -28
- package/dist/sites/tools/index.js.map +1 -1
- package/dist/sites/tools/sites-list.d.ts +3 -47
- package/dist/sites/tools/sites-list.d.ts.map +1 -1
- package/dist/sites/tools/sites-list.js +68 -80
- package/dist/sites/tools/sites-list.js.map +1 -1
- package/dist/sites/tools/sites-overview.d.ts +4 -0
- package/dist/sites/tools/sites-overview.d.ts.map +1 -0
- package/dist/sites/tools/sites-overview.js +209 -0
- package/dist/sites/tools/sites-overview.js.map +1 -0
- package/dist/sites/tools/sites-test.d.ts +2 -45
- package/dist/sites/tools/sites-test.d.ts.map +1 -1
- package/dist/sites/tools/sites-test.js +1 -56
- package/dist/sites/tools/sites-test.js.map +1 -1
- package/dist/sites/tools/use-site.d.ts +2 -45
- package/dist/sites/tools/use-site.d.ts.map +1 -1
- package/dist/sites/tools/use-site.js +31 -80
- package/dist/sites/tools/use-site.js.map +1 -1
- package/dist/sites/unknown-name-result.d.ts +10 -0
- package/dist/sites/unknown-name-result.d.ts.map +1 -0
- package/dist/sites/unknown-name-result.js +13 -0
- package/dist/sites/unknown-name-result.js.map +1 -0
- package/dist/skill-instructions.d.ts +7 -0
- package/dist/skill-instructions.d.ts.map +1 -0
- package/dist/skill-instructions.js +84 -0
- package/dist/skill-instructions.js.map +1 -0
- package/dist/skill-loader.d.ts +0 -102
- package/dist/skill-loader.d.ts.map +1 -1
- package/dist/skill-loader.js +4 -142
- package/dist/skill-loader.js.map +1 -1
- package/dist/skill-manifest.d.ts +0 -20
- package/dist/skill-manifest.d.ts.map +1 -1
- package/dist/skill-manifest.js +1 -21
- package/dist/skill-manifest.js.map +1 -1
- package/dist/skill-topics.d.ts +19 -0
- package/dist/skill-topics.d.ts.map +1 -0
- package/dist/skill-topics.js +181 -0
- package/dist/skill-topics.js.map +1 -0
- package/dist/tools/active-site.d.ts +16 -0
- package/dist/tools/active-site.d.ts.map +1 -0
- package/dist/tools/active-site.js +55 -0
- package/dist/tools/active-site.js.map +1 -0
- package/dist/tools/bind-guidance.d.ts +2 -72
- package/dist/tools/bind-guidance.d.ts.map +1 -1
- package/dist/tools/bind-guidance.js +2 -72
- package/dist/tools/bind-guidance.js.map +1 -1
- package/dist/tools/budgeted-table.d.ts +16 -0
- package/dist/tools/budgeted-table.d.ts.map +1 -0
- package/dist/tools/budgeted-table.js +203 -0
- package/dist/tools/budgeted-table.js.map +1 -0
- package/dist/tools/elements/bind-output-schema.d.ts +69 -0
- package/dist/tools/elements/bind-output-schema.d.ts.map +1 -0
- package/dist/tools/elements/bind-output-schema.js +64 -0
- package/dist/tools/elements/bind-output-schema.js.map +1 -0
- package/dist/tools/elements/builders.d.ts +1 -22
- package/dist/tools/elements/builders.d.ts.map +1 -1
- package/dist/tools/elements/builders.js +171 -133
- package/dist/tools/elements/builders.js.map +1 -1
- package/dist/tools/elements/index.d.ts +0 -26
- package/dist/tools/elements/index.d.ts.map +1 -1
- package/dist/tools/elements/index.js +0 -25
- package/dist/tools/elements/index.js.map +1 -1
- package/dist/tools/elements/read-output-schemas.d.ts +121 -0
- package/dist/tools/elements/read-output-schemas.d.ts.map +1 -0
- package/dist/tools/elements/read-output-schemas.js +225 -0
- package/dist/tools/elements/read-output-schemas.js.map +1 -0
- package/dist/tools/elements/write-output-schemas.d.ts +185 -0
- package/dist/tools/elements/write-output-schemas.d.ts.map +1 -0
- package/dist/tools/elements/write-output-schemas.js +98 -0
- package/dist/tools/elements/write-output-schemas.js.map +1 -0
- package/dist/tools/elements.d.ts +0 -11
- package/dist/tools/elements.d.ts.map +1 -1
- package/dist/tools/elements.js +0 -11
- package/dist/tools/elements.js.map +1 -1
- package/dist/tools/format/health-format.d.ts +42 -43
- package/dist/tools/format/health-format.d.ts.map +1 -1
- package/dist/tools/format/health-format.js +32 -55
- package/dist/tools/format/health-format.js.map +1 -1
- package/dist/tools/format/inspection-format.d.ts +4 -49
- package/dist/tools/format/inspection-format.d.ts.map +1 -1
- package/dist/tools/format/inspection-format.js +46 -114
- package/dist/tools/format/inspection-format.js.map +1 -1
- package/dist/tools/format/pages-format.d.ts +32 -69
- package/dist/tools/format/pages-format.d.ts.map +1 -1
- package/dist/tools/format/pages-format.js +115 -133
- package/dist/tools/format/pages-format.js.map +1 -1
- package/dist/tools/format/sources-format.d.ts +5 -39
- package/dist/tools/format/sources-format.d.ts.map +1 -1
- package/dist/tools/format/sources-format.js +57 -87
- package/dist/tools/format/sources-format.js.map +1 -1
- package/dist/tools/health-output-schemas.d.ts +82 -0
- package/dist/tools/health-output-schemas.d.ts.map +1 -0
- package/dist/tools/health-output-schemas.js +130 -0
- package/dist/tools/health-output-schemas.js.map +1 -0
- package/dist/tools/health.d.ts +2 -20
- package/dist/tools/health.d.ts.map +1 -1
- package/dist/tools/health.js +59 -184
- package/dist/tools/health.js.map +1 -1
- package/dist/tools/index.d.ts +1 -26
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +13 -33
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/inspection.d.ts +21 -17
- package/dist/tools/inspection.d.ts.map +1 -1
- package/dist/tools/inspection.js +431 -268
- package/dist/tools/inspection.js.map +1 -1
- package/dist/tools/library.d.ts +118 -126
- package/dist/tools/library.d.ts.map +1 -1
- package/dist/tools/library.js +723 -456
- package/dist/tools/library.js.map +1 -1
- package/dist/tools/local-content/builders.d.ts +1 -17
- package/dist/tools/local-content/builders.d.ts.map +1 -1
- package/dist/tools/local-content/builders.js +105 -48
- package/dist/tools/local-content/builders.js.map +1 -1
- package/dist/tools/local-content/index.d.ts +0 -15
- package/dist/tools/local-content/index.d.ts.map +1 -1
- package/dist/tools/local-content/index.js +0 -14
- package/dist/tools/local-content/index.js.map +1 -1
- package/dist/tools/local-content/schemas.d.ts +31 -47
- package/dist/tools/local-content/schemas.d.ts.map +1 -1
- package/dist/tools/local-content/schemas.js +33 -62
- package/dist/tools/local-content/schemas.js.map +1 -1
- package/dist/tools/modules/builders.d.ts +4 -0
- package/dist/tools/modules/builders.d.ts.map +1 -0
- package/dist/tools/modules/builders.js +58 -0
- package/dist/tools/modules/builders.js.map +1 -0
- package/dist/tools/modules/index.d.ts +2 -0
- package/dist/tools/modules/index.d.ts.map +1 -0
- package/dist/tools/modules/index.js +2 -0
- package/dist/tools/modules/index.js.map +1 -0
- package/dist/tools/modules/module-id-schema.d.ts +4 -0
- package/dist/tools/modules/module-id-schema.d.ts.map +1 -0
- package/dist/tools/modules/module-id-schema.js +14 -0
- package/dist/tools/modules/module-id-schema.js.map +1 -0
- package/dist/tools/modules/module-type-fields.d.ts +10 -0
- package/dist/tools/modules/module-type-fields.d.ts.map +1 -0
- package/dist/tools/modules/module-type-fields.js +34 -0
- package/dist/tools/modules/module-type-fields.js.map +1 -0
- package/dist/tools/modules/modules-create.d.ts +59 -0
- package/dist/tools/modules/modules-create.d.ts.map +1 -0
- package/dist/tools/modules/modules-create.js +154 -0
- package/dist/tools/modules/modules-create.js.map +1 -0
- package/dist/tools/modules/modules-delete.d.ts +51 -0
- package/dist/tools/modules/modules-delete.d.ts.map +1 -0
- package/dist/tools/modules/modules-delete.js +180 -0
- package/dist/tools/modules/modules-delete.js.map +1 -0
- package/dist/tools/modules/modules-update.d.ts +43 -0
- package/dist/tools/modules/modules-update.d.ts.map +1 -0
- package/dist/tools/modules/modules-update.js +177 -0
- package/dist/tools/modules/modules-update.js.map +1 -0
- package/dist/tools/modules/placement-hints.d.ts +5 -0
- package/dist/tools/modules/placement-hints.d.ts.map +1 -0
- package/dist/tools/modules/placement-hints.js +90 -0
- package/dist/tools/modules/placement-hints.js.map +1 -0
- package/dist/tools/modules/placement-ways.d.ts +13 -0
- package/dist/tools/modules/placement-ways.d.ts.map +1 -0
- package/dist/tools/modules/placement-ways.js +61 -0
- package/dist/tools/modules/placement-ways.js.map +1 -0
- package/dist/tools/multi-items/builders.d.ts +1 -21
- package/dist/tools/multi-items/builders.d.ts.map +1 -1
- package/dist/tools/multi-items/builders.js +22 -67
- package/dist/tools/multi-items/builders.js.map +1 -1
- package/dist/tools/multi-items/index.d.ts +0 -15
- package/dist/tools/multi-items/index.d.ts.map +1 -1
- package/dist/tools/multi-items/index.js +0 -15
- package/dist/tools/multi-items/index.js.map +1 -1
- package/dist/tools/multi-items/item-container-map.d.ts +0 -35
- package/dist/tools/multi-items/item-container-map.d.ts.map +1 -1
- package/dist/tools/multi-items/item-container-map.js +0 -35
- package/dist/tools/multi-items/item-container-map.js.map +1 -1
- package/dist/tools/multi-items/output-schemas.d.ts +101 -0
- package/dist/tools/multi-items/output-schemas.d.ts.map +1 -0
- package/dist/tools/multi-items/output-schemas.js +74 -0
- package/dist/tools/multi-items/output-schemas.js.map +1 -0
- package/dist/tools/navigation/builders.d.ts +3 -0
- package/dist/tools/navigation/builders.d.ts.map +1 -0
- package/dist/tools/navigation/builders.js +25 -0
- package/dist/tools/navigation/builders.js.map +1 -0
- package/dist/tools/navigation/index.d.ts +2 -0
- package/dist/tools/navigation/index.d.ts.map +1 -0
- package/dist/tools/navigation/index.js +2 -0
- package/dist/tools/navigation/index.js.map +1 -0
- package/dist/tools/navigation/schemas.d.ts +16 -0
- package/dist/tools/navigation/schemas.d.ts.map +1 -0
- package/dist/tools/navigation/schemas.js +11 -0
- package/dist/tools/navigation/schemas.js.map +1 -0
- package/dist/tools/output-schema-metadata.d.ts +5 -0
- package/dist/tools/output-schema-metadata.d.ts.map +1 -0
- package/dist/tools/output-schema-metadata.js +83 -0
- package/dist/tools/output-schema-metadata.js.map +1 -0
- package/dist/tools/pages/builders.d.ts +1 -41
- package/dist/tools/pages/builders.d.ts.map +1 -1
- package/dist/tools/pages/builders.js +373 -359
- package/dist/tools/pages/builders.js.map +1 -1
- package/dist/tools/pages/header-transparency.d.ts +34 -0
- package/dist/tools/pages/header-transparency.d.ts.map +1 -0
- package/dist/tools/pages/header-transparency.js +85 -0
- package/dist/tools/pages/header-transparency.js.map +1 -0
- package/dist/tools/pages/index.d.ts +1 -19
- package/dist/tools/pages/index.d.ts.map +1 -1
- package/dist/tools/pages/index.js +1 -19
- package/dist/tools/pages/index.js.map +1 -1
- package/dist/tools/pages/schemas.d.ts +392 -224
- package/dist/tools/pages/schemas.d.ts.map +1 -1
- package/dist/tools/pages/schemas.js +605 -458
- package/dist/tools/pages/schemas.js.map +1 -1
- package/dist/tools/pages/write-output-schemas.d.ts +139 -0
- package/dist/tools/pages/write-output-schemas.d.ts.map +1 -0
- package/dist/tools/pages/write-output-schemas.js +138 -0
- package/dist/tools/pages/write-output-schemas.js.map +1 -0
- package/dist/tools/pages.d.ts +0 -11
- package/dist/tools/pages.d.ts.map +1 -1
- package/dist/tools/pages.js +0 -11
- package/dist/tools/pages.js.map +1 -1
- package/dist/tools/pool-resolve-helper.d.ts +0 -52
- package/dist/tools/pool-resolve-helper.d.ts.map +1 -1
- package/dist/tools/pool-resolve-helper.js +29 -104
- package/dist/tools/pool-resolve-helper.js.map +1 -1
- package/dist/tools/progress-phases.d.ts +0 -42
- package/dist/tools/progress-phases.d.ts.map +1 -1
- package/dist/tools/progress-phases.js +0 -44
- package/dist/tools/progress-phases.js.map +1 -1
- package/dist/tools/response-budget.d.ts +8 -0
- package/dist/tools/response-budget.d.ts.map +1 -0
- package/dist/tools/response-budget.js +7 -0
- package/dist/tools/response-budget.js.map +1 -0
- package/dist/tools/shared-schemas.d.ts +12 -43
- package/dist/tools/shared-schemas.d.ts.map +1 -1
- package/dist/tools/shared-schemas.js +42 -97
- package/dist/tools/shared-schemas.js.map +1 -1
- package/dist/tools/skill/builders.d.ts +3 -0
- package/dist/tools/skill/builders.d.ts.map +1 -0
- package/dist/tools/skill/builders.js +81 -0
- package/dist/tools/skill/builders.js.map +1 -0
- package/dist/tools/sources/builders.d.ts +1 -11
- package/dist/tools/sources/builders.d.ts.map +1 -1
- package/dist/tools/sources/builders.js +195 -173
- package/dist/tools/sources/builders.js.map +1 -1
- package/dist/tools/sources/index.d.ts +0 -17
- package/dist/tools/sources/index.d.ts.map +1 -1
- package/dist/tools/sources/index.js +0 -16
- package/dist/tools/sources/index.js.map +1 -1
- package/dist/tools/sources/read-output-schemas.d.ts +101 -0
- package/dist/tools/sources/read-output-schemas.d.ts.map +1 -0
- package/dist/tools/sources/read-output-schemas.js +105 -0
- package/dist/tools/sources/read-output-schemas.js.map +1 -0
- package/dist/tools/sources/source-name-argument.d.ts +17 -0
- package/dist/tools/sources/source-name-argument.d.ts.map +1 -0
- package/dist/tools/sources/source-name-argument.js +64 -0
- package/dist/tools/sources/source-name-argument.js.map +1 -0
- package/dist/tools/sources/write-output-schemas.d.ts +100 -0
- package/dist/tools/sources/write-output-schemas.d.ts.map +1 -0
- package/dist/tools/sources/write-output-schemas.js +61 -0
- package/dist/tools/sources/write-output-schemas.js.map +1 -0
- package/dist/tools/sources.d.ts +0 -12
- package/dist/tools/sources.d.ts.map +1 -1
- package/dist/tools/sources.js +0 -12
- package/dist/tools/sources.js.map +1 -1
- package/dist/tools/sparse-fields.d.ts +19 -194
- package/dist/tools/sparse-fields.d.ts.map +1 -1
- package/dist/tools/sparse-fields.js +212 -196
- package/dist/tools/sparse-fields.js.map +1 -1
- package/dist/tools/strict-input.d.ts +5 -0
- package/dist/tools/strict-input.d.ts.map +1 -0
- package/dist/tools/strict-input.js +55 -0
- package/dist/tools/strict-input.js.map +1 -0
- package/dist/tools/sublayout/builders.d.ts +1 -21
- package/dist/tools/sublayout/builders.d.ts.map +1 -1
- package/dist/tools/sublayout/builders.js +10 -40
- package/dist/tools/sublayout/builders.js.map +1 -1
- package/dist/tools/sublayout/index.d.ts +1 -11
- package/dist/tools/sublayout/index.d.ts.map +1 -1
- package/dist/tools/sublayout/index.js +1 -11
- package/dist/tools/sublayout/index.js.map +1 -1
- package/dist/tools/sublayout/output-schemas.d.ts +57 -0
- package/dist/tools/sublayout/output-schemas.d.ts.map +1 -0
- package/dist/tools/sublayout/output-schemas.js +51 -0
- package/dist/tools/sublayout/output-schemas.js.map +1 -0
- package/dist/tools/tool-builder/annotations.d.ts +1 -49
- package/dist/tools/tool-builder/annotations.d.ts.map +1 -1
- package/dist/tools/tool-builder/annotations.js +9 -49
- package/dist/tools/tool-builder/annotations.js.map +1 -1
- package/dist/tools/tool-builder/confirm-preview.d.ts +24 -0
- package/dist/tools/tool-builder/confirm-preview.d.ts.map +1 -0
- package/dist/tools/tool-builder/confirm-preview.js +37 -0
- package/dist/tools/tool-builder/confirm-preview.js.map +1 -0
- package/dist/tools/tool-builder/define.d.ts +6 -26
- package/dist/tools/tool-builder/define.d.ts.map +1 -1
- package/dist/tools/tool-builder/define.js +0 -25
- package/dist/tools/tool-builder/define.js.map +1 -1
- package/dist/tools/tool-builder/index.d.ts +3 -26
- package/dist/tools/tool-builder/index.d.ts.map +1 -1
- package/dist/tools/tool-builder/index.js +2 -25
- package/dist/tools/tool-builder/index.js.map +1 -1
- package/dist/tools/tool-builder/results.d.ts +4 -111
- package/dist/tools/tool-builder/results.d.ts.map +1 -1
- package/dist/tools/tool-builder/results.js +258 -250
- package/dist/tools/tool-builder/results.js.map +1 -1
- package/dist/tools/tool-builder/types.d.ts +5 -59
- package/dist/tools/tool-builder/types.d.ts.map +1 -1
- package/dist/tools/tool-builder/types.js +0 -7
- package/dist/tools/tool-builder/types.js.map +1 -1
- package/dist/tools/tool-builder.d.ts +0 -14
- package/dist/tools/tool-builder.d.ts.map +1 -1
- package/dist/tools/tool-builder.js +0 -14
- package/dist/tools/tool-builder.js.map +1 -1
- package/dist/uninstall-skill.d.ts +0 -41
- package/dist/uninstall-skill.d.ts.map +1 -1
- package/dist/uninstall-skill.js +0 -49
- package/dist/uninstall-skill.js.map +1 -1
- package/dist/uninstall.d.ts +0 -41
- package/dist/uninstall.d.ts.map +1 -1
- package/dist/uninstall.js +1 -29
- package/dist/uninstall.js.map +1 -1
- package/dist/update/update-check.d.ts +0 -26
- package/dist/update/update-check.d.ts.map +1 -1
- package/dist/update/update-check.js +0 -25
- package/dist/update/update-check.js.map +1 -1
- package/manifest.json +4 -5
- package/package.json +5 -5
- package/skills/yt-builder-mcp/SKILL.md +2958 -382
- package/dist/tools/elements/handlers-write.d.ts +0 -70
- package/dist/tools/elements/handlers-write.d.ts.map +0 -1
- package/dist/tools/elements/handlers-write.js +0 -700
- package/dist/tools/elements/handlers-write.js.map +0 -1
- package/dist/tools/elements/handlers.d.ts +0 -125
- package/dist/tools/elements/handlers.d.ts.map +0 -1
- package/dist/tools/elements/handlers.js +0 -571
- package/dist/tools/elements/handlers.js.map +0 -1
- package/dist/tools/elements/layout-hierarchy-rules.d.ts +0 -62
- package/dist/tools/elements/layout-hierarchy-rules.d.ts.map +0 -1
- package/dist/tools/elements/layout-hierarchy-rules.js +0 -154
- package/dist/tools/elements/layout-hierarchy-rules.js.map +0 -1
- package/dist/tools/elements/schema-validation.d.ts +0 -96
- package/dist/tools/elements/schema-validation.d.ts.map +0 -1
- package/dist/tools/elements/schema-validation.js +0 -249
- package/dist/tools/elements/schema-validation.js.map +0 -1
- package/dist/tools/elicitation.d.ts +0 -87
- package/dist/tools/elicitation.d.ts.map +0 -1
- package/dist/tools/elicitation.js +0 -100
- package/dist/tools/elicitation.js.map +0 -1
- package/dist/tools/format/elements-format.d.ts +0 -75
- package/dist/tools/format/elements-format.d.ts.map +0 -1
- package/dist/tools/format/elements-format.js +0 -324
- package/dist/tools/format/elements-format.js.map +0 -1
- package/dist/tools/format/source-schema-format.d.ts +0 -74
- package/dist/tools/format/source-schema-format.d.ts.map +0 -1
- package/dist/tools/format/source-schema-format.js +0 -208
- package/dist/tools/format/source-schema-format.js.map +0 -1
- package/dist/tools/layout-flatten.d.ts +0 -84
- package/dist/tools/layout-flatten.d.ts.map +0 -1
- package/dist/tools/layout-flatten.js +0 -129
- package/dist/tools/layout-flatten.js.map +0 -1
- package/dist/tools/local-content/handlers.d.ts +0 -54
- package/dist/tools/local-content/handlers.d.ts.map +0 -1
- package/dist/tools/local-content/handlers.js +0 -316
- package/dist/tools/local-content/handlers.js.map +0 -1
- package/dist/tools/multi-items/clean-implode-handler.d.ts +0 -37
- package/dist/tools/multi-items/clean-implode-handler.d.ts.map +0 -1
- package/dist/tools/multi-items/clean-implode-handler.js +0 -65
- package/dist/tools/multi-items/clean-implode-handler.js.map +0 -1
- package/dist/tools/multi-items/format/inspection-format.d.ts +0 -41
- package/dist/tools/multi-items/format/inspection-format.d.ts.map +0 -1
- package/dist/tools/multi-items/format/inspection-format.js +0 -64
- package/dist/tools/multi-items/format/inspection-format.js.map +0 -1
- package/dist/tools/multi-items/inspect-handler.d.ts +0 -97
- package/dist/tools/multi-items/inspect-handler.d.ts.map +0 -1
- package/dist/tools/multi-items/inspect-handler.js +0 -323
- package/dist/tools/multi-items/inspect-handler.js.map +0 -1
- package/dist/tools/multi-items/inspection-cache.d.ts +0 -85
- package/dist/tools/multi-items/inspection-cache.d.ts.map +0 -1
- package/dist/tools/multi-items/inspection-cache.js +0 -126
- package/dist/tools/multi-items/inspection-cache.js.map +0 -1
- package/dist/tools/pages/handlers-audit.d.ts +0 -129
- package/dist/tools/pages/handlers-audit.d.ts.map +0 -1
- package/dist/tools/pages/handlers-audit.js +0 -704
- package/dist/tools/pages/handlers-audit.js.map +0 -1
- package/dist/tools/pages/handlers-read.d.ts +0 -95
- package/dist/tools/pages/handlers-read.d.ts.map +0 -1
- package/dist/tools/pages/handlers-read.js +0 -929
- package/dist/tools/pages/handlers-read.js.map +0 -1
- package/dist/tools/pages/handlers-write.d.ts +0 -212
- package/dist/tools/pages/handlers-write.d.ts.map +0 -1
- package/dist/tools/pages/handlers-write.js +0 -418
- package/dist/tools/pages/handlers-write.js.map +0 -1
- package/dist/tools/pages/target.d.ts +0 -162
- package/dist/tools/pages/target.d.ts.map +0 -1
- package/dist/tools/pages/target.js +0 -239
- package/dist/tools/pages/target.js.map +0 -1
- package/dist/tools/sources/handlers-bind.d.ts +0 -148
- package/dist/tools/sources/handlers-bind.d.ts.map +0 -1
- package/dist/tools/sources/handlers-bind.js +0 -655
- package/dist/tools/sources/handlers-bind.js.map +0 -1
- package/dist/tools/sources/handlers.d.ts +0 -114
- package/dist/tools/sources/handlers.d.ts.map +0 -1
- package/dist/tools/sources/handlers.js +0 -285
- package/dist/tools/sources/handlers.js.map +0 -1
- package/dist/tools/sublayout/inspect-sublayout-handler.d.ts +0 -95
- package/dist/tools/sublayout/inspect-sublayout-handler.d.ts.map +0 -1
- package/dist/tools/sublayout/inspect-sublayout-handler.js +0 -181
- package/dist/tools/sublayout/inspect-sublayout-handler.js.map +0 -1
|
@@ -1,81 +1,67 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sparse-fields helper — projects per-item field whitelists onto tool
|
|
3
|
-
* responses and exposes per-tool default-sets that the AI client can rely
|
|
4
|
-
* on when calling read tools without a `fields` parameter.
|
|
5
|
-
*
|
|
6
|
-
* Design references:
|
|
7
|
-
*
|
|
8
|
-
* - §3.5 Sparse-Fields Adaption: 4 read tools opt-in to `fields[]`;
|
|
9
|
-
* the toolkit's `pickFields` is used directly; `projected_fields` is
|
|
10
|
-
* echoed in the result envelope so the LLM can confirm exactly which
|
|
11
|
-
* keys were kept.
|
|
12
|
-
* - §4.4.1 — when used together with `flat: true` projection runs
|
|
13
|
-
* AFTER the depth-first walk so paths are stable before narrowing.
|
|
14
|
-
*
|
|
15
|
-
* Reference implementation pattern: `connections.ts:721, 779-792, 810`
|
|
16
|
-
* in `@wootsup/apimapper-mcp`.
|
|
17
|
-
*
|
|
18
|
-
* The defaults are pure constants so they can be imported, exported, and
|
|
19
|
-
* asserted against in tests without any side-effects.
|
|
20
|
-
*
|
|
21
|
-
* @license MIT
|
|
22
|
-
*/
|
|
23
1
|
import { pickFields } from '@getimo/mcp-toolkit';
|
|
24
2
|
import { z } from 'zod';
|
|
25
|
-
// ─── Schema ──────────────────────────────────────────────────────────
|
|
26
|
-
/**
|
|
27
|
-
* Optional whitelist of fields. Per Design §3.5 the cap is 40 to stop
|
|
28
|
-
* runaway prompts from blowing up the request size; nested paths
|
|
29
|
-
* (`props.title`) are supported by the toolkit's `pickFields`.
|
|
30
|
-
*/
|
|
31
3
|
export const FIELDS = z
|
|
32
4
|
.array(z.string().min(1))
|
|
33
5
|
.max(40)
|
|
34
6
|
.optional()
|
|
35
|
-
.describe('Optional whitelist of fields
|
|
36
|
-
'"props.title"
|
|
37
|
-
'
|
|
38
|
-
'
|
|
39
|
-
'
|
|
40
|
-
|
|
41
|
-
* Flag enabling client-side flattening on `page_get_layout`. When true
|
|
42
|
-
* the response shape switches from `{layout, etag}` to
|
|
43
|
-
* `{elements: [...], etag}` and `fields[]` projection becomes meaningful.
|
|
44
|
-
*/
|
|
7
|
+
.describe('Optional whitelist of fields per item; a nested path arrives under its ' +
|
|
8
|
+
'LEAF key — request "props.title", read it back as "title" (so two paths ' +
|
|
9
|
+
'with the same leaf collide). Valid names differ PER TOOL — call once ' +
|
|
10
|
+
'without `fields` and read `available_fields` from the response. Unknown ' +
|
|
11
|
+
'names are ignored and listed in unknown_fields. Applies to ROW answers: ' +
|
|
12
|
+
'page_get_layout needs flat:true, else the answer says fields_not_applied.');
|
|
45
13
|
export const FLAT = z
|
|
46
14
|
.boolean()
|
|
47
15
|
.default(false)
|
|
48
16
|
.describe('When true, response is a flat [{path, element_type, ...}] array. Enables ' +
|
|
49
17
|
'fields[] projection. Default: false (nested layout, no projection).');
|
|
50
|
-
/**
|
|
51
|
-
* G-B (Glöckle 2026-06-26): an OPTIONAL caller-supplied cap on the size of
|
|
52
|
-
* the LLM-visible text leg of a high-volume read tool, so an agent on a
|
|
53
|
-
* tight context budget can bound a single read instead of relying solely on
|
|
54
|
-
* the toolkit's count-driven default cap (2000 / 4000 / 8000 chars). Cuts
|
|
55
|
-
* the TEXT leg only — structuredContent (the UI / typed payload) is never
|
|
56
|
-
* truncated, so a host that surfaces structuredContent still sees the full
|
|
57
|
-
* result. Floor of 200 stops a pathological `max_chars: 1` from yielding an
|
|
58
|
-
* all-marker, no-content body.
|
|
59
|
-
*/
|
|
60
18
|
export const MAX_CHARS = z
|
|
61
19
|
.number()
|
|
62
20
|
.int()
|
|
63
21
|
.min(200)
|
|
64
22
|
.max(100_000)
|
|
65
23
|
.optional()
|
|
66
|
-
.describe('
|
|
67
|
-
'
|
|
68
|
-
'
|
|
69
|
-
'
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
24
|
+
.describe('Cap (chars) on the text output. Both legs carry the same shortened ' +
|
|
25
|
+
'payload, so structuredContent is not a way around the cap. ' +
|
|
26
|
+
'A `[site @ host] ` prefix is added AFTER, so delivery is ' +
|
|
27
|
+
'longer by it. ' +
|
|
28
|
+
'Raising it stops helping at the limit your own client puts on a single tool ' +
|
|
29
|
+
'result, which this server cannot see. ' +
|
|
30
|
+
'Out of range, the cap that actually applied comes back as `max_chars`.');
|
|
31
|
+
export const FIELD_NAMES = z
|
|
32
|
+
.array(z.string().min(1))
|
|
33
|
+
.optional()
|
|
34
|
+
.describe('Return ONLY these field descriptors, by exact name (case-insensitive) — ' +
|
|
35
|
+
'e.g. field_names:["image_expand","grid_masonry"]. Each match is returned ' +
|
|
36
|
+
'COMPLETE (enable/enum/default kept). Different from fields[], which picks ' +
|
|
37
|
+
'sub-keys of every descriptor. Unmatched names are not an error — the ' +
|
|
38
|
+
'response carries field_count (total) and returned_count.');
|
|
39
|
+
export const FIELD_NAME_CONTAINS = z
|
|
40
|
+
.string()
|
|
41
|
+
.optional()
|
|
42
|
+
.describe('Return ONLY the field descriptors whose NAME or LABEL contains this ' +
|
|
43
|
+
'substring (case-insensitive) — e.g. name_contains:"height" also matches ' +
|
|
44
|
+
'image_expand, whose label is "Height". Matches are returned COMPLETE. ' +
|
|
45
|
+
'Combined with field_names it UNIONs (each names what you want). Blank = ' +
|
|
46
|
+
'no filter.');
|
|
47
|
+
export function selectDescriptorsByName(rows, names, contains) {
|
|
48
|
+
const wanted = new Set((names ?? [])
|
|
49
|
+
.filter((n) => typeof n === 'string')
|
|
50
|
+
.map((n) => n.trim().toLowerCase())
|
|
51
|
+
.filter((n) => n !== ''));
|
|
52
|
+
const needle = typeof contains === 'string' ? contains.trim().toLowerCase() : '';
|
|
53
|
+
if (wanted.size === 0 && needle === '')
|
|
54
|
+
return [...rows];
|
|
55
|
+
return rows.filter((row) => {
|
|
56
|
+
const name = typeof row.name === 'string' ? row.name : '';
|
|
57
|
+
if (wanted.size > 0 && wanted.has(name.toLowerCase()))
|
|
58
|
+
return true;
|
|
59
|
+
if (needle === '')
|
|
60
|
+
return false;
|
|
61
|
+
const label = typeof row.label === 'string' ? row.label : '';
|
|
62
|
+
return `${name} ${label}`.toLowerCase().includes(needle);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
79
65
|
export function decodeOffsetCursor(cursor) {
|
|
80
66
|
if (cursor === undefined || cursor === '')
|
|
81
67
|
return 0;
|
|
@@ -94,23 +80,7 @@ export function decodeOffsetCursor(cursor) {
|
|
|
94
80
|
export function encodeOffsetCursor(offset) {
|
|
95
81
|
return Buffer.from(`o:${offset}`, 'utf8').toString('base64url');
|
|
96
82
|
}
|
|
97
|
-
|
|
98
|
-
const TRUNCATION_MARKER = '\n--- TRUNCATED by max_chars ---';
|
|
99
|
-
/**
|
|
100
|
-
* B7: window a string from `offset` for up to `maxChars` chars, reporting
|
|
101
|
-
* whether anything remains after the slice.
|
|
102
|
-
*
|
|
103
|
-
* Pure. When `maxChars` is undefined the WHOLE remainder from `offset` is
|
|
104
|
-
* returned unclipped (the default, no-cursor path). When the remainder fits
|
|
105
|
-
* within `maxChars` it is returned unclipped. Otherwise the slice is capped
|
|
106
|
-
* (reserving room for the truncation marker so the returned text never exceeds
|
|
107
|
-
* `maxChars`) and `clipped` is true with `nextOffset` pointing one past the
|
|
108
|
-
* last raw char emitted — so a follow-up read resumes EXACTLY where this one
|
|
109
|
-
* stopped, losing no characters.
|
|
110
|
-
*
|
|
111
|
-
* `offset` is clamped to `[0, text.length]`; a `nextOffset === text.length`
|
|
112
|
-
* read returns an empty, unclipped final slice (the natural end of paging).
|
|
113
|
-
*/
|
|
83
|
+
export const TRUNCATION_MARKER = '\n--- TRUNCATED by max_chars — narrowing the request (fields[]/scope args) beats raising the cap ---';
|
|
114
84
|
export function clipTextWindow(text, offset, maxChars) {
|
|
115
85
|
const start = Math.min(Math.max(0, offset), text.length);
|
|
116
86
|
const remainder = text.slice(start);
|
|
@@ -126,19 +96,6 @@ export function clipTextWindow(text, offset, maxChars) {
|
|
|
126
96
|
offset: start,
|
|
127
97
|
};
|
|
128
98
|
}
|
|
129
|
-
/**
|
|
130
|
-
* G-B: cap the text leg of an already-built tool result at `maxChars`.
|
|
131
|
-
*
|
|
132
|
-
* Pure: returns a NEW result, never mutates. Truncates ONLY the first text
|
|
133
|
-
* content block (the LLM-visible leg) when it exceeds `maxChars`; every other
|
|
134
|
-
* block — and `structuredContent` / `_meta` — passes through untouched so the
|
|
135
|
-
* UI / typed payload remains complete. A no-op when `maxChars` is undefined,
|
|
136
|
-
* when the first block is not text, or when the text is already within budget.
|
|
137
|
-
*
|
|
138
|
-
* The slice reserves room for the truncation marker so the returned text never
|
|
139
|
-
* exceeds `maxChars`. B7: implemented on top of {@link clipTextWindow} (offset
|
|
140
|
-
* 0) so the simple cap and the continuation-cursor path clip identically.
|
|
141
|
-
*/
|
|
142
99
|
export function applyMaxChars(result, maxChars) {
|
|
143
100
|
if (maxChars === undefined)
|
|
144
101
|
return result;
|
|
@@ -155,13 +112,6 @@ export function applyMaxChars(result, maxChars) {
|
|
|
155
112
|
content: [{ ...first, text: window.text }, ...rest],
|
|
156
113
|
};
|
|
157
114
|
}
|
|
158
|
-
// ─── Default field-sets per tool ─────────────────────────────────────
|
|
159
|
-
/**
|
|
160
|
-
* Default fields echoed when the caller omits `fields`. Following the
|
|
161
|
-
* apimapper-mcp convention these are **echo-only** — projection itself
|
|
162
|
-
* is skipped (default-all preserved) but `projected_fields` still
|
|
163
|
-
* surfaces the implicit compact set so the AI can plan future requests.
|
|
164
|
-
*/
|
|
165
115
|
export const DEFAULT_FIELDS_PAGES_LIST = [
|
|
166
116
|
'id',
|
|
167
117
|
'label',
|
|
@@ -174,16 +124,13 @@ export const DEFAULT_FIELDS_ELEMENT_LIST = [
|
|
|
174
124
|
'element_type',
|
|
175
125
|
'label',
|
|
176
126
|
];
|
|
177
|
-
export const DEFAULT_FIELDS_SCHEMA = [
|
|
178
|
-
'path',
|
|
179
|
-
'element_type',
|
|
180
|
-
'label',
|
|
181
|
-
];
|
|
182
127
|
export const DEFAULT_FIELDS_SOURCES_LIST = [
|
|
183
128
|
'name',
|
|
184
129
|
'label',
|
|
185
130
|
'origin',
|
|
131
|
+
'group',
|
|
186
132
|
'kind',
|
|
133
|
+
'context_note',
|
|
187
134
|
];
|
|
188
135
|
export const DEFAULT_FIELDS_TYPES_LIST = [
|
|
189
136
|
'name',
|
|
@@ -191,24 +138,7 @@ export const DEFAULT_FIELDS_TYPES_LIST = [
|
|
|
191
138
|
'origin',
|
|
192
139
|
'has_children_support',
|
|
193
140
|
];
|
|
194
|
-
/**
|
|
195
|
-
* element_get defaults to "all" because the AI often needs the full
|
|
196
|
-
* props payload for follow-up edits; sparse projection here is opt-in
|
|
197
|
-
* with nested-path support.
|
|
198
|
-
*/
|
|
199
141
|
export const DEFAULT_FIELDS_ELEMENT_GET = undefined;
|
|
200
|
-
// ─── Pure projection helpers ─────────────────────────────────────────
|
|
201
|
-
/**
|
|
202
|
-
* Project an array of items to the requested fields. Returns items
|
|
203
|
-
* unchanged when `fields` is undefined (default-all). Skips non-object
|
|
204
|
-
* entries without crashing (they pass through as-is).
|
|
205
|
-
*
|
|
206
|
-
* @param items - The items to project.
|
|
207
|
-
* @param fields - The whitelist; `undefined` skips projection.
|
|
208
|
-
* @param _defaults - Per-tool default set, accepted for interface symmetry
|
|
209
|
-
* with `projectedFieldsEcho` (unused for actual projection — default-all
|
|
210
|
-
* semantics matches the apimapper-mcp reference, see `connections.ts:789`).
|
|
211
|
-
*/
|
|
212
142
|
export function projectFields(items, fields, _defaults) {
|
|
213
143
|
if (fields === undefined) {
|
|
214
144
|
return [...items];
|
|
@@ -221,10 +151,6 @@ export function projectFields(items, fields, _defaults) {
|
|
|
221
151
|
return pickFields(item, mutable);
|
|
222
152
|
});
|
|
223
153
|
}
|
|
224
|
-
/**
|
|
225
|
-
* Project a single object via the same `pickFields` rules. Returns the
|
|
226
|
-
* object unchanged when `fields` is undefined.
|
|
227
|
-
*/
|
|
228
154
|
export function projectFieldsSingle(obj, fields, _defaults) {
|
|
229
155
|
if (fields === undefined) {
|
|
230
156
|
return obj;
|
|
@@ -234,15 +160,6 @@ export function projectFieldsSingle(obj, fields, _defaults) {
|
|
|
234
160
|
}
|
|
235
161
|
return pickFields(obj, [...fields]);
|
|
236
162
|
}
|
|
237
|
-
/**
|
|
238
|
-
* Compute the `projected_fields` echo. Returns the caller-requested
|
|
239
|
-
* fields when provided; otherwise returns the per-tool default set so
|
|
240
|
-
* the AI client knows exactly which compact view it implicitly opted into.
|
|
241
|
-
*
|
|
242
|
-
* @returns `undefined` only when neither `requested` nor `defaults` was set
|
|
243
|
-
* (e.g. `element_get` with no opt-in) — callers should omit
|
|
244
|
-
* `projected_fields` from the structuredContent in that case.
|
|
245
|
-
*/
|
|
246
163
|
export function projectedFieldsEcho(requested, defaults) {
|
|
247
164
|
if (requested !== undefined)
|
|
248
165
|
return requested;
|
|
@@ -250,9 +167,27 @@ export function projectedFieldsEcho(requested, defaults) {
|
|
|
250
167
|
return defaults;
|
|
251
168
|
return undefined;
|
|
252
169
|
}
|
|
170
|
+
function pathState(item, segments) {
|
|
171
|
+
let current = item;
|
|
172
|
+
for (let i = 0; i < segments.length; i++) {
|
|
173
|
+
if (current === null || typeof current !== 'object' || Array.isArray(current)) {
|
|
174
|
+
return 'not-nestable';
|
|
175
|
+
}
|
|
176
|
+
const key = segments[i];
|
|
177
|
+
const value = key === undefined ? undefined : current[key];
|
|
178
|
+
if (value === undefined)
|
|
179
|
+
return 'missing';
|
|
180
|
+
if (i === segments.length - 1)
|
|
181
|
+
return 'found';
|
|
182
|
+
current = value;
|
|
183
|
+
}
|
|
184
|
+
return 'missing';
|
|
185
|
+
}
|
|
253
186
|
export function projectionFeedback(items, requested) {
|
|
254
187
|
if (requested === undefined || requested.length === 0)
|
|
255
188
|
return undefined;
|
|
189
|
+
if (items.length === 0)
|
|
190
|
+
return undefined;
|
|
256
191
|
const seen = new Set();
|
|
257
192
|
for (const item of items) {
|
|
258
193
|
if (item && typeof item === 'object' && !Array.isArray(item)) {
|
|
@@ -261,56 +196,130 @@ export function projectionFeedback(items, requested) {
|
|
|
261
196
|
}
|
|
262
197
|
}
|
|
263
198
|
const available = [...seen].sort();
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
const top = f.split('.')[0];
|
|
270
|
-
return top !== undefined && !seen.has(top);
|
|
199
|
+
const unknown = requested.filter((field) => {
|
|
200
|
+
const segments = field.split('.');
|
|
201
|
+
if (segments.length === 1)
|
|
202
|
+
return !seen.has(field);
|
|
203
|
+
return items.every((item) => pathState(item, segments) === 'missing');
|
|
271
204
|
});
|
|
272
|
-
return {
|
|
205
|
+
return {
|
|
206
|
+
available_fields: available,
|
|
207
|
+
...(() => {
|
|
208
|
+
const byKind = availableFieldsByKind(items);
|
|
209
|
+
return byKind === undefined ? {} : { available_fields_by_kind: byKind };
|
|
210
|
+
})(),
|
|
211
|
+
unknown_fields: unknown,
|
|
212
|
+
field_coverage: fieldCoverage(items, requested) ?? {},
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
export function availableFieldsByKind(items) {
|
|
216
|
+
const seenByKind = new Map();
|
|
217
|
+
for (const item of items) {
|
|
218
|
+
if (item === null || typeof item !== 'object' || Array.isArray(item))
|
|
219
|
+
continue;
|
|
220
|
+
const kind = item['kind'];
|
|
221
|
+
if (typeof kind !== 'string' || kind === '')
|
|
222
|
+
continue;
|
|
223
|
+
const bucket = seenByKind.get(kind) ?? new Set();
|
|
224
|
+
for (const k of Object.keys(item))
|
|
225
|
+
bucket.add(k);
|
|
226
|
+
seenByKind.set(kind, bucket);
|
|
227
|
+
}
|
|
228
|
+
if (seenByKind.size < 2)
|
|
229
|
+
return undefined;
|
|
230
|
+
const out = {};
|
|
231
|
+
for (const kind of [...seenByKind.keys()].sort()) {
|
|
232
|
+
out[kind] = [...seenByKind.get(kind)].sort();
|
|
233
|
+
}
|
|
234
|
+
return out;
|
|
235
|
+
}
|
|
236
|
+
export const FIELD_COVERAGE_SCHEMA = z.record(z.string(), z.string()).optional();
|
|
237
|
+
export function fieldCoverage(items, requested) {
|
|
238
|
+
if (requested === undefined || requested.length === 0)
|
|
239
|
+
return undefined;
|
|
240
|
+
if (items.length === 0)
|
|
241
|
+
return undefined;
|
|
242
|
+
const coverage = {};
|
|
243
|
+
for (const field of requested) {
|
|
244
|
+
const segments = field.split('.');
|
|
245
|
+
let carrying = 0;
|
|
246
|
+
for (const item of items) {
|
|
247
|
+
if (pathState(item, segments) === 'found')
|
|
248
|
+
carrying += 1;
|
|
249
|
+
}
|
|
250
|
+
coverage[field] = `${carrying}/${items.length}`;
|
|
251
|
+
}
|
|
252
|
+
return coverage;
|
|
273
253
|
}
|
|
274
|
-
/**
|
|
275
|
-
* F23 (2026-06-09): single source of truth for the LOUD text-leg warning
|
|
276
|
-
* a tool appends to its table header when a `fields[]` projection
|
|
277
|
-
* contained keys that did not exist on any row.
|
|
278
|
-
*
|
|
279
|
-
* Before this helper every read tool assembled the note inline (subtly
|
|
280
|
-
* different wording per tool, and a new tool wiring `projectionFeedback`
|
|
281
|
-
* could silently forget the text-leg note entirely — only the
|
|
282
|
-
* structuredContent `unknown_fields` array surfaced it, which cold
|
|
283
|
-
* agents never read). Centralising the string here means ALL tools
|
|
284
|
-
* surface the identical, self-correcting signal:
|
|
285
|
-
*
|
|
286
|
-
* " (unknown projection fields ignored: type — available: rel_path, …)"
|
|
287
|
-
*
|
|
288
|
-
* Returns the EMPTY string when there is nothing to warn about (feedback
|
|
289
|
-
* undefined, or `unknown_fields` empty) so call-sites can unconditionally
|
|
290
|
-
* append the result to their header.
|
|
291
|
-
*
|
|
292
|
-
* The leading space lets a call-site write `header${warning}` without an
|
|
293
|
-
* extra separator; the parentheses keep it visually scoped inside the
|
|
294
|
-
* header line.
|
|
295
|
-
*/
|
|
296
254
|
export function projectionWarning(feedback) {
|
|
297
|
-
if (feedback === undefined
|
|
255
|
+
if (feedback === undefined)
|
|
298
256
|
return '';
|
|
257
|
+
if (feedback.unknown_fields.length > 0) {
|
|
258
|
+
return (` (unknown projection fields ignored: ${feedback.unknown_fields.join(', ')}` +
|
|
259
|
+
` — available: ${feedback.available_fields.join(', ')})`);
|
|
299
260
|
}
|
|
300
|
-
return
|
|
301
|
-
|
|
261
|
+
return '';
|
|
262
|
+
}
|
|
263
|
+
export function projectionInlineNote(feedback, fields) {
|
|
264
|
+
return projectionWarning(feedback) + projectionCollisionWarning(fields);
|
|
265
|
+
}
|
|
266
|
+
export function projectionCoverageBlock(coverage, unknownFields) {
|
|
267
|
+
if (coverage === undefined)
|
|
268
|
+
return '';
|
|
269
|
+
const alreadyReported = new Set(unknownFields ?? []);
|
|
270
|
+
const entries = Object.entries(coverage).filter(([field]) => !alreadyReported.has(field));
|
|
271
|
+
if (entries.length === 0)
|
|
272
|
+
return '';
|
|
273
|
+
const parsed = entries.map(([field, ratio]) => {
|
|
274
|
+
const [carryingRaw, totalRaw] = ratio.split('/');
|
|
275
|
+
return {
|
|
276
|
+
field,
|
|
277
|
+
ratio,
|
|
278
|
+
carrying: Number(carryingRaw),
|
|
279
|
+
total: Number(totalRaw),
|
|
280
|
+
};
|
|
281
|
+
});
|
|
282
|
+
const partial = parsed.filter((e) => e.carrying < e.total);
|
|
283
|
+
if (partial.length === 0)
|
|
284
|
+
return '';
|
|
285
|
+
const rendered = parsed.map((e) => `${e.field} ${e.ratio}`).join(', ');
|
|
286
|
+
const opening = partial.length === parsed.length && partial.every((e) => e.carrying === 0)
|
|
287
|
+
? `No row carried any requested field (${rendered}).`
|
|
288
|
+
: `Partial field coverage: ${rendered}.`;
|
|
289
|
+
return (`${opening} A field missing on a row says NOTHING about whether that row is ` +
|
|
290
|
+
`empty — many rows legitimately do not carry a given field. Judge the content ` +
|
|
291
|
+
`by the row count, not by how many rows the projection filled.\n\n`);
|
|
292
|
+
}
|
|
293
|
+
export function prependTextBlock(result, block) {
|
|
294
|
+
if (block === '')
|
|
295
|
+
return result;
|
|
296
|
+
const first = result.content[0];
|
|
297
|
+
if (first === undefined || first.type !== 'text' || typeof first.text !== 'string') {
|
|
298
|
+
return result;
|
|
299
|
+
}
|
|
300
|
+
const rest = result.content.slice(1);
|
|
301
|
+
return { ...result, content: [{ ...first, text: `${block}${first.text}` }, ...rest] };
|
|
302
|
+
}
|
|
303
|
+
export function singleObjectProjectionFeedback(obj, fields) {
|
|
304
|
+
const feedback = projectionFeedback([obj], fields);
|
|
305
|
+
if (feedback === undefined)
|
|
306
|
+
return undefined;
|
|
307
|
+
return {
|
|
308
|
+
...feedback,
|
|
309
|
+
unknown_fields: feedback.unknown_fields.filter((f) => !f.includes('.')),
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
export function projectionDetailBlock(feedback, fields) {
|
|
313
|
+
const coverage = projectionCoverageBlock(feedback?.field_coverage, feedback?.unknown_fields);
|
|
314
|
+
const inline = projectionInlineNote(feedback, fields).trim();
|
|
315
|
+
return `${coverage}${inline === '' ? '' : `${inline}\n\n`}`;
|
|
316
|
+
}
|
|
317
|
+
export function projectionNoteText(...parts) {
|
|
318
|
+
return parts
|
|
319
|
+
.map((part) => part.trim())
|
|
320
|
+
.filter((part) => part !== '')
|
|
321
|
+
.join(' ');
|
|
302
322
|
}
|
|
303
|
-
/**
|
|
304
|
-
* ELEMENT_WRITE-5 — detect requested fields that FLATTEN to the same output key.
|
|
305
|
-
*
|
|
306
|
-
* The toolkit's `pickFields` emits a nested path under its LAST segment
|
|
307
|
-
* (`props.content` → `content`), so two requested fields whose leaf segment is
|
|
308
|
-
* identical (`name` + `props.name`, or `props.title` + `meta.title`) collapse to
|
|
309
|
-
* ONE row key — last-write-wins, silently losing a value. This returns a LOUD
|
|
310
|
-
* text-leg warning naming each colliding group so the caller can disambiguate,
|
|
311
|
-
* or the EMPTY string when there is no collision (so a call-site can
|
|
312
|
-
* unconditionally append it). The leading space matches `projectionWarning`.
|
|
313
|
-
*/
|
|
314
323
|
export function projectionCollisionWarning(fields) {
|
|
315
324
|
if (fields === undefined || fields.length < 2)
|
|
316
325
|
return '';
|
|
@@ -331,8 +340,6 @@ export function projectionCollisionWarning(fields) {
|
|
|
331
340
|
return (` (projection collision — these requested fields flatten to the same row key ` +
|
|
332
341
|
`(last-write-wins): ${parts.join('; ')})`);
|
|
333
342
|
}
|
|
334
|
-
// ─── Text-table column projection ────────────────────────────────────
|
|
335
|
-
/** Field keys that get a wide text-table column (paths, URLs, hash ids). */
|
|
336
343
|
const WIDE_FIELD_KEYS = new Set([
|
|
337
344
|
'path',
|
|
338
345
|
'rel_path',
|
|
@@ -340,24 +347,33 @@ const WIDE_FIELD_KEYS = new Set([
|
|
|
340
347
|
'url',
|
|
341
348
|
'home_url',
|
|
342
349
|
'site_url',
|
|
343
|
-
'
|
|
350
|
+
'layout_id',
|
|
344
351
|
'permalink',
|
|
352
|
+
'name',
|
|
353
|
+
'source_name',
|
|
345
354
|
]);
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
return
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
355
|
+
const REFERENCED_FIELD_KEYS = new Set(['path', 'rel_path']);
|
|
356
|
+
const NARROW_WIDTH = 16;
|
|
357
|
+
const WIDE_WIDTH = 48;
|
|
358
|
+
function widestValue(rows, key, label) {
|
|
359
|
+
let widest = label.length;
|
|
360
|
+
for (const row of rows) {
|
|
361
|
+
const value = row[key];
|
|
362
|
+
const length = value === null || value === undefined ? 0 : String(value).length;
|
|
363
|
+
if (length > widest)
|
|
364
|
+
widest = length;
|
|
365
|
+
}
|
|
366
|
+
return widest;
|
|
367
|
+
}
|
|
368
|
+
export function columnsFromFields(fields, rows) {
|
|
369
|
+
return fields.map((key) => {
|
|
370
|
+
const label = key.replace(/_/g, ' ').toUpperCase();
|
|
371
|
+
if (!WIDE_FIELD_KEYS.has(key))
|
|
372
|
+
return { key, label, width: NARROW_WIDTH };
|
|
373
|
+
const width = rows === undefined
|
|
374
|
+
? WIDE_WIDTH
|
|
375
|
+
: Math.min(WIDE_WIDTH, Math.max(NARROW_WIDTH, widestValue(rows, key, label)));
|
|
376
|
+
return REFERENCED_FIELD_KEYS.has(key) ? { key, label, width, neverTruncate: true } : { key, label, width };
|
|
377
|
+
});
|
|
362
378
|
}
|
|
363
379
|
//# sourceMappingURL=sparse-fields.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sparse-fields.js","sourceRoot":"","sources":["../../src/tools/sparse-fields.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sparse-fields.js","sourceRoot":"","sources":["../../src/tools/sparse-fields.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { z, type ZodRawShape } from 'zod';
|
|
2
|
+
export declare function rankNearestKeys(unknownKey: string, declared: readonly string[], take?: number): readonly string[];
|
|
3
|
+
export declare function unknownArgumentMessage(toolName: string, keys: readonly string[], declared: readonly string[]): string;
|
|
4
|
+
export declare function strictInputObject<TShape extends ZodRawShape>(toolName: string, shape: TShape): z.ZodObject<TShape>;
|
|
5
|
+
//# sourceMappingURL=strict-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strict-input.d.ts","sourceRoot":"","sources":["../../src/tools/strict-input.ts"],"names":[],"mappings":"AAmDA,OAAO,EAAE,CAAC,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;AAyC1C,wBAAgB,eAAe,CAC3B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,IAAI,SAAI,GACT,SAAS,MAAM,EAAE,CAOnB;AAcD,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC5B,MAAM,CAeR;AAiDD,wBAAgB,iBAAiB,CAAC,MAAM,SAAS,WAAW,EACxD,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACd,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAYrB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
function editDistance(a, b) {
|
|
3
|
+
if (a === b)
|
|
4
|
+
return 0;
|
|
5
|
+
if (a.length === 0)
|
|
6
|
+
return b.length;
|
|
7
|
+
if (b.length === 0)
|
|
8
|
+
return a.length;
|
|
9
|
+
let prev = Array.from({ length: b.length + 1 }, (_, i) => i);
|
|
10
|
+
let curr = new Array(b.length + 1).fill(0);
|
|
11
|
+
for (let i = 1; i <= a.length; i += 1) {
|
|
12
|
+
curr[0] = i;
|
|
13
|
+
for (let j = 1; j <= b.length; j += 1) {
|
|
14
|
+
const substitution = (prev[j - 1] ?? 0) + (a[i - 1] === b[j - 1] ? 0 : 1);
|
|
15
|
+
const deletion = (prev[j] ?? 0) + 1;
|
|
16
|
+
const insertion = (curr[j - 1] ?? 0) + 1;
|
|
17
|
+
curr[j] = Math.min(substitution, deletion, insertion);
|
|
18
|
+
}
|
|
19
|
+
const swap = prev;
|
|
20
|
+
prev = curr;
|
|
21
|
+
curr = swap;
|
|
22
|
+
}
|
|
23
|
+
return prev[b.length] ?? Math.max(a.length, b.length);
|
|
24
|
+
}
|
|
25
|
+
export function rankNearestKeys(unknownKey, declared, take = 3) {
|
|
26
|
+
const lower = unknownKey.toLowerCase();
|
|
27
|
+
return [...declared]
|
|
28
|
+
.map((key, index) => ({ key, index, d: editDistance(lower, key.toLowerCase()) }))
|
|
29
|
+
.sort((x, y) => (x.d === y.d ? x.index - y.index : x.d - y.d))
|
|
30
|
+
.slice(0, take)
|
|
31
|
+
.map((entry) => entry.key);
|
|
32
|
+
}
|
|
33
|
+
export function unknownArgumentMessage(toolName, keys, declared) {
|
|
34
|
+
const offenders = keys
|
|
35
|
+
.map((key) => {
|
|
36
|
+
const near = rankNearestKeys(key, declared);
|
|
37
|
+
return near.length > 0
|
|
38
|
+
? `"${key}" (closest declared: ${near.join(', ')})`
|
|
39
|
+
: `"${key}"`;
|
|
40
|
+
})
|
|
41
|
+
.join('; ');
|
|
42
|
+
const noun = keys.length === 1 ? 'argument' : 'arguments';
|
|
43
|
+
return (`Unknown ${noun} for ${toolName}: ${offenders}. ` +
|
|
44
|
+
`Unknown arguments are REJECTED, not ignored — nothing was written. ` +
|
|
45
|
+
`Declared arguments: ${declared.length > 0 ? declared.join(', ') : '(none)'}.`);
|
|
46
|
+
}
|
|
47
|
+
export function strictInputObject(toolName, shape) {
|
|
48
|
+
const declared = Object.keys(shape);
|
|
49
|
+
return z.strictObject(shape, {
|
|
50
|
+
error: (issue) => issue.code === 'unrecognized_keys'
|
|
51
|
+
? unknownArgumentMessage(toolName, issue.keys ?? [], declared)
|
|
52
|
+
: undefined,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=strict-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strict-input.js","sourceRoot":"","sources":["../../src/tools/strict-input.ts"],"names":[],"mappings":"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"}
|