@wootsup/yt-builder-mcp 1.1.6 → 1.1.7
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/dist/auth.d.ts +119 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +226 -0
- package/dist/auth.js.map +1 -0
- package/dist/client.d.ts +84 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +151 -0
- package/dist/client.js.map +1 -0
- package/dist/clients/claude-code.d.ts +18 -0
- package/dist/clients/claude-code.d.ts.map +1 -0
- package/dist/clients/claude-code.js +53 -0
- package/dist/clients/claude-code.js.map +1 -0
- package/dist/clients/claude-desktop.d.ts +19 -0
- package/dist/clients/claude-desktop.d.ts.map +1 -0
- package/dist/clients/claude-desktop.js +56 -0
- package/dist/clients/claude-desktop.js.map +1 -0
- package/dist/clients/cline.d.ts +26 -0
- package/dist/clients/cline.d.ts.map +1 -0
- package/dist/clients/cline.js +80 -0
- package/dist/clients/cline.js.map +1 -0
- package/dist/clients/codex-cli.d.ts +42 -0
- package/dist/clients/codex-cli.d.ts.map +1 -0
- package/dist/clients/codex-cli.js +194 -0
- package/dist/clients/codex-cli.js.map +1 -0
- package/dist/clients/continue.d.ts +13 -0
- package/dist/clients/continue.d.ts.map +1 -0
- package/dist/clients/continue.js +52 -0
- package/dist/clients/continue.js.map +1 -0
- package/dist/clients/cursor.d.ts +12 -0
- package/dist/clients/cursor.d.ts.map +1 -0
- package/dist/clients/cursor.js +38 -0
- package/dist/clients/cursor.js.map +1 -0
- package/dist/clients/gemini-cli.d.ts +18 -0
- package/dist/clients/gemini-cli.d.ts.map +1 -0
- package/dist/clients/gemini-cli.js +44 -0
- package/dist/clients/gemini-cli.js.map +1 -0
- package/dist/clients/home.d.ts +14 -0
- package/dist/clients/home.d.ts.map +1 -0
- package/dist/clients/home.js +20 -0
- package/dist/clients/home.js.map +1 -0
- package/dist/clients/index.d.ts +52 -0
- package/dist/clients/index.d.ts.map +1 -0
- package/dist/clients/index.js +72 -0
- package/dist/clients/index.js.map +1 -0
- package/dist/clients/roo-code.d.ts +23 -0
- package/dist/clients/roo-code.d.ts.map +1 -0
- package/dist/clients/roo-code.js +69 -0
- package/dist/clients/roo-code.js.map +1 -0
- package/dist/clients/zed.d.ts +12 -0
- package/dist/clients/zed.d.ts.map +1 -0
- package/dist/clients/zed.js +41 -0
- package/dist/clients/zed.js.map +1 -0
- package/dist/errors/hints.d.ts +51 -0
- package/dist/errors/hints.d.ts.map +1 -0
- package/dist/errors/hints.js +95 -0
- package/dist/errors/hints.js.map +1 -0
- package/dist/errors/mask.d.ts +35 -0
- package/dist/errors/mask.d.ts.map +1 -0
- package/dist/errors/mask.js +49 -0
- package/dist/errors/mask.js.map +1 -0
- package/dist/errors/sanitize.d.ts +31 -0
- package/dist/errors/sanitize.d.ts.map +1 -0
- package/dist/errors/sanitize.js +100 -0
- package/dist/errors/sanitize.js.map +1 -0
- package/dist/errors.d.ts +42 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +61 -0
- package/dist/errors.js.map +1 -0
- package/dist/gateway/advanced-tool/discovery.d.ts +19 -0
- package/dist/gateway/advanced-tool/discovery.d.ts.map +1 -0
- package/dist/gateway/advanced-tool/discovery.js +53 -0
- package/dist/gateway/advanced-tool/discovery.js.map +1 -0
- package/dist/gateway/advanced-tool/domains.d.ts +47 -0
- package/dist/gateway/advanced-tool/domains.d.ts.map +1 -0
- package/dist/gateway/advanced-tool/domains.js +94 -0
- package/dist/gateway/advanced-tool/domains.js.map +1 -0
- package/dist/gateway/advanced-tool/execute.d.ts +29 -0
- package/dist/gateway/advanced-tool/execute.d.ts.map +1 -0
- package/dist/gateway/advanced-tool/execute.js +54 -0
- package/dist/gateway/advanced-tool/execute.js.map +1 -0
- package/dist/gateway/advanced-tool/index.d.ts +36 -0
- package/dist/gateway/advanced-tool/index.d.ts.map +1 -0
- package/dist/gateway/advanced-tool/index.js +39 -0
- package/dist/gateway/advanced-tool/index.js.map +1 -0
- package/dist/gateway/advanced-tool/register.d.ts +18 -0
- package/dist/gateway/advanced-tool/register.d.ts.map +1 -0
- package/dist/gateway/advanced-tool/register.js +69 -0
- package/dist/gateway/advanced-tool/register.js.map +1 -0
- package/dist/gateway/advanced-tool.d.ts +13 -0
- package/dist/gateway/advanced-tool.d.ts.map +1 -0
- package/dist/gateway/advanced-tool.js +13 -0
- package/dist/gateway/advanced-tool.js.map +1 -0
- package/dist/gateway/capturing-server.d.ts +117 -0
- package/dist/gateway/capturing-server.d.ts.map +1 -0
- package/dist/gateway/capturing-server.js +103 -0
- package/dist/gateway/capturing-server.js.map +1 -0
- package/dist/gateway/essentials.d.ts +50 -0
- package/dist/gateway/essentials.d.ts.map +1 -0
- package/dist/gateway/essentials.js +94 -0
- package/dist/gateway/essentials.js.map +1 -0
- package/dist/gateway/test-support.d.ts +41 -0
- package/dist/gateway/test-support.d.ts.map +1 -0
- package/dist/gateway/test-support.js +60 -0
- package/dist/gateway/test-support.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +111 -0
- package/dist/index.js.map +1 -0
- package/dist/install-skill.d.ts +43 -0
- package/dist/install-skill.d.ts.map +1 -0
- package/dist/install-skill.js +118 -0
- package/dist/install-skill.js.map +1 -0
- package/dist/platform/detect.d.ts +64 -0
- package/dist/platform/detect.d.ts.map +1 -0
- package/dist/platform/detect.js +98 -0
- package/dist/platform/detect.js.map +1 -0
- package/dist/platform/index.d.ts +121 -0
- package/dist/platform/index.d.ts.map +1 -0
- package/dist/platform/index.js +176 -0
- package/dist/platform/index.js.map +1 -0
- package/dist/platform/joomla.d.ts +44 -0
- package/dist/platform/joomla.d.ts.map +1 -0
- package/dist/platform/joomla.js +46 -0
- package/dist/platform/joomla.js.map +1 -0
- package/dist/server.d.ts +110 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +274 -0
- package/dist/server.js.map +1 -0
- package/dist/setup-cli-confirm.d.ts +36 -0
- package/dist/setup-cli-confirm.d.ts.map +1 -0
- package/dist/setup-cli-confirm.js +59 -0
- package/dist/setup-cli-confirm.js.map +1 -0
- package/dist/setup-cli.d.ts +152 -0
- package/dist/setup-cli.d.ts.map +1 -0
- package/dist/setup-cli.js +870 -0
- package/dist/setup-cli.js.map +1 -0
- package/dist/setup-prompts.d.ts +41 -0
- package/dist/setup-prompts.d.ts.map +1 -0
- package/dist/setup-prompts.js +146 -0
- package/dist/setup-prompts.js.map +1 -0
- package/dist/setup-token.d.ts +38 -0
- package/dist/setup-token.d.ts.map +1 -0
- package/dist/setup-token.js +106 -0
- package/dist/setup-token.js.map +1 -0
- package/dist/setup-wizard-defaults.d.ts +43 -0
- package/dist/setup-wizard-defaults.d.ts.map +1 -0
- package/dist/setup-wizard-defaults.js +160 -0
- package/dist/setup-wizard-defaults.js.map +1 -0
- package/dist/setup-wizard-handshake.d.ts +25 -0
- package/dist/setup-wizard-handshake.d.ts.map +1 -0
- package/dist/setup-wizard-handshake.js +103 -0
- package/dist/setup-wizard-handshake.js.map +1 -0
- package/dist/setup-wizard-types.d.ts +164 -0
- package/dist/setup-wizard-types.d.ts.map +1 -0
- package/dist/setup-wizard-types.js +11 -0
- package/dist/setup-wizard-types.js.map +1 -0
- package/dist/setup-wizard.d.ts +33 -0
- package/dist/setup-wizard.d.ts.map +1 -0
- package/dist/setup-wizard.js +199 -0
- package/dist/setup-wizard.js.map +1 -0
- package/dist/setup.d.ts +17 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +33 -0
- package/dist/setup.js.map +1 -0
- package/dist/sites/cli/add-site.d.ts +106 -0
- package/dist/sites/cli/add-site.d.ts.map +1 -0
- package/dist/sites/cli/add-site.js +185 -0
- package/dist/sites/cli/add-site.js.map +1 -0
- package/dist/sites/cli/list-sites.d.ts +40 -0
- package/dist/sites/cli/list-sites.d.ts.map +1 -0
- package/dist/sites/cli/list-sites.js +116 -0
- package/dist/sites/cli/list-sites.js.map +1 -0
- package/dist/sites/cli/remove-site.d.ts +60 -0
- package/dist/sites/cli/remove-site.d.ts.map +1 -0
- package/dist/sites/cli/remove-site.js +120 -0
- package/dist/sites/cli/remove-site.js.map +1 -0
- package/dist/sites/cli/set-default.d.ts +47 -0
- package/dist/sites/cli/set-default.d.ts.map +1 -0
- package/dist/sites/cli/set-default.js +69 -0
- package/dist/sites/cli/set-default.js.map +1 -0
- package/dist/sites/cli/test-site.d.ts +77 -0
- package/dist/sites/cli/test-site.d.ts.map +1 -0
- package/dist/sites/cli/test-site.js +146 -0
- package/dist/sites/cli/test-site.js.map +1 -0
- package/dist/sites/client-pool.d.ts +124 -0
- package/dist/sites/client-pool.d.ts.map +1 -0
- package/dist/sites/client-pool.js +172 -0
- package/dist/sites/client-pool.js.map +1 -0
- package/dist/sites/env-bridge.d.ts +55 -0
- package/dist/sites/env-bridge.d.ts.map +1 -0
- package/dist/sites/env-bridge.js +94 -0
- package/dist/sites/env-bridge.js.map +1 -0
- package/dist/sites/paths.d.ts +21 -0
- package/dist/sites/paths.d.ts.map +1 -0
- package/dist/sites/paths.js +37 -0
- package/dist/sites/paths.js.map +1 -0
- package/dist/sites/probe.d.ts +60 -0
- package/dist/sites/probe.d.ts.map +1 -0
- package/dist/sites/probe.js +112 -0
- package/dist/sites/probe.js.map +1 -0
- package/dist/sites/registry.d.ts +142 -0
- package/dist/sites/registry.d.ts.map +1 -0
- package/dist/sites/registry.js +163 -0
- package/dist/sites/registry.js.map +1 -0
- package/dist/sites/schema.d.ts +90 -0
- package/dist/sites/schema.d.ts.map +1 -0
- package/dist/sites/schema.js +71 -0
- package/dist/sites/schema.js.map +1 -0
- package/dist/sites/secret-resolver.d.ts +115 -0
- package/dist/sites/secret-resolver.d.ts.map +1 -0
- package/dist/sites/secret-resolver.js +225 -0
- package/dist/sites/secret-resolver.js.map +1 -0
- package/dist/sites/store.d.ts +82 -0
- package/dist/sites/store.d.ts.map +1 -0
- package/dist/sites/store.js +198 -0
- package/dist/sites/store.js.map +1 -0
- package/dist/sites/tools/index.d.ts +28 -0
- package/dist/sites/tools/index.d.ts.map +1 -0
- package/dist/sites/tools/index.js +30 -0
- package/dist/sites/tools/index.js.map +1 -0
- package/dist/sites/tools/sites-list.d.ts +48 -0
- package/dist/sites/tools/sites-list.d.ts.map +1 -0
- package/dist/sites/tools/sites-list.js +137 -0
- package/dist/sites/tools/sites-list.js.map +1 -0
- package/dist/sites/tools/sites-test.d.ts +47 -0
- package/dist/sites/tools/sites-test.d.ts.map +1 -0
- package/dist/sites/tools/sites-test.js +148 -0
- package/dist/sites/tools/sites-test.js.map +1 -0
- package/dist/skill-loader.d.ts +111 -0
- package/dist/skill-loader.d.ts.map +1 -0
- package/dist/skill-loader.js +191 -0
- package/dist/skill-loader.js.map +1 -0
- package/dist/tools/elements/builders.d.ts +24 -0
- package/dist/tools/elements/builders.d.ts.map +1 -0
- package/dist/tools/elements/builders.js +199 -0
- package/dist/tools/elements/builders.js.map +1 -0
- package/dist/tools/elements/handlers-write.d.ts +49 -0
- package/dist/tools/elements/handlers-write.d.ts.map +1 -0
- package/dist/tools/elements/handlers-write.js +148 -0
- package/dist/tools/elements/handlers-write.js.map +1 -0
- package/dist/tools/elements/handlers.d.ts +70 -0
- package/dist/tools/elements/handlers.d.ts.map +1 -0
- package/dist/tools/elements/handlers.js +292 -0
- package/dist/tools/elements/handlers.js.map +1 -0
- package/dist/tools/elements/index.d.ts +28 -0
- package/dist/tools/elements/index.d.ts.map +1 -0
- package/dist/tools/elements/index.js +27 -0
- package/dist/tools/elements/index.js.map +1 -0
- package/dist/tools/elements.d.ts +13 -0
- package/dist/tools/elements.d.ts.map +1 -0
- package/dist/tools/elements.js +13 -0
- package/dist/tools/elements.js.map +1 -0
- package/dist/tools/elicitation.d.ts +87 -0
- package/dist/tools/elicitation.d.ts.map +1 -0
- package/dist/tools/elicitation.js +100 -0
- package/dist/tools/elicitation.js.map +1 -0
- package/dist/tools/format/elements-format.d.ts +40 -0
- package/dist/tools/format/elements-format.d.ts.map +1 -0
- package/dist/tools/format/elements-format.js +194 -0
- package/dist/tools/format/elements-format.js.map +1 -0
- package/dist/tools/format/health-format.d.ts +79 -0
- package/dist/tools/format/health-format.d.ts.map +1 -0
- package/dist/tools/format/health-format.js +181 -0
- package/dist/tools/format/health-format.js.map +1 -0
- package/dist/tools/format/inspection-format.d.ts +59 -0
- package/dist/tools/format/inspection-format.d.ts.map +1 -0
- package/dist/tools/format/inspection-format.js +303 -0
- package/dist/tools/format/inspection-format.js.map +1 -0
- package/dist/tools/format/pages-format.d.ts +57 -0
- package/dist/tools/format/pages-format.d.ts.map +1 -0
- package/dist/tools/format/pages-format.js +157 -0
- package/dist/tools/format/pages-format.js.map +1 -0
- package/dist/tools/format/sources-format.d.ts +44 -0
- package/dist/tools/format/sources-format.d.ts.map +1 -0
- package/dist/tools/format/sources-format.js +242 -0
- package/dist/tools/format/sources-format.js.map +1 -0
- package/dist/tools/health.d.ts +22 -0
- package/dist/tools/health.d.ts.map +1 -0
- package/dist/tools/health.js +220 -0
- package/dist/tools/health.js.map +1 -0
- package/dist/tools/index.d.ts +30 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +39 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/inspection.d.ts +14 -0
- package/dist/tools/inspection.d.ts.map +1 -0
- package/dist/tools/inspection.js +208 -0
- package/dist/tools/inspection.js.map +1 -0
- package/dist/tools/layout-flatten.d.ts +75 -0
- package/dist/tools/layout-flatten.d.ts.map +1 -0
- package/dist/tools/layout-flatten.js +107 -0
- package/dist/tools/layout-flatten.js.map +1 -0
- package/dist/tools/multi-items/builders.d.ts +23 -0
- package/dist/tools/multi-items/builders.d.ts.map +1 -0
- package/dist/tools/multi-items/builders.js +78 -0
- package/dist/tools/multi-items/builders.js.map +1 -0
- package/dist/tools/multi-items/clean-implode-handler.d.ts +36 -0
- package/dist/tools/multi-items/clean-implode-handler.d.ts.map +1 -0
- package/dist/tools/multi-items/clean-implode-handler.js +57 -0
- package/dist/tools/multi-items/clean-implode-handler.js.map +1 -0
- package/dist/tools/multi-items/index.d.ts +18 -0
- package/dist/tools/multi-items/index.d.ts.map +1 -0
- package/dist/tools/multi-items/index.js +18 -0
- package/dist/tools/multi-items/index.js.map +1 -0
- package/dist/tools/multi-items/inspect-handler.d.ts +41 -0
- package/dist/tools/multi-items/inspect-handler.d.ts.map +1 -0
- package/dist/tools/multi-items/inspect-handler.js +50 -0
- package/dist/tools/multi-items/inspect-handler.js.map +1 -0
- package/dist/tools/multi-items/item-container-map.d.ts +41 -0
- package/dist/tools/multi-items/item-container-map.d.ts.map +1 -0
- package/dist/tools/multi-items/item-container-map.js +73 -0
- package/dist/tools/multi-items/item-container-map.js.map +1 -0
- package/dist/tools/pages/builders.d.ts +14 -0
- package/dist/tools/pages/builders.d.ts.map +1 -0
- package/dist/tools/pages/builders.js +136 -0
- package/dist/tools/pages/builders.js.map +1 -0
- package/dist/tools/pages/handlers-read.d.ts +33 -0
- package/dist/tools/pages/handlers-read.d.ts.map +1 -0
- package/dist/tools/pages/handlers-read.js +203 -0
- package/dist/tools/pages/handlers-read.js.map +1 -0
- package/dist/tools/pages/handlers-write.d.ts +21 -0
- package/dist/tools/pages/handlers-write.d.ts.map +1 -0
- package/dist/tools/pages/handlers-write.js +52 -0
- package/dist/tools/pages/handlers-write.js.map +1 -0
- package/dist/tools/pages/index.d.ts +17 -0
- package/dist/tools/pages/index.d.ts.map +1 -0
- package/dist/tools/pages/index.js +17 -0
- package/dist/tools/pages/index.js.map +1 -0
- package/dist/tools/pages/schemas.d.ts +45 -0
- package/dist/tools/pages/schemas.d.ts.map +1 -0
- package/dist/tools/pages/schemas.js +82 -0
- package/dist/tools/pages/schemas.js.map +1 -0
- package/dist/tools/pages.d.ts +13 -0
- package/dist/tools/pages.d.ts.map +1 -0
- package/dist/tools/pages.js +13 -0
- package/dist/tools/pages.js.map +1 -0
- package/dist/tools/pool-resolve-helper.d.ts +83 -0
- package/dist/tools/pool-resolve-helper.d.ts.map +1 -0
- package/dist/tools/pool-resolve-helper.js +148 -0
- package/dist/tools/pool-resolve-helper.js.map +1 -0
- package/dist/tools/progress-phases.d.ts +46 -0
- package/dist/tools/progress-phases.d.ts.map +1 -0
- package/dist/tools/progress-phases.js +48 -0
- package/dist/tools/progress-phases.js.map +1 -0
- package/dist/tools/shared-schemas.d.ts +25 -0
- package/dist/tools/shared-schemas.d.ts.map +1 -0
- package/dist/tools/shared-schemas.js +59 -0
- package/dist/tools/shared-schemas.js.map +1 -0
- package/dist/tools/sources/builders.d.ts +13 -0
- package/dist/tools/sources/builders.d.ts.map +1 -0
- package/dist/tools/sources/builders.js +118 -0
- package/dist/tools/sources/builders.js.map +1 -0
- package/dist/tools/sources/handlers-bind.d.ts +28 -0
- package/dist/tools/sources/handlers-bind.d.ts.map +1 -0
- package/dist/tools/sources/handlers-bind.js +129 -0
- package/dist/tools/sources/handlers-bind.js.map +1 -0
- package/dist/tools/sources/handlers.d.ts +47 -0
- package/dist/tools/sources/handlers.d.ts.map +1 -0
- package/dist/tools/sources/handlers.js +108 -0
- package/dist/tools/sources/handlers.js.map +1 -0
- package/dist/tools/sources/index.d.ts +19 -0
- package/dist/tools/sources/index.d.ts.map +1 -0
- package/dist/tools/sources/index.js +18 -0
- package/dist/tools/sources/index.js.map +1 -0
- package/dist/tools/sources.d.ts +14 -0
- package/dist/tools/sources.d.ts.map +1 -0
- package/dist/tools/sources.js +14 -0
- package/dist/tools/sources.js.map +1 -0
- package/dist/tools/sparse-fields.d.ts +106 -0
- package/dist/tools/sparse-fields.d.ts.map +1 -0
- package/dist/tools/sparse-fields.js +165 -0
- package/dist/tools/sparse-fields.js.map +1 -0
- package/dist/tools/tool-builder/annotations.d.ts +55 -0
- package/dist/tools/tool-builder/annotations.d.ts.map +1 -0
- package/dist/tools/tool-builder/annotations.js +86 -0
- package/dist/tools/tool-builder/annotations.js.map +1 -0
- package/dist/tools/tool-builder/define.d.ts +31 -0
- package/dist/tools/tool-builder/define.d.ts.map +1 -0
- package/dist/tools/tool-builder/define.js +31 -0
- package/dist/tools/tool-builder/define.js.map +1 -0
- package/dist/tools/tool-builder/index.d.ts +28 -0
- package/dist/tools/tool-builder/index.d.ts.map +1 -0
- package/dist/tools/tool-builder/index.js +27 -0
- package/dist/tools/tool-builder/index.js.map +1 -0
- package/dist/tools/tool-builder/results.d.ts +104 -0
- package/dist/tools/tool-builder/results.d.ts.map +1 -0
- package/dist/tools/tool-builder/results.js +224 -0
- package/dist/tools/tool-builder/results.js.map +1 -0
- package/dist/tools/tool-builder/types.d.ts +97 -0
- package/dist/tools/tool-builder/types.d.ts.map +1 -0
- package/dist/tools/tool-builder/types.js +9 -0
- package/dist/tools/tool-builder/types.js.map +1 -0
- package/dist/tools/tool-builder.d.ts +16 -0
- package/dist/tools/tool-builder.d.ts.map +1 -0
- package/dist/tools/tool-builder.js +16 -0
- package/dist/tools/tool-builder.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-Items tool barrel — public entry-point for the YT-Pro
|
|
3
|
+
* Multi-Items binding pattern tools.
|
|
4
|
+
*
|
|
5
|
+
* yootheme_builder_inspect_multi_items_binding
|
|
6
|
+
* → Report the Multi-Items binding state for an element.
|
|
7
|
+
*
|
|
8
|
+
* yootheme_builder_clean_implode_directives
|
|
9
|
+
* → Remove legacy implode directives from an element binding.
|
|
10
|
+
*
|
|
11
|
+
* The canonical container ↔ item map lives in `./item-container-map.ts`
|
|
12
|
+
* (mirror of `WootsUp\BuilderMcp\Elements\ItemContainerMap`).
|
|
13
|
+
*
|
|
14
|
+
* @license MIT
|
|
15
|
+
*/
|
|
16
|
+
export { buildMultiItemsTools } from './builders.js';
|
|
17
|
+
export { ITEM_CHILDREN_OF_CONTAINER, containerOf, isContainer, isItem, itemOf, } from './item-container-map.js';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/multi-items/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACH,0BAA0B,EAC1B,WAAW,EACX,WAAW,EACX,MAAM,EACN,MAAM,GACT,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-Items tool barrel — public entry-point for the YT-Pro
|
|
3
|
+
* Multi-Items binding pattern tools.
|
|
4
|
+
*
|
|
5
|
+
* yootheme_builder_inspect_multi_items_binding
|
|
6
|
+
* → Report the Multi-Items binding state for an element.
|
|
7
|
+
*
|
|
8
|
+
* yootheme_builder_clean_implode_directives
|
|
9
|
+
* → Remove legacy implode directives from an element binding.
|
|
10
|
+
*
|
|
11
|
+
* The canonical container ↔ item map lives in `./item-container-map.ts`
|
|
12
|
+
* (mirror of `WootsUp\BuilderMcp\Elements\ItemContainerMap`).
|
|
13
|
+
*
|
|
14
|
+
* @license MIT
|
|
15
|
+
*/
|
|
16
|
+
export { buildMultiItemsTools } from './builders.js';
|
|
17
|
+
export { ITEM_CHILDREN_OF_CONTAINER, containerOf, isContainer, isItem, itemOf, } from './item-container-map.js';
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/multi-items/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACH,0BAA0B,EAC1B,WAAW,EACX,WAAW,EACX,MAAM,EACN,MAAM,GACT,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
* @license MIT
|
|
10
|
+
*/
|
|
11
|
+
import { z } from 'zod';
|
|
12
|
+
import { type RestClient } from '../../client.js';
|
|
13
|
+
import { type ToolResult } from '../tool-builder.js';
|
|
14
|
+
export declare const INSPECT_MULTI_ITEMS_OUTPUT_SCHEMA: z.ZodObject<{
|
|
15
|
+
template_id: z.ZodString;
|
|
16
|
+
report: z.ZodObject<{
|
|
17
|
+
element_path: z.ZodString;
|
|
18
|
+
element_type: z.ZodString;
|
|
19
|
+
is_container: z.ZodBoolean;
|
|
20
|
+
is_item: z.ZodBoolean;
|
|
21
|
+
container_type: z.ZodNullable<z.ZodString>;
|
|
22
|
+
item_type: z.ZodNullable<z.ZodString>;
|
|
23
|
+
current_binding_level: z.ZodEnum<{
|
|
24
|
+
none: "none";
|
|
25
|
+
container: "container";
|
|
26
|
+
item: "item";
|
|
27
|
+
}>;
|
|
28
|
+
has_implode_directives: z.ZodBoolean;
|
|
29
|
+
warning: z.ZodOptional<z.ZodString>;
|
|
30
|
+
recommended_fix: z.ZodOptional<z.ZodString>;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
etag: z.ZodString;
|
|
33
|
+
}, z.core.$strip>;
|
|
34
|
+
export interface MultiItemsHandlerDeps {
|
|
35
|
+
readonly client: RestClient;
|
|
36
|
+
}
|
|
37
|
+
export declare function handleInspectMultiItemsBinding({ client }: MultiItemsHandlerDeps, { template_id, element_path }: {
|
|
38
|
+
template_id: string;
|
|
39
|
+
element_path: string;
|
|
40
|
+
}): Promise<ToolResult>;
|
|
41
|
+
//# sourceMappingURL=inspect-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect-handler.d.ts","sourceRoot":"","sources":["../../../src/tools/multi-items/inspect-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAA6C,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhG,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;iBAe5C,CAAC;AAEH,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC/B;AAED,wBAAsB,8BAA8B,CAChD,EAAE,MAAM,EAAE,EAAE,qBAAqB,EACjC,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAC7E,OAAO,CAAC,UAAU,CAAC,CAqBrB"}
|
|
@@ -0,0 +1,50 @@
|
|
|
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
|
+
* @license MIT
|
|
10
|
+
*/
|
|
11
|
+
import { z } from 'zod';
|
|
12
|
+
import { encodeElementPath } from '../../client.js';
|
|
13
|
+
import { errorResult, jsonResult, structuredResult } from '../tool-builder.js';
|
|
14
|
+
export const INSPECT_MULTI_ITEMS_OUTPUT_SCHEMA = z.object({
|
|
15
|
+
template_id: z.string(),
|
|
16
|
+
report: z.object({
|
|
17
|
+
element_path: z.string(),
|
|
18
|
+
element_type: z.string(),
|
|
19
|
+
is_container: z.boolean(),
|
|
20
|
+
is_item: z.boolean(),
|
|
21
|
+
container_type: z.string().nullable(),
|
|
22
|
+
item_type: z.string().nullable(),
|
|
23
|
+
current_binding_level: z.enum(['none', 'container', 'item']),
|
|
24
|
+
has_implode_directives: z.boolean(),
|
|
25
|
+
warning: z.string().optional(),
|
|
26
|
+
recommended_fix: z.string().optional(),
|
|
27
|
+
}),
|
|
28
|
+
etag: z.string(),
|
|
29
|
+
});
|
|
30
|
+
export async function handleInspectMultiItemsBinding({ client }, { template_id, element_path }) {
|
|
31
|
+
const encoded = encodeElementPath(element_path);
|
|
32
|
+
try {
|
|
33
|
+
const data = await client.get(`/pages/${encodeURIComponent(template_id)}/elements/${encoded}/multi-items/inspect`);
|
|
34
|
+
// The REST endpoint already returns the canonical
|
|
35
|
+
// {template_id, report, etag} shape — pass it through as
|
|
36
|
+
// structuredContent so the declared outputSchema is satisfied
|
|
37
|
+
// (a tool with an outputSchema MUST emit structuredContent, else
|
|
38
|
+
// the MCP SDK rejects the call with -32602).
|
|
39
|
+
return structuredResult(jsonResult(data), data);
|
|
40
|
+
}
|
|
41
|
+
catch (e) {
|
|
42
|
+
return errorResult({
|
|
43
|
+
error: e,
|
|
44
|
+
context: { template_id, element_path },
|
|
45
|
+
hint: 'Verify element_path via yootheme_builder_element_list. Paths are JSON-Pointer ' +
|
|
46
|
+
'style ("/templates/<id>/layout/children/0").',
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=inspect-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect-handler.js","sourceRoot":"","sources":["../../../src/tools/multi-items/inspect-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAmB,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAmB,MAAM,oBAAoB,CAAC;AAEhG,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;QACzB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;QACpB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,qBAAqB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC5D,sBAAsB,EAAE,CAAC,CAAC,OAAO,EAAE;QACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACzC,CAAC;IACF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAMH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAChD,EAAE,MAAM,EAAyB,EACjC,EAAE,WAAW,EAAE,YAAY,EAAiD;IAE5E,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAChD,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CACzB,UAAU,kBAAkB,CAAC,WAAW,CAAC,aAAa,OAAO,sBAAsB,CACtF,CAAC;QACF,kDAAkD;QAClD,yDAAyD;QACzD,8DAA8D;QAC9D,iEAAiE;QACjE,6CAA6C;QAC7C,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,gFAAgF;gBAChF,8CAA8C;SACrD,CAAC,CAAC;IACP,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-Items pattern — TypeScript mirror of the PHP
|
|
3
|
+
* `WootsUp\BuilderMcp\Elements\ItemContainerMap` constant.
|
|
4
|
+
*
|
|
5
|
+
* YT-Pro 4.5.33+ implements `SourceTransform::repeatSource` which
|
|
6
|
+
* clones the *source-bearing element* N-times as siblings inside its
|
|
7
|
+
* parent. For "1 container with N children" the binding MUST live on
|
|
8
|
+
* the `*_item` child element, NEVER on the container.
|
|
9
|
+
*
|
|
10
|
+
* The PHP and TS maps MUST stay in lock-step — both files carry a
|
|
11
|
+
* pin-test that fails if the canonical pairings drift.
|
|
12
|
+
*
|
|
13
|
+
* @license MIT
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Live-verified against `themes/yootheme/packages/builder/elements/
|
|
17
|
+
* *_item/` on YT-Pro 4.5.33 (dev server, 2026-05-22). 16 pairs total.
|
|
18
|
+
*
|
|
19
|
+
* NB: There is NO `slider` / `slider_item` pair on YT-Pro 4.5.33 — the
|
|
20
|
+
* YT slider/carousel widgets render via `slideshow`, `overlay-slider`,
|
|
21
|
+
* and `panel-slider`.
|
|
22
|
+
*/
|
|
23
|
+
export declare const ITEM_CHILDREN_OF_CONTAINER: Readonly<Record<string, string>>;
|
|
24
|
+
/**
|
|
25
|
+
* Surface the `*_item` child type for a known container, or null when
|
|
26
|
+
* the input is not a known multi-item container.
|
|
27
|
+
*/
|
|
28
|
+
export declare function itemOf(containerType: string): string | null;
|
|
29
|
+
/**
|
|
30
|
+
* Surface the container type for a known `*_item`, or null otherwise.
|
|
31
|
+
*/
|
|
32
|
+
export declare function containerOf(itemType: string): string | null;
|
|
33
|
+
/**
|
|
34
|
+
* `true` when $type is one of the multi-item-capable containers.
|
|
35
|
+
*/
|
|
36
|
+
export declare function isContainer(type: string): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* `true` when $type is a `*_item` child of a multi-item container.
|
|
39
|
+
*/
|
|
40
|
+
export declare function isItem(type: string): boolean;
|
|
41
|
+
//# sourceMappingURL=item-container-map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item-container-map.d.ts","sourceRoot":"","sources":["../../../src/tools/multi-items/item-container-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiBtE,CAAC;AAEH;;;GAGG;AACH,wBAAgB,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI3D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO3D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5C"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-Items pattern — TypeScript mirror of the PHP
|
|
3
|
+
* `WootsUp\BuilderMcp\Elements\ItemContainerMap` constant.
|
|
4
|
+
*
|
|
5
|
+
* YT-Pro 4.5.33+ implements `SourceTransform::repeatSource` which
|
|
6
|
+
* clones the *source-bearing element* N-times as siblings inside its
|
|
7
|
+
* parent. For "1 container with N children" the binding MUST live on
|
|
8
|
+
* the `*_item` child element, NEVER on the container.
|
|
9
|
+
*
|
|
10
|
+
* The PHP and TS maps MUST stay in lock-step — both files carry a
|
|
11
|
+
* pin-test that fails if the canonical pairings drift.
|
|
12
|
+
*
|
|
13
|
+
* @license MIT
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Live-verified against `themes/yootheme/packages/builder/elements/
|
|
17
|
+
* *_item/` on YT-Pro 4.5.33 (dev server, 2026-05-22). 16 pairs total.
|
|
18
|
+
*
|
|
19
|
+
* NB: There is NO `slider` / `slider_item` pair on YT-Pro 4.5.33 — the
|
|
20
|
+
* YT slider/carousel widgets render via `slideshow`, `overlay-slider`,
|
|
21
|
+
* and `panel-slider`.
|
|
22
|
+
*/
|
|
23
|
+
export const ITEM_CHILDREN_OF_CONTAINER = Object.freeze({
|
|
24
|
+
accordion: 'accordion_item',
|
|
25
|
+
button: 'button_item',
|
|
26
|
+
description_list: 'description_list_item',
|
|
27
|
+
gallery: 'gallery_item',
|
|
28
|
+
grid: 'grid_item',
|
|
29
|
+
list: 'list_item',
|
|
30
|
+
map: 'map_item',
|
|
31
|
+
nav: 'nav_item',
|
|
32
|
+
'overlay-slider': 'overlay-slider_item',
|
|
33
|
+
'panel-slider': 'panel-slider_item',
|
|
34
|
+
popover: 'popover_item',
|
|
35
|
+
slideshow: 'slideshow_item',
|
|
36
|
+
social: 'social_item',
|
|
37
|
+
subnav: 'subnav_item',
|
|
38
|
+
switcher: 'switcher_item',
|
|
39
|
+
table: 'table_item',
|
|
40
|
+
});
|
|
41
|
+
/**
|
|
42
|
+
* Surface the `*_item` child type for a known container, or null when
|
|
43
|
+
* the input is not a known multi-item container.
|
|
44
|
+
*/
|
|
45
|
+
export function itemOf(containerType) {
|
|
46
|
+
return Object.prototype.hasOwnProperty.call(ITEM_CHILDREN_OF_CONTAINER, containerType)
|
|
47
|
+
? ITEM_CHILDREN_OF_CONTAINER[containerType]
|
|
48
|
+
: null;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Surface the container type for a known `*_item`, or null otherwise.
|
|
52
|
+
*/
|
|
53
|
+
export function containerOf(itemType) {
|
|
54
|
+
for (const [container, item] of Object.entries(ITEM_CHILDREN_OF_CONTAINER)) {
|
|
55
|
+
if (item === itemType) {
|
|
56
|
+
return container;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* `true` when $type is one of the multi-item-capable containers.
|
|
63
|
+
*/
|
|
64
|
+
export function isContainer(type) {
|
|
65
|
+
return Object.prototype.hasOwnProperty.call(ITEM_CHILDREN_OF_CONTAINER, type);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* `true` when $type is a `*_item` child of a multi-item container.
|
|
69
|
+
*/
|
|
70
|
+
export function isItem(type) {
|
|
71
|
+
return Object.values(ITEM_CHILDREN_OF_CONTAINER).includes(type);
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=item-container-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item-container-map.js","sourceRoot":"","sources":["../../../src/tools/multi-items/item-container-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC,MAAM,CAAC,MAAM,CAAC;IACtF,SAAS,EAAE,gBAAgB;IAC3B,MAAM,EAAE,aAAa;IACrB,gBAAgB,EAAE,uBAAuB;IACzC,OAAO,EAAE,cAAc;IACvB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,WAAW;IACjB,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,UAAU;IACf,gBAAgB,EAAE,qBAAqB;IACvC,cAAc,EAAE,mBAAmB;IACnC,OAAO,EAAE,cAAc;IACvB,SAAS,EAAE,gBAAgB;IAC3B,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,aAAa;IACrB,QAAQ,EAAE,eAAe;IACzB,KAAK,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,aAAqB;IACxC,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,0BAA0B,EAAE,aAAa,CAAC;QAClF,CAAC,CAAE,0BAA0B,CAAC,aAAa,CAAY;QACvD,CAAC,CAAC,IAAI,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB;IACxC,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,EAAE,CAAC;QACzE,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACpC,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;AAClF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY;IAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Page-tool builders — pure `defineTool` factory list.
|
|
3
|
+
*
|
|
4
|
+
* Split out of `src/tools/pages.ts` (Round-2 R2-A2-CRIT1). Handler
|
|
5
|
+
* bodies live in `./handlers-read.ts` (pages_list, page_get_layout,
|
|
6
|
+
* page_get_schema, get_etag) and `./handlers-write.ts` (page_save,
|
|
7
|
+
* page_publish — 3-phase progress contract).
|
|
8
|
+
*
|
|
9
|
+
* @license MIT
|
|
10
|
+
*/
|
|
11
|
+
import type { ClientPool } from '../../sites/client-pool.js';
|
|
12
|
+
import { type AnyToolDefinition } from '../tool-builder.js';
|
|
13
|
+
export declare function buildPagesTools(pool: ClientPool): readonly AnyToolDefinition[];
|
|
14
|
+
//# sourceMappingURL=builders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../src/tools/pages/builders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAI7D,OAAO,EAKH,KAAK,iBAAiB,EACzB,MAAM,oBAAoB,CAAC;AA8B5B,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,iBAAiB,EAAE,CAoI9E"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Page-tool builders — pure `defineTool` factory list.
|
|
3
|
+
*
|
|
4
|
+
* Split out of `src/tools/pages.ts` (Round-2 R2-A2-CRIT1). Handler
|
|
5
|
+
* bodies live in `./handlers-read.ts` (pages_list, page_get_layout,
|
|
6
|
+
* page_get_schema, get_etag) and `./handlers-write.ts` (page_save,
|
|
7
|
+
* page_publish — 3-phase progress contract).
|
|
8
|
+
*
|
|
9
|
+
* @license MIT
|
|
10
|
+
*/
|
|
11
|
+
import { z } from 'zod';
|
|
12
|
+
import { withSiteRetry } from '../pool-resolve-helper.js';
|
|
13
|
+
import { SITE_ID_SCHEMA, TEMPLATE_ID } from '../shared-schemas.js';
|
|
14
|
+
import { FIELDS, FLAT } from '../sparse-fields.js';
|
|
15
|
+
import { defineTool, mutating, readOnly, withSiteMeta, } from '../tool-builder.js';
|
|
16
|
+
import { handleGetEtag, handlePageGetLayout, handlePageGetSchema, handlePagesList, handleTemplateSummary, } from './handlers-read.js';
|
|
17
|
+
import { handlePagePublish, handlePageSave } from './handlers-write.js';
|
|
18
|
+
import { ETAG_OUTPUT_SCHEMA, PAGES_LIST_OUTPUT_SCHEMA, SCHEMA_OUTPUT_SCHEMA, TEMPLATE_SUMMARY_OUTPUT_SCHEMA, } from './schemas.js';
|
|
19
|
+
// F-14: page-level save/publish accept OPTIONAL ETag (no precondition lock
|
|
20
|
+
// at template level — element/binding mutations REQUIRE one via the strict
|
|
21
|
+
// ETAG in shared-schemas.ts). Schema and description now agree: optional
|
|
22
|
+
// here, recommended for safety. When provided, 412 Precondition Failed is
|
|
23
|
+
// raised on stale snapshots; when omitted, the save proceeds unconditionally.
|
|
24
|
+
const ETAG = z
|
|
25
|
+
.string()
|
|
26
|
+
.optional()
|
|
27
|
+
.describe('Optimistic-lock ETag (from yootheme_builder_get_etag). ' +
|
|
28
|
+
'Optional; when provided, optimistic-lock is enforced (412 on conflict). ' +
|
|
29
|
+
'When omitted, last-write-wins applies. Recommended for collaborative edits.');
|
|
30
|
+
export function buildPagesTools(pool) {
|
|
31
|
+
return [
|
|
32
|
+
defineTool({
|
|
33
|
+
name: 'yootheme_builder_pages_list',
|
|
34
|
+
description: 'List all pages, templates, and layouts in the YOOtheme Pro builder. ' +
|
|
35
|
+
'Returns template_id, label, type, element count, and frontend_url per row. ' +
|
|
36
|
+
'CALL THIS FIRST to discover available template IDs before any tool that needs ' +
|
|
37
|
+
'a template_id (page_get_layout, element_list, page_get_schema, etc.). ' +
|
|
38
|
+
'Keywords: list pages, list templates, list layouts, discover template_id, ' +
|
|
39
|
+
'index, available templates, what pages exist. ' +
|
|
40
|
+
'Pass `fields:["id","label"]` to slim. ' +
|
|
41
|
+
'Returns ALL pages in one call (no pagination, typically <50 templates per site). ' +
|
|
42
|
+
'Operates on the default site unless site_id is provided.',
|
|
43
|
+
inputSchema: { site_id: SITE_ID_SCHEMA, fields: FIELDS },
|
|
44
|
+
outputSchema: PAGES_LIST_OUTPUT_SCHEMA,
|
|
45
|
+
annotations: readOnly('List Pages'),
|
|
46
|
+
handler: async ({ site_id, ...rest }) => withSiteRetry(pool, site_id, async (client, site) => withSiteMeta(await handlePagesList(client, rest), site)),
|
|
47
|
+
}),
|
|
48
|
+
defineTool({
|
|
49
|
+
name: 'yootheme_builder_page_get_layout',
|
|
50
|
+
description: 'Get full layout tree for one template. Default nested `{layout, ' +
|
|
51
|
+
'etag}`. Set `flat:true` for depth-first array `{elements:[...], ' +
|
|
52
|
+
'etag}`; combine with `fields[]` to project per-element. ' +
|
|
53
|
+
'Operates on the default site unless site_id is provided.',
|
|
54
|
+
inputSchema: {
|
|
55
|
+
site_id: SITE_ID_SCHEMA,
|
|
56
|
+
template_id: TEMPLATE_ID,
|
|
57
|
+
flat: FLAT,
|
|
58
|
+
fields: FIELDS,
|
|
59
|
+
},
|
|
60
|
+
// No outputSchema: the response shape is a union (nested OR flat with
|
|
61
|
+
// optional projection) and the JSON-Pointer-keyed nested shape is
|
|
62
|
+
// structurally open-ended — modelling it precisely buys nothing here.
|
|
63
|
+
annotations: readOnly('Get Page Layout'),
|
|
64
|
+
handler: async ({ site_id, ...rest }) => withSiteRetry(pool, site_id, async (client, site) => withSiteMeta(await handlePageGetLayout(client, rest), site)),
|
|
65
|
+
}),
|
|
66
|
+
defineTool({
|
|
67
|
+
name: 'yootheme_builder_page_get_schema',
|
|
68
|
+
description: 'Get the flat schema for a template — a list of nodes with their JSON-Pointer ' +
|
|
69
|
+
'paths and element types. Best entry-point for navigation: lighter than ' +
|
|
70
|
+
'page_get_layout, sufficient to locate elements before editing. ' +
|
|
71
|
+
'Operates on the default site unless site_id is provided.',
|
|
72
|
+
inputSchema: { site_id: SITE_ID_SCHEMA, template_id: TEMPLATE_ID },
|
|
73
|
+
outputSchema: SCHEMA_OUTPUT_SCHEMA,
|
|
74
|
+
annotations: readOnly('Get Page Schema'),
|
|
75
|
+
handler: async ({ site_id, ...rest }) => withSiteRetry(pool, site_id, async (client, site) => withSiteMeta(await handlePageGetSchema(client, rest), site)),
|
|
76
|
+
}),
|
|
77
|
+
defineTool({
|
|
78
|
+
name: 'yootheme_builder_get_etag',
|
|
79
|
+
description: 'Get the current ETag (state revision) for the YOOtheme builder. ' +
|
|
80
|
+
'Returns sha256+revision string used for optimistic locking on writes. ' +
|
|
81
|
+
'Pass the returned value back as `etag` on any write tool (page_save, page_publish, ' +
|
|
82
|
+
'element_add, element_update_settings, element_clone, element_move, element_delete). ' +
|
|
83
|
+
'The server returns HTTP 412 if the ETag has changed since you read it. ' +
|
|
84
|
+
'Keywords: get etag, current etag, state revision, optimistic lock, version stamp. ' +
|
|
85
|
+
'Operates on the default site unless site_id is provided.',
|
|
86
|
+
inputSchema: { site_id: SITE_ID_SCHEMA },
|
|
87
|
+
outputSchema: ETAG_OUTPUT_SCHEMA,
|
|
88
|
+
annotations: readOnly('Get ETag'),
|
|
89
|
+
handler: async ({ site_id }) => withSiteRetry(pool, site_id, async (client, site) => withSiteMeta(await handleGetEtag(client), site)),
|
|
90
|
+
}),
|
|
91
|
+
defineTool({
|
|
92
|
+
name: 'yootheme_builder_template_summary',
|
|
93
|
+
description: 'Token-efficient template overview: element counts by type, binding ' +
|
|
94
|
+
'count, max nesting depth, and named landmark sections — computed ' +
|
|
95
|
+
'server-side in one call. Use this to grasp a large template before ' +
|
|
96
|
+
'pulling element_list or page_get_layout. ' +
|
|
97
|
+
'Operates on the default site unless site_id is provided.',
|
|
98
|
+
inputSchema: { site_id: SITE_ID_SCHEMA, template_id: TEMPLATE_ID },
|
|
99
|
+
outputSchema: TEMPLATE_SUMMARY_OUTPUT_SCHEMA,
|
|
100
|
+
annotations: readOnly('Template Summary'),
|
|
101
|
+
handler: async ({ site_id, ...rest }) => withSiteRetry(pool, site_id, async (client, site) => withSiteMeta(await handleTemplateSummary(client, rest), site)),
|
|
102
|
+
}),
|
|
103
|
+
defineTool({
|
|
104
|
+
name: 'yootheme_builder_page_save',
|
|
105
|
+
description: 'Re-run save-transforms and persist. ETag optional — when provided, 412 on ' +
|
|
106
|
+
'conflict; when omitted, last-write-wins. Recommended for collaborative edits. ' +
|
|
107
|
+
'No-op when state is byte-identical (returns `no_changes:true`, ETag unchanged). ' +
|
|
108
|
+
'Operates on the default site unless site_id is provided.',
|
|
109
|
+
inputSchema: {
|
|
110
|
+
site_id: SITE_ID_SCHEMA,
|
|
111
|
+
template_id: TEMPLATE_ID,
|
|
112
|
+
etag: ETAG,
|
|
113
|
+
},
|
|
114
|
+
annotations: mutating('Save Page'),
|
|
115
|
+
handler: async ({ site_id, ...rest }, extra) => withSiteRetry(pool, site_id, async (client, site) => withSiteMeta(await handlePageSave(client, rest, extra), site)),
|
|
116
|
+
}),
|
|
117
|
+
defineTool({
|
|
118
|
+
name: 'yootheme_builder_page_publish',
|
|
119
|
+
description: 'Publish a template — persist state, flush YT + WP caches, snapshot the ' +
|
|
120
|
+
'published-state ETag. ETag optional — when provided, 412 on conflict; when ' +
|
|
121
|
+
'omitted, last-write-wins. Recommended for collaborative edits. ' +
|
|
122
|
+
'Operates on the default site unless site_id is provided.',
|
|
123
|
+
inputSchema: {
|
|
124
|
+
site_id: SITE_ID_SCHEMA,
|
|
125
|
+
template_id: TEMPLATE_ID,
|
|
126
|
+
etag: ETAG,
|
|
127
|
+
},
|
|
128
|
+
// Stream D3 T3: publish is idempotent — re-running on an
|
|
129
|
+
// unchanged template snapshots the same ETag and flushes
|
|
130
|
+
// the same caches. Matrix marks `idempotentHint:true`.
|
|
131
|
+
annotations: mutating('Publish Page'),
|
|
132
|
+
handler: async ({ site_id, ...rest }, extra) => withSiteRetry(pool, site_id, async (client, site) => withSiteMeta(await handlePagePublish(client, rest, extra), site)),
|
|
133
|
+
}),
|
|
134
|
+
];
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=builders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../src/tools/pages/builders.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Page-tool READ handlers + shared output-schemas.
|
|
3
|
+
*
|
|
4
|
+
* Split out of `src/tools/pages.ts` (Round-2 R2-A2-CRIT1) to keep
|
|
5
|
+
* each file ≤ 200 LoC per Architecture §11. Write handlers (page_save,
|
|
6
|
+
* page_publish — 3-phase progress contract) live in `./handlers-write.ts`.
|
|
7
|
+
*
|
|
8
|
+
* @license MIT
|
|
9
|
+
*/
|
|
10
|
+
import type { RestClient } from '../../client.js';
|
|
11
|
+
import { type ToolResult } from '../tool-builder.js';
|
|
12
|
+
export declare function handlePagesList(client: RestClient, { fields }: {
|
|
13
|
+
fields?: readonly string[];
|
|
14
|
+
}): Promise<ToolResult>;
|
|
15
|
+
export declare function handlePageGetLayout(client: RestClient, { template_id, flat, fields }: {
|
|
16
|
+
template_id: string;
|
|
17
|
+
flat?: boolean;
|
|
18
|
+
fields?: readonly string[];
|
|
19
|
+
}): Promise<ToolResult>;
|
|
20
|
+
export declare function handlePageGetSchema(client: RestClient, { template_id }: {
|
|
21
|
+
template_id: string;
|
|
22
|
+
}): Promise<ToolResult>;
|
|
23
|
+
export declare function handleGetEtag(client: RestClient): Promise<ToolResult>;
|
|
24
|
+
/**
|
|
25
|
+
* T9: a one-call structured overview of a template — element counts by
|
|
26
|
+
* type, binding count, max nesting depth, and named landmarks. Lets the
|
|
27
|
+
* agent grasp a 96-node template for ~1 kB instead of pulling the full
|
|
28
|
+
* element_list dump (20 kB+).
|
|
29
|
+
*/
|
|
30
|
+
export declare function handleTemplateSummary(client: RestClient, { template_id }: {
|
|
31
|
+
template_id: string;
|
|
32
|
+
}): Promise<ToolResult>;
|
|
33
|
+
//# sourceMappingURL=handlers-read.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers-read.d.ts","sourceRoot":"","sources":["../../../src/tools/pages/handlers-read.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAiBlD,OAAO,EAIH,KAAK,UAAU,EAClB,MAAM,oBAAoB,CAAC;AAI5B,wBAAsB,eAAe,CACjC,MAAM,EAAE,UAAU,EAClB,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAC3C,OAAO,CAAC,UAAU,CAAC,CAyCrB;AAID,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,UAAU,EAClB,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B,GACF,OAAO,CAAC,UAAU,CAAC,CA+DrB;AAID,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,UAAU,EAClB,EAAE,WAAW,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GACzC,OAAO,CAAC,UAAU,CAAC,CA4CrB;AAID,wBAAsB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAoB3E;AAID;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACvC,MAAM,EAAE,UAAU,EAClB,EAAE,WAAW,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GACzC,OAAO,CAAC,UAAU,CAAC,CA6BrB"}
|