@wootsup/yt-builder-mcp 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -6
- package/bin/yt-builder-mcp.js +6 -0
- package/dist/auth.d.ts +86 -6
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +141 -8
- package/dist/auth.js.map +1 -1
- package/dist/errors/sanitize.d.ts.map +1 -1
- package/dist/errors/sanitize.js +10 -0
- package/dist/errors/sanitize.js.map +1 -1
- package/dist/gateway/essentials.d.ts +1 -1
- package/dist/gateway/essentials.d.ts.map +1 -1
- package/dist/gateway/essentials.js +15 -2
- package/dist/gateway/essentials.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +52 -16
- package/dist/index.js.map +1 -1
- package/dist/install-skill.d.ts +10 -2
- package/dist/install-skill.d.ts.map +1 -1
- package/dist/install-skill.js +18 -7
- package/dist/install-skill.js.map +1 -1
- 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 +72 -0
- package/dist/platform/index.d.ts.map +1 -1
- package/dist/platform/index.js +138 -0
- package/dist/platform/index.js.map +1 -1
- 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 +61 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +86 -2
- package/dist/server.js.map +1 -1
- 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 +53 -1
- package/dist/setup-cli.d.ts.map +1 -1
- package/dist/setup-cli.js +525 -10
- package/dist/setup-cli.js.map +1 -1
- package/dist/setup-prompts.d.ts.map +1 -1
- package/dist/setup-prompts.js +12 -8
- package/dist/setup-prompts.js.map +1 -1
- package/dist/setup-wizard-types.d.ts +19 -3
- package/dist/setup-wizard-types.d.ts.map +1 -1
- package/dist/setup-wizard.d.ts.map +1 -1
- package/dist/setup-wizard.js +34 -1
- package/dist/setup-wizard.js.map +1 -1
- 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 +117 -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 +109 -0
- package/dist/sites/secret-resolver.d.ts.map +1 -0
- package/dist/sites/secret-resolver.js +189 -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 +135 -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 +63 -3
- package/dist/skill-loader.d.ts.map +1 -1
- package/dist/skill-loader.js +123 -10
- package/dist/skill-loader.js.map +1 -1
- package/dist/tools/elements/builders.d.ts +2 -2
- package/dist/tools/elements/builders.d.ts.map +1 -1
- package/dist/tools/elements/builders.js +45 -23
- package/dist/tools/elements/builders.js.map +1 -1
- package/dist/tools/elements/handlers.d.ts +8 -1
- package/dist/tools/elements/handlers.d.ts.map +1 -1
- package/dist/tools/elements/handlers.js +37 -1
- package/dist/tools/elements/handlers.js.map +1 -1
- package/dist/tools/format/health-format.d.ts +12 -6
- package/dist/tools/format/health-format.d.ts.map +1 -1
- package/dist/tools/format/health-format.js +14 -11
- package/dist/tools/format/health-format.js.map +1 -1
- package/dist/tools/format/pages-format.d.ts +7 -1
- package/dist/tools/format/pages-format.d.ts.map +1 -1
- package/dist/tools/format/pages-format.js +25 -1
- package/dist/tools/format/pages-format.js.map +1 -1
- package/dist/tools/health.d.ts +2 -2
- package/dist/tools/health.d.ts.map +1 -1
- package/dist/tools/health.js +120 -47
- package/dist/tools/health.js.map +1 -1
- package/dist/tools/index.d.ts +9 -2
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +21 -7
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/inspection.d.ts +2 -2
- package/dist/tools/inspection.d.ts.map +1 -1
- package/dist/tools/inspection.js +67 -22
- package/dist/tools/inspection.js.map +1 -1
- package/dist/tools/multi-items/builders.d.ts +2 -2
- package/dist/tools/multi-items/builders.d.ts.map +1 -1
- package/dist/tools/multi-items/builders.js +21 -8
- package/dist/tools/multi-items/builders.js.map +1 -1
- package/dist/tools/pages/builders.d.ts +2 -2
- package/dist/tools/pages/builders.d.ts.map +1 -1
- package/dist/tools/pages/builders.js +36 -24
- package/dist/tools/pages/builders.js.map +1 -1
- package/dist/tools/pages/handlers-read.d.ts.map +1 -1
- package/dist/tools/pages/handlers-read.js +10 -0
- package/dist/tools/pages/handlers-read.js.map +1 -1
- package/dist/tools/pages/schemas.d.ts.map +1 -1
- package/dist/tools/pages/schemas.js +18 -0
- package/dist/tools/pages/schemas.js.map +1 -1
- 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/shared-schemas.d.ts +10 -0
- package/dist/tools/shared-schemas.d.ts.map +1 -1
- package/dist/tools/shared-schemas.js +20 -2
- package/dist/tools/shared-schemas.js.map +1 -1
- package/dist/tools/sources/builders.d.ts +2 -2
- package/dist/tools/sources/builders.d.ts.map +1 -1
- package/dist/tools/sources/builders.js +27 -15
- package/dist/tools/sources/builders.js.map +1 -1
- package/dist/tools/tool-builder/index.d.ts +1 -1
- package/dist/tools/tool-builder/index.d.ts.map +1 -1
- package/dist/tools/tool-builder/index.js +1 -1
- package/dist/tools/tool-builder/index.js.map +1 -1
- package/dist/tools/tool-builder/results.d.ts +34 -0
- package/dist/tools/tool-builder/results.d.ts.map +1 -1
- package/dist/tools/tool-builder/results.js +86 -0
- package/dist/tools/tool-builder/results.js.map +1 -1
- package/manifest.json +27 -10
- package/package.json +3 -1
- package/skills/yt-builder-mcp/SKILL.md +846 -0
- package/skills/yootheme-builder/SKILL.md +0 -587
package/dist/tools/health.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/tools/health.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/tools/health.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @license MIT
|
|
7
7
|
*/
|
|
8
|
-
import type {
|
|
8
|
+
import type { ClientPool } from '../sites/client-pool.js';
|
|
9
9
|
import type { McpServerWithElicitation } from './elicitation.js';
|
|
10
10
|
import type { AnyToolDefinition } from './tool-builder.js';
|
|
11
11
|
export interface BuildAllToolsOptions {
|
|
@@ -18,6 +18,13 @@ export interface BuildAllToolsOptions {
|
|
|
18
18
|
*/
|
|
19
19
|
readonly elicitation?: McpServerWithElicitation;
|
|
20
20
|
}
|
|
21
|
-
|
|
21
|
+
/**
|
|
22
|
+
* W6 — pool-based registration entrypoint. Pre-W6 this took a bare
|
|
23
|
+
* `RestClient`; W6 introduces the {@link ClientPool} as the single
|
|
24
|
+
* source of REST clients (multi-site). Each domain builder now
|
|
25
|
+
* resolves the pool per-handler via `resolveSiteOrError` and wraps
|
|
26
|
+
* every result in `withSiteMeta` (Commit 3 of the W6 trio).
|
|
27
|
+
*/
|
|
28
|
+
export declare function buildAllTools(pool: ClientPool, options?: BuildAllToolsOptions): readonly AnyToolDefinition[];
|
|
22
29
|
export type { AnyToolDefinition, ToolDefinition } from './tool-builder.js';
|
|
23
30
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAMjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,WAAW,oBAAoB;IACjC;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACnD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CACzB,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,oBAAyB,GACnC,SAAS,iBAAiB,EAAE,CAgB9B;AAED,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -5,21 +5,35 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @license MIT
|
|
7
7
|
*/
|
|
8
|
+
import { buildSitesTools } from '../sites/tools/index.js';
|
|
8
9
|
import { buildElementsTools } from './elements/index.js';
|
|
9
10
|
import { buildHealthTools } from './health.js';
|
|
10
11
|
import { buildInspectionTools } from './inspection.js';
|
|
11
12
|
import { buildMultiItemsTools } from './multi-items/index.js';
|
|
12
13
|
import { buildPagesTools } from './pages.js';
|
|
13
14
|
import { buildSourcesTools } from './sources/index.js';
|
|
14
|
-
|
|
15
|
+
/**
|
|
16
|
+
* W6 — pool-based registration entrypoint. Pre-W6 this took a bare
|
|
17
|
+
* `RestClient`; W6 introduces the {@link ClientPool} as the single
|
|
18
|
+
* source of REST clients (multi-site). Each domain builder now
|
|
19
|
+
* resolves the pool per-handler via `resolveSiteOrError` and wraps
|
|
20
|
+
* every result in `withSiteMeta` (Commit 3 of the W6 trio).
|
|
21
|
+
*/
|
|
22
|
+
export function buildAllTools(pool, options = {}) {
|
|
15
23
|
const deps = options.elicitation !== undefined ? { elicitation: options.elicitation } : {};
|
|
16
24
|
return [
|
|
17
|
-
...buildHealthTools(
|
|
18
|
-
...buildPagesTools(
|
|
19
|
-
...buildElementsTools(
|
|
20
|
-
...buildSourcesTools(
|
|
21
|
-
...buildMultiItemsTools(
|
|
22
|
-
...buildInspectionTools(
|
|
25
|
+
...buildHealthTools(pool),
|
|
26
|
+
...buildPagesTools(pool),
|
|
27
|
+
...buildElementsTools(pool, deps),
|
|
28
|
+
...buildSourcesTools(pool, deps),
|
|
29
|
+
...buildMultiItemsTools(pool),
|
|
30
|
+
...buildInspectionTools(pool),
|
|
31
|
+
// W7 — Multi-Site registry tools (L1). The aggregator pulls
|
|
32
|
+
// `pool.registry` internally (W12-R1.3); the sites_list handler
|
|
33
|
+
// reads the registry without ever resolving a bearer or hitting
|
|
34
|
+
// the network, while sites_test threads the pool through to
|
|
35
|
+
// probe one specific site.
|
|
36
|
+
...buildSitesTools(pool),
|
|
23
37
|
];
|
|
24
38
|
}
|
|
25
39
|
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAcvD,MAAM,UAAU,aAAa,CACzB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAcvD;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CACzB,IAAgB,EAChB,UAAgC,EAAE;IAElC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,OAAO;QACH,GAAG,gBAAgB,CAAC,IAAI,CAAC;QACzB,GAAG,eAAe,CAAC,IAAI,CAAC;QACxB,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC;QACjC,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC;QAChC,GAAG,oBAAoB,CAAC,IAAI,CAAC;QAC7B,GAAG,oBAAoB,CAAC,IAAI,CAAC;QAC7B,4DAA4D;QAC5D,gEAAgE;QAChE,gEAAgE;QAChE,4DAA4D;QAC5D,2BAA2B;QAC3B,GAAG,eAAe,CAAC,IAAI,CAAC;KAC3B,CAAC;AACN,CAAC"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @license MIT
|
|
10
10
|
*/
|
|
11
|
-
import type {
|
|
11
|
+
import type { ClientPool } from '../sites/client-pool.js';
|
|
12
12
|
import { type AnyToolDefinition } from './tool-builder.js';
|
|
13
|
-
export declare function buildInspectionTools(
|
|
13
|
+
export declare function buildInspectionTools(pool: ClientPool): readonly AnyToolDefinition[];
|
|
14
14
|
//# sourceMappingURL=inspection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspection.d.ts","sourceRoot":"","sources":["../../src/tools/inspection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"inspection.d.ts","sourceRoot":"","sources":["../../src/tools/inspection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAU1D,OAAO,EAMH,KAAK,iBAAiB,EACzB,MAAM,mBAAmB,CAAC;AA2B3B,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,iBAAiB,EAAE,CAwJnF"}
|
package/dist/tools/inspection.js
CHANGED
|
@@ -11,7 +11,9 @@
|
|
|
11
11
|
import { detailResult, tableResult } from '@getimo/mcp-toolkit';
|
|
12
12
|
import { z } from 'zod';
|
|
13
13
|
import { TYPES_COMPACT_COLUMNS, TYPES_TABLE_COLUMNS, buildTypeSchemaDetail, flattenTypesPayload, mapTypeRow, } from './format/inspection-format.js';
|
|
14
|
-
import {
|
|
14
|
+
import { SITE_ID_SCHEMA } from './shared-schemas.js';
|
|
15
|
+
import { resolveSiteOrError } from './pool-resolve-helper.js';
|
|
16
|
+
import { defineTool, errorResult, readOnly, structuredResult, withSiteMeta, } from './tool-builder.js';
|
|
15
17
|
import { DEFAULT_FIELDS_TYPES_LIST, FIELDS, projectFields, projectedFieldsEcho, } from './sparse-fields.js';
|
|
16
18
|
// ─── outputSchemas (Wave G.2 §4) ─────────────────────────────────────
|
|
17
19
|
const TYPES_LIST_OUTPUT_SCHEMA = z.object({
|
|
@@ -29,21 +31,27 @@ const TYPE_SCHEMA_OUTPUT_SCHEMA = z.object({
|
|
|
29
31
|
fields: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
30
32
|
field_count: z.number(),
|
|
31
33
|
});
|
|
32
|
-
export function buildInspectionTools(
|
|
34
|
+
export function buildInspectionTools(pool) {
|
|
33
35
|
return [
|
|
34
36
|
defineTool({
|
|
35
37
|
name: 'yootheme_builder_element_types_list',
|
|
36
38
|
description: 'List element types registered on this site (built-ins + ' +
|
|
37
39
|
'YOOessentials/uEssentials extras). Names feed `element_type` of ' +
|
|
38
|
-
'element_add. Pass `fields[]` to narrow each row.'
|
|
40
|
+
'element_add. Pass `fields[]` to narrow each row. ' +
|
|
41
|
+
'Operates on the default site unless site_id is provided.',
|
|
39
42
|
inputSchema: {
|
|
43
|
+
site_id: SITE_ID_SCHEMA,
|
|
40
44
|
fields: FIELDS,
|
|
41
45
|
},
|
|
42
46
|
outputSchema: TYPES_LIST_OUTPUT_SCHEMA,
|
|
43
47
|
annotations: readOnly('List Element Types'),
|
|
44
|
-
handler: async ({ fields }) => {
|
|
48
|
+
handler: async ({ site_id, fields }) => {
|
|
49
|
+
const r = await resolveSiteOrError(pool, site_id);
|
|
50
|
+
if (!r.ok)
|
|
51
|
+
return r.error;
|
|
52
|
+
const { client: siteClient, site } = r;
|
|
45
53
|
try {
|
|
46
|
-
const data = await
|
|
54
|
+
const data = await siteClient.get('/element-types');
|
|
47
55
|
const flat = flattenTypesPayload(data);
|
|
48
56
|
const mapped = flat.map(mapTypeRow);
|
|
49
57
|
const mappedRecords = mapped;
|
|
@@ -55,38 +63,75 @@ export function buildInspectionTools(client) {
|
|
|
55
63
|
header: (count) => `${String(count)} element types`,
|
|
56
64
|
footer: 'Use yootheme_builder_element_type_get_schema <name> for fields.',
|
|
57
65
|
});
|
|
58
|
-
return structuredResult(toolkitResult, {
|
|
66
|
+
return withSiteMeta(structuredResult(toolkitResult, {
|
|
59
67
|
items,
|
|
60
68
|
total: items.length,
|
|
61
69
|
...(echo !== undefined ? { projected_fields: [...echo] } : {}),
|
|
62
|
-
});
|
|
70
|
+
}), site);
|
|
63
71
|
}
|
|
64
72
|
catch (e) {
|
|
65
|
-
return errorResult({
|
|
73
|
+
return withSiteMeta(errorResult({
|
|
66
74
|
error: e,
|
|
67
|
-
context: {},
|
|
75
|
+
context: { site_id: site.id },
|
|
68
76
|
hint: 'Run yootheme_builder_diagnose to verify auth.',
|
|
69
|
-
});
|
|
77
|
+
}), site);
|
|
70
78
|
}
|
|
71
79
|
},
|
|
72
80
|
}),
|
|
73
81
|
defineTool({
|
|
74
82
|
name: 'yootheme_builder_element_type_get_schema',
|
|
75
|
-
description: '
|
|
76
|
-
'
|
|
77
|
-
'
|
|
83
|
+
description: '**Call before every `element_add` / `_update_settings`** — unknown ' +
|
|
84
|
+
'prop keys are silently dropped server-side, so guessing fails ' +
|
|
85
|
+
'quietly. Returns `{name,type,label?}` field descriptors. Use ' +
|
|
86
|
+
'`element_type`; `type_name` is DEPRECATED. ' +
|
|
87
|
+
'Operates on the default site unless site_id is provided.',
|
|
78
88
|
inputSchema: {
|
|
79
|
-
|
|
89
|
+
site_id: SITE_ID_SCHEMA,
|
|
90
|
+
// 1.0.1 cross-tool parameter naming alignment: every other
|
|
91
|
+
// tool in this domain uses `element_type` (element_add,
|
|
92
|
+
// element_update_settings, element_list rows). This tool
|
|
93
|
+
// originally shipped with `type_name`; we accept BOTH for
|
|
94
|
+
// backward-compatibility but the canonical key going
|
|
95
|
+
// forward is `element_type`.
|
|
96
|
+
element_type: z
|
|
80
97
|
.string()
|
|
81
98
|
.min(1)
|
|
99
|
+
.optional()
|
|
82
100
|
.describe('Element type name (e.g. "headline", "text", "grid"). Use ' +
|
|
83
101
|
'yootheme_builder_element_types_list to discover.'),
|
|
102
|
+
type_name: z
|
|
103
|
+
.string()
|
|
104
|
+
.min(1)
|
|
105
|
+
.optional()
|
|
106
|
+
.describe('DEPRECATED alias of `element_type` — use `element_type` ' +
|
|
107
|
+
'instead. Kept for 1.0.x backward-compatibility; will be ' +
|
|
108
|
+
'removed in a future major.'),
|
|
84
109
|
},
|
|
85
110
|
outputSchema: TYPE_SCHEMA_OUTPUT_SCHEMA,
|
|
86
111
|
annotations: readOnly('Get Element Type Schema'),
|
|
87
|
-
handler: async (
|
|
112
|
+
handler: async (args) => {
|
|
113
|
+
// Accept either `element_type` (canonical) or `type_name`
|
|
114
|
+
// (deprecated alias). Empty/missing → 400-shaped error below.
|
|
115
|
+
const typeNameInput = typeof args.element_type === 'string' && args.element_type !== ''
|
|
116
|
+
? args.element_type
|
|
117
|
+
: typeof args.type_name === 'string'
|
|
118
|
+
? args.type_name
|
|
119
|
+
: '';
|
|
120
|
+
if (typeNameInput === '') {
|
|
121
|
+
return errorResult({
|
|
122
|
+
error: new Error('`element_type` is required (alias `type_name` also accepted).'),
|
|
123
|
+
context: { site_id: typeof args.site_id === 'string' ? args.site_id : null },
|
|
124
|
+
hint: 'Pass `element_type` (e.g. "headline"). Use ' +
|
|
125
|
+
'yootheme_builder_element_types_list to discover valid values.',
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
const type_name = typeNameInput;
|
|
129
|
+
const r = await resolveSiteOrError(pool, typeof args.site_id === 'string' ? args.site_id : undefined);
|
|
130
|
+
if (!r.ok)
|
|
131
|
+
return r.error;
|
|
132
|
+
const { client: siteClient, site } = r;
|
|
88
133
|
try {
|
|
89
|
-
const data = await
|
|
134
|
+
const data = await siteClient.get(`/element-types/${encodeURIComponent(type_name)}/schema`);
|
|
90
135
|
// The REST endpoint nests the type schema under `schema`:
|
|
91
136
|
// {type_name, schema:{name,label,origin,has_children,fields:[…]}}.
|
|
92
137
|
// Fall back to the top-level object for older backends.
|
|
@@ -102,21 +147,21 @@ export function buildInspectionTools(client) {
|
|
|
102
147
|
: undefined;
|
|
103
148
|
const fieldCount = fields !== undefined ? fields.length : 0;
|
|
104
149
|
const toolkitResult = detailResult(buildTypeSchemaDetail({ name, label, origin, fields }));
|
|
105
|
-
return structuredResult(toolkitResult, {
|
|
150
|
+
return withSiteMeta(structuredResult(toolkitResult, {
|
|
106
151
|
name,
|
|
107
152
|
...(label !== undefined ? { label } : {}),
|
|
108
153
|
...(origin !== undefined ? { origin } : {}),
|
|
109
154
|
...(fields !== undefined ? { fields } : {}),
|
|
110
155
|
field_count: fieldCount,
|
|
111
|
-
});
|
|
156
|
+
}), site);
|
|
112
157
|
}
|
|
113
158
|
catch (e) {
|
|
114
|
-
return errorResult({
|
|
159
|
+
return withSiteMeta(errorResult({
|
|
115
160
|
error: e,
|
|
116
|
-
context: { type_name },
|
|
117
|
-
hint: 'Verify
|
|
161
|
+
context: { element_type: type_name, site_id: site.id },
|
|
162
|
+
hint: 'Verify element_type via yootheme_builder_element_types_list — names ' +
|
|
118
163
|
'are case-sensitive.',
|
|
119
|
-
});
|
|
164
|
+
}), site);
|
|
120
165
|
}
|
|
121
166
|
},
|
|
122
167
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspection.js","sourceRoot":"","sources":["../../src/tools/inspection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACH,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,UAAU,GACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,UAAU,EACV,WAAW,EACX,QAAQ,EACR,gBAAgB,
|
|
1
|
+
{"version":3,"file":"inspection.js","sourceRoot":"","sources":["../../src/tools/inspection.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*
|
|
18
18
|
* @license MIT
|
|
19
19
|
*/
|
|
20
|
-
import type {
|
|
20
|
+
import type { ClientPool } from '../../sites/client-pool.js';
|
|
21
21
|
import { type AnyToolDefinition } from '../tool-builder.js';
|
|
22
|
-
export declare function buildMultiItemsTools(
|
|
22
|
+
export declare function buildMultiItemsTools(pool: ClientPool): readonly AnyToolDefinition[];
|
|
23
23
|
//# sourceMappingURL=builders.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../src/tools/multi-items/builders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../src/tools/multi-items/builders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAG7D,OAAO,EAKH,KAAK,iBAAiB,EACzB,MAAM,oBAAoB,CAAC;AAW5B,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,iBAAiB,EAAE,CAgDnF"}
|
|
@@ -17,39 +17,52 @@
|
|
|
17
17
|
*
|
|
18
18
|
* @license MIT
|
|
19
19
|
*/
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
20
|
+
import { withSiteRetry } from '../pool-resolve-helper.js';
|
|
21
|
+
import { ELEMENT_PATH, ETAG, SITE_ID_SCHEMA, TEMPLATE_ID } from '../shared-schemas.js';
|
|
22
|
+
import { defineTool, mutating, readOnly, withSiteMeta, } from '../tool-builder.js';
|
|
22
23
|
import { CLEAN_IMPLODE_OUTPUT_SCHEMA, handleCleanImplodeDirectives, } from './clean-implode-handler.js';
|
|
23
24
|
import { INSPECT_MULTI_ITEMS_OUTPUT_SCHEMA, handleInspectMultiItemsBinding, } from './inspect-handler.js';
|
|
24
|
-
export function buildMultiItemsTools(
|
|
25
|
-
|
|
25
|
+
export function buildMultiItemsTools(pool) {
|
|
26
|
+
// W6.3 — per-handler resolveSiteOrError. The handlers consume a
|
|
27
|
+
// single-field `MultiItemsHandlerDeps`, so we synthesise it inline
|
|
28
|
+
// with the resolved client.
|
|
26
29
|
return [
|
|
27
30
|
defineTool({
|
|
28
31
|
name: 'yootheme_builder_inspect_multi_items_binding',
|
|
29
32
|
description: 'Reports Multi-Items binding state: container/item pair (grid↔grid_item, ' +
|
|
30
33
|
'slideshow↔slideshow_item, …), current binding level (none|container|item), ' +
|
|
31
|
-
'and a recommended_fix when the binding sits on the container instead of the child.'
|
|
34
|
+
'and a recommended_fix when the binding sits on the container instead of the child. ' +
|
|
35
|
+
'Operates on the default site unless site_id is provided.',
|
|
32
36
|
inputSchema: {
|
|
37
|
+
site_id: SITE_ID_SCHEMA,
|
|
33
38
|
template_id: TEMPLATE_ID,
|
|
34
39
|
element_path: ELEMENT_PATH,
|
|
35
40
|
},
|
|
36
41
|
outputSchema: INSPECT_MULTI_ITEMS_OUTPUT_SCHEMA,
|
|
37
42
|
annotations: readOnly('Inspect Multi-Items Binding'),
|
|
38
|
-
handler: (
|
|
43
|
+
handler: async ({ site_id, ...rest }) => withSiteRetry(pool, site_id, async (client, site) => {
|
|
44
|
+
const deps = { client };
|
|
45
|
+
return withSiteMeta(await handleInspectMultiItemsBinding(deps, rest), site);
|
|
46
|
+
}),
|
|
39
47
|
}),
|
|
40
48
|
defineTool({
|
|
41
49
|
name: 'yootheme_builder_clean_implode_directives',
|
|
42
50
|
description: 'Strips `props.source.props.*.implode` directives from an element binding. ' +
|
|
43
51
|
'Returns audit log + new ETag. Idempotent (cleaned_count: 0 when nothing to ' +
|
|
44
|
-
'remove). Requires ETag.'
|
|
52
|
+
'remove). Requires ETag. ' +
|
|
53
|
+
'Operates on the default site unless site_id is provided.',
|
|
45
54
|
inputSchema: {
|
|
55
|
+
site_id: SITE_ID_SCHEMA,
|
|
46
56
|
template_id: TEMPLATE_ID,
|
|
47
57
|
element_path: ELEMENT_PATH,
|
|
48
58
|
etag: ETAG,
|
|
49
59
|
},
|
|
50
60
|
outputSchema: CLEAN_IMPLODE_OUTPUT_SCHEMA,
|
|
51
61
|
annotations: mutating('Clean Implode Directives'),
|
|
52
|
-
handler: (
|
|
62
|
+
handler: async ({ site_id, ...rest }) => withSiteRetry(pool, site_id, async (client, site) => {
|
|
63
|
+
const deps = { client };
|
|
64
|
+
return withSiteMeta(await handleCleanImplodeDirectives(deps, rest), site);
|
|
65
|
+
}),
|
|
53
66
|
}),
|
|
54
67
|
];
|
|
55
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../src/tools/multi-items/builders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../src/tools/multi-items/builders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EACH,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,YAAY,GAEf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,2BAA2B,EAC3B,4BAA4B,GAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACH,iCAAiC,EACjC,8BAA8B,GAEjC,MAAM,sBAAsB,CAAC;AAE9B,MAAM,UAAU,oBAAoB,CAAC,IAAgB;IACjD,gEAAgE;IAChE,mEAAmE;IACnE,4BAA4B;IAC5B,OAAO;QACH,UAAU,CAAC;YACP,IAAI,EAAE,8CAA8C;YACpD,WAAW,EACP,0EAA0E;gBAC1E,6EAA6E;gBAC7E,qFAAqF;gBACrF,0DAA0D;YAC9D,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,YAAY;aAC7B;YACD,YAAY,EAAE,iCAAiC;YAC/C,WAAW,EAAE,QAAQ,CAAC,6BAA6B,CAAC;YACpD,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CACpC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;gBAChD,MAAM,IAAI,GAA0B,EAAE,MAAM,EAAE,CAAC;gBAC/C,OAAO,YAAY,CAAC,MAAM,8BAA8B,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YAChF,CAAC,CAAC;SACT,CAAC;QAEF,UAAU,CAAC;YACP,IAAI,EAAE,2CAA2C;YACjD,WAAW,EACP,4EAA4E;gBAC5E,6EAA6E;gBAC7E,0BAA0B;gBAC1B,0DAA0D;YAC9D,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,YAAY;gBAC1B,IAAI,EAAE,IAAI;aACb;YACD,YAAY,EAAE,2BAA2B;YACzC,WAAW,EAAE,QAAQ,CAAC,0BAA0B,CAAC;YACjD,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CACpC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;gBAChD,MAAM,IAAI,GAA0B,EAAE,MAAM,EAAE,CAAC;gBAC/C,OAAO,YAAY,CAAC,MAAM,4BAA4B,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YAC9E,CAAC,CAAC;SACT,CAAC;KACL,CAAC;AACN,CAAC"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @license MIT
|
|
10
10
|
*/
|
|
11
|
-
import type {
|
|
11
|
+
import type { ClientPool } from '../../sites/client-pool.js';
|
|
12
12
|
import { type AnyToolDefinition } from '../tool-builder.js';
|
|
13
|
-
export declare function buildPagesTools(
|
|
13
|
+
export declare function buildPagesTools(pool: ClientPool): readonly AnyToolDefinition[];
|
|
14
14
|
//# sourceMappingURL=builders.d.ts.map
|
|
@@ -1 +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,
|
|
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;AA6B5B,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,iBAAiB,EAAE,CA2H9E"}
|
|
@@ -9,9 +9,10 @@
|
|
|
9
9
|
* @license MIT
|
|
10
10
|
*/
|
|
11
11
|
import { z } from 'zod';
|
|
12
|
-
import {
|
|
12
|
+
import { withSiteRetry } from '../pool-resolve-helper.js';
|
|
13
|
+
import { SITE_ID_SCHEMA, TEMPLATE_ID } from '../shared-schemas.js';
|
|
13
14
|
import { FIELDS, FLAT } from '../sparse-fields.js';
|
|
14
|
-
import { defineTool, mutating, readOnly, } from '../tool-builder.js';
|
|
15
|
+
import { defineTool, mutating, readOnly, withSiteMeta, } from '../tool-builder.js';
|
|
15
16
|
import { handleGetEtag, handlePageGetLayout, handlePageGetSchema, handlePagesList, handleTemplateSummary, } from './handlers-read.js';
|
|
16
17
|
import { handlePagePublish, handlePageSave } from './handlers-write.js';
|
|
17
18
|
import { ETAG_OUTPUT_SCHEMA, PAGES_LIST_OUTPUT_SCHEMA, SCHEMA_OUTPUT_SCHEMA, } from './schemas.js';
|
|
@@ -26,24 +27,27 @@ const ETAG = z
|
|
|
26
27
|
.describe('Optimistic-lock ETag (from yootheme_builder_get_etag). ' +
|
|
27
28
|
'Optional; when provided, optimistic-lock is enforced (412 on conflict). ' +
|
|
28
29
|
'When omitted, last-write-wins applies. Recommended for collaborative edits.');
|
|
29
|
-
export function buildPagesTools(
|
|
30
|
+
export function buildPagesTools(pool) {
|
|
30
31
|
return [
|
|
31
32
|
defineTool({
|
|
32
33
|
name: 'yootheme_builder_pages_list',
|
|
33
|
-
description: 'List
|
|
34
|
-
'
|
|
35
|
-
'Pass `fields:["id","label"]` to
|
|
36
|
-
|
|
34
|
+
description: 'List YT templates. Returns id, label, usage meta + per-row `frontend_url` ' +
|
|
35
|
+
'(permalink when public) and `frontend_url_template` (pattern for search / 404 / ' +
|
|
36
|
+
'ID-based templates). Pass `fields:["id","label"]` to slim. Site URL: diagnose. ' +
|
|
37
|
+
'Operates on the default site unless site_id is provided.',
|
|
38
|
+
inputSchema: { site_id: SITE_ID_SCHEMA, fields: FIELDS },
|
|
37
39
|
outputSchema: PAGES_LIST_OUTPUT_SCHEMA,
|
|
38
40
|
annotations: readOnly('List Pages'),
|
|
39
|
-
handler: (
|
|
41
|
+
handler: async ({ site_id, ...rest }) => withSiteRetry(pool, site_id, async (client, site) => withSiteMeta(await handlePagesList(client, rest), site)),
|
|
40
42
|
}),
|
|
41
43
|
defineTool({
|
|
42
44
|
name: 'yootheme_builder_page_get_layout',
|
|
43
45
|
description: 'Get full layout tree for one template. Default nested `{layout, ' +
|
|
44
46
|
'etag}`. Set `flat:true` for depth-first array `{elements:[...], ' +
|
|
45
|
-
'etag}`; combine with `fields[]` to project per-element.'
|
|
47
|
+
'etag}`; combine with `fields[]` to project per-element. ' +
|
|
48
|
+
'Operates on the default site unless site_id is provided.',
|
|
46
49
|
inputSchema: {
|
|
50
|
+
site_id: SITE_ID_SCHEMA,
|
|
47
51
|
template_id: TEMPLATE_ID,
|
|
48
52
|
flat: FLAT,
|
|
49
53
|
fields: FIELDS,
|
|
@@ -52,55 +56,63 @@ export function buildPagesTools(client) {
|
|
|
52
56
|
// optional projection) and the JSON-Pointer-keyed nested shape is
|
|
53
57
|
// structurally open-ended — modelling it precisely buys nothing here.
|
|
54
58
|
annotations: readOnly('Get Page Layout'),
|
|
55
|
-
handler: (
|
|
59
|
+
handler: async ({ site_id, ...rest }) => withSiteRetry(pool, site_id, async (client, site) => withSiteMeta(await handlePageGetLayout(client, rest), site)),
|
|
56
60
|
}),
|
|
57
61
|
defineTool({
|
|
58
62
|
name: 'yootheme_builder_page_get_schema',
|
|
59
63
|
description: 'Get the flat schema for a template — a list of nodes with their JSON-Pointer ' +
|
|
60
64
|
'paths and element types. Best entry-point for navigation: lighter than ' +
|
|
61
|
-
'page_get_layout, sufficient to locate elements before editing.'
|
|
62
|
-
|
|
65
|
+
'page_get_layout, sufficient to locate elements before editing. ' +
|
|
66
|
+
'Operates on the default site unless site_id is provided.',
|
|
67
|
+
inputSchema: { site_id: SITE_ID_SCHEMA, template_id: TEMPLATE_ID },
|
|
63
68
|
outputSchema: SCHEMA_OUTPUT_SCHEMA,
|
|
64
69
|
annotations: readOnly('Get Page Schema'),
|
|
65
|
-
handler: (
|
|
70
|
+
handler: async ({ site_id, ...rest }) => withSiteRetry(pool, site_id, async (client, site) => withSiteMeta(await handlePageGetSchema(client, rest), site)),
|
|
66
71
|
}),
|
|
67
72
|
defineTool({
|
|
68
73
|
name: 'yootheme_builder_get_etag',
|
|
69
|
-
description: 'Get the current top-level state ETag. Pass
|
|
70
|
-
'
|
|
71
|
-
|
|
74
|
+
description: 'Get the current top-level state ETag. Pass it back via `etag` on any write tool ' +
|
|
75
|
+
'(page_save/page_publish/element_set/binding_set) to enforce optimistic-locking ' +
|
|
76
|
+
'— the server returns 412 when the ETag has changed since you read it. ' +
|
|
77
|
+
'Operates on the default site unless site_id is provided.',
|
|
78
|
+
inputSchema: { site_id: SITE_ID_SCHEMA },
|
|
72
79
|
outputSchema: ETAG_OUTPUT_SCHEMA,
|
|
73
80
|
annotations: readOnly('Get ETag'),
|
|
74
|
-
handler: () => handleGetEtag(client),
|
|
81
|
+
handler: async ({ site_id }) => withSiteRetry(pool, site_id, async (client, site) => withSiteMeta(await handleGetEtag(client), site)),
|
|
75
82
|
}),
|
|
76
83
|
defineTool({
|
|
77
84
|
name: 'yootheme_builder_template_summary',
|
|
78
85
|
description: 'Token-efficient template overview: element counts by type, binding ' +
|
|
79
86
|
'count, max nesting depth, and named landmark sections — computed ' +
|
|
80
87
|
'server-side in one call. Use this to grasp a large template before ' +
|
|
81
|
-
'pulling element_list or page_get_layout.'
|
|
82
|
-
|
|
88
|
+
'pulling element_list or page_get_layout. ' +
|
|
89
|
+
'Operates on the default site unless site_id is provided.',
|
|
90
|
+
inputSchema: { site_id: SITE_ID_SCHEMA, template_id: TEMPLATE_ID },
|
|
83
91
|
annotations: readOnly('Template Summary'),
|
|
84
|
-
handler: (
|
|
92
|
+
handler: async ({ site_id, ...rest }) => withSiteRetry(pool, site_id, async (client, site) => withSiteMeta(await handleTemplateSummary(client, rest), site)),
|
|
85
93
|
}),
|
|
86
94
|
defineTool({
|
|
87
95
|
name: 'yootheme_builder_page_save',
|
|
88
96
|
description: 'Re-run save-transforms and persist. ETag optional — when provided, 412 on ' +
|
|
89
97
|
'conflict; when omitted, last-write-wins. Recommended for collaborative edits. ' +
|
|
90
|
-
'No-op when state is byte-identical (returns `no_changes:true`, ETag unchanged).'
|
|
98
|
+
'No-op when state is byte-identical (returns `no_changes:true`, ETag unchanged). ' +
|
|
99
|
+
'Operates on the default site unless site_id is provided.',
|
|
91
100
|
inputSchema: {
|
|
101
|
+
site_id: SITE_ID_SCHEMA,
|
|
92
102
|
template_id: TEMPLATE_ID,
|
|
93
103
|
etag: ETAG,
|
|
94
104
|
},
|
|
95
105
|
annotations: mutating('Save Page'),
|
|
96
|
-
handler: (
|
|
106
|
+
handler: async ({ site_id, ...rest }, extra) => withSiteRetry(pool, site_id, async (client, site) => withSiteMeta(await handlePageSave(client, rest, extra), site)),
|
|
97
107
|
}),
|
|
98
108
|
defineTool({
|
|
99
109
|
name: 'yootheme_builder_page_publish',
|
|
100
110
|
description: 'Publish a template — persist state, flush YT + WP caches, snapshot the ' +
|
|
101
111
|
'published-state ETag. ETag optional — when provided, 412 on conflict; when ' +
|
|
102
|
-
'omitted, last-write-wins. Recommended for collaborative edits.'
|
|
112
|
+
'omitted, last-write-wins. Recommended for collaborative edits. ' +
|
|
113
|
+
'Operates on the default site unless site_id is provided.',
|
|
103
114
|
inputSchema: {
|
|
115
|
+
site_id: SITE_ID_SCHEMA,
|
|
104
116
|
template_id: TEMPLATE_ID,
|
|
105
117
|
etag: ETAG,
|
|
106
118
|
},
|
|
@@ -108,7 +120,7 @@ export function buildPagesTools(client) {
|
|
|
108
120
|
// unchanged template snapshots the same ETag and flushes
|
|
109
121
|
// the same caches. Matrix marks `idempotentHint:true`.
|
|
110
122
|
annotations: mutating('Publish Page'),
|
|
111
|
-
handler: (
|
|
123
|
+
handler: async ({ site_id, ...rest }, extra) => withSiteRetry(pool, site_id, async (client, site) => withSiteMeta(await handlePagePublish(client, rest, extra), site)),
|
|
112
124
|
}),
|
|
113
125
|
];
|
|
114
126
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../src/tools/pages/builders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../src/tools/pages/builders.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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;AAgBlD,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,CAgCrB;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,
|
|
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;AAgBlD,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,CAgCrB;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,CA6CrB;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,CAmBrB"}
|
|
@@ -64,9 +64,19 @@ export async function handlePageGetLayout(client, { template_id, flat, fields })
|
|
|
64
64
|
// unless caller opts-in. The echo helper below mirrors that.
|
|
65
65
|
[]);
|
|
66
66
|
const echo = projectedFieldsEcho(fields, undefined);
|
|
67
|
+
// 1.0.1 Wave-1.7 F-COLD-3: forward the canonical pointer base
|
|
68
|
+
// through the flat-projection path too so cold agents iterating
|
|
69
|
+
// with `flat: true` see the same hint they get on the nested
|
|
70
|
+
// default payload.
|
|
67
71
|
return jsonResult({
|
|
68
72
|
elements: projected,
|
|
69
73
|
...(typeof data.etag === 'string' ? { etag: data.etag } : {}),
|
|
74
|
+
...(typeof data.layout_root_pointer === 'string'
|
|
75
|
+
? { layout_root_pointer: data.layout_root_pointer }
|
|
76
|
+
: {}),
|
|
77
|
+
...(typeof data.pointer_hint === 'string'
|
|
78
|
+
? { pointer_hint: data.pointer_hint }
|
|
79
|
+
: {}),
|
|
70
80
|
...(echo !== undefined ? { projected_fields: [...echo] } : {}),
|
|
71
81
|
});
|
|
72
82
|
}
|