@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../src/tools/elements/builders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../src/tools/elements/builders.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,14 @@ import { type RestClient } from '../../client.js';
|
|
|
20
20
|
import type { McpServerWithElicitation } from '../elicitation.js';
|
|
21
21
|
import { type ToolResult } from '../tool-builder.js';
|
|
22
22
|
export declare const ELEMENT_LIST_OUTPUT_SCHEMA: z.ZodObject<{
|
|
23
|
-
items: z.ZodArray<z.
|
|
23
|
+
items: z.ZodArray<z.ZodObject<{
|
|
24
|
+
path: z.ZodOptional<z.ZodString>;
|
|
25
|
+
rel_path: z.ZodOptional<z.ZodString>;
|
|
26
|
+
element_type: z.ZodOptional<z.ZodString>;
|
|
27
|
+
parent_path: z.ZodOptional<z.ZodString>;
|
|
28
|
+
label: z.ZodOptional<z.ZodString>;
|
|
29
|
+
has_binding: z.ZodOptional<z.ZodBoolean>;
|
|
30
|
+
}, z.core.$loose>>;
|
|
24
31
|
total: z.ZodNumber;
|
|
25
32
|
template_id: z.ZodString;
|
|
26
33
|
next_cursor: z.ZodOptional<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/tools/elements/handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAYlE,OAAO,EAGH,KAAK,UAAU,EAClB,MAAM,oBAAoB,CAAC;AAI5B,eAAO,MAAM,0BAA0B
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/tools/elements/handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAYlE,OAAO,EAGH,KAAK,UAAU,EAClB,MAAM,oBAAoB,CAAC;AAI5B,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;iBAuDrC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;iBAOpC,CAAC;AAIH,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACnD;AAyBD,wBAAsB,iBAAiB,CACnC,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAC/B,EACI,WAAW,EACX,MAAM,EACN,SAAS,EACT,KAAK,EACL,KAAK,EACL,MAAM,GACT,EAAE;IACC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,GACF,OAAO,CAAC,UAAU,CAAC,CA4ErB;AAID,wBAAsB,gBAAgB,CAClC,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAC/B,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAC7E,OAAO,CAAC,UAAU,CAAC,CA8CrB;AAGD,OAAO,EACH,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,2BAA2B,GAC9B,MAAM,qBAAqB,CAAC"}
|
|
@@ -23,7 +23,43 @@ import { DEFAULT_FIELDS_ELEMENT_LIST, projectFields, projectedFieldsEcho, } from
|
|
|
23
23
|
import { errorResult, structuredResult, } from '../tool-builder.js';
|
|
24
24
|
// ─── outputSchemas (Wave G.2 §4) ─────────────────────────────────────
|
|
25
25
|
export const ELEMENT_LIST_OUTPUT_SCHEMA = z.object({
|
|
26
|
-
|
|
26
|
+
// 1.0.1 Wave-1.5 — Cold agents need to see the row shape so they know
|
|
27
|
+
// they can copy `rel_path`/`path`/`element_type`/`parent_path` straight
|
|
28
|
+
// back into the next call. All fields are optional + the row is
|
|
29
|
+
// `passthrough()` so projected/narrow `fields[]` calls still validate.
|
|
30
|
+
items: z.array(z
|
|
31
|
+
.object({
|
|
32
|
+
path: z
|
|
33
|
+
.string()
|
|
34
|
+
.optional()
|
|
35
|
+
.describe('Fully-qualified JSON-Pointer ' +
|
|
36
|
+
'(`/templates/<id>/layout/children/...`).'),
|
|
37
|
+
rel_path: z
|
|
38
|
+
.string()
|
|
39
|
+
.optional()
|
|
40
|
+
.describe('Path relative to layout root (`/children/0/...`). ' +
|
|
41
|
+
'Pass either form back as `element_path`.'),
|
|
42
|
+
element_type: z
|
|
43
|
+
.string()
|
|
44
|
+
.optional()
|
|
45
|
+
.describe("Element type (e.g. `headline`, `section`, `grid`). " +
|
|
46
|
+
"Feeds `element_add.element_type` directly."),
|
|
47
|
+
parent_path: z
|
|
48
|
+
.string()
|
|
49
|
+
.optional()
|
|
50
|
+
.describe("Path of this element's parent. Feeds `element_add.parent_path` / " +
|
|
51
|
+
"`element_move.to_parent_path` directly (rel_path form preferred)."),
|
|
52
|
+
label: z
|
|
53
|
+
.string()
|
|
54
|
+
.optional()
|
|
55
|
+
.describe('Human-readable name of the element (alias of `name`).'),
|
|
56
|
+
has_binding: z
|
|
57
|
+
.boolean()
|
|
58
|
+
.optional()
|
|
59
|
+
.describe('True when this element is dynamically bound to a data ' +
|
|
60
|
+
'source. Use `element_get_binding` for the full mapping.'),
|
|
61
|
+
})
|
|
62
|
+
.passthrough()),
|
|
27
63
|
total: z.number(),
|
|
28
64
|
template_id: z.string(),
|
|
29
65
|
// N-01: present only when the call was paginated and more rows remain.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/tools/elements/handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAoB,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAmB,MAAM,iBAAiB,CAAC;AAErE,OAAO,EACH,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,GAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACH,2BAA2B,EAC3B,aAAa,EACb,mBAAmB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,WAAW,EACX,gBAAgB,GAEnB,MAAM,oBAAoB,CAAC;AAE5B,wEAAwE;AAExE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/tools/elements/handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,13 +10,17 @@
|
|
|
10
10
|
import type { DetailGroup, StatsResultOptions } from '@getimo/mcp-toolkit';
|
|
11
11
|
export interface HealthPayload {
|
|
12
12
|
plugin_version: string;
|
|
13
|
-
yootheme_version: string | null;
|
|
14
|
-
wp_version: string | null;
|
|
15
|
-
php_version: string;
|
|
16
|
-
storage_type: string;
|
|
17
|
-
storage_target: string;
|
|
18
13
|
yootheme_loaded: boolean;
|
|
19
|
-
|
|
14
|
+
yootheme_version?: string | null;
|
|
15
|
+
wp_version?: string | null;
|
|
16
|
+
cms?: string;
|
|
17
|
+
cms_version?: string;
|
|
18
|
+
php_version?: string;
|
|
19
|
+
storage_type?: string;
|
|
20
|
+
storage_target?: string;
|
|
21
|
+
available_endpoints?: string[];
|
|
22
|
+
site_url?: string | null;
|
|
23
|
+
home_url?: string | null;
|
|
20
24
|
}
|
|
21
25
|
/**
|
|
22
26
|
* Build the detail body for `yootheme_builder_health`.
|
|
@@ -58,6 +62,8 @@ export interface DiagnoseChecks {
|
|
|
58
62
|
plugin_error?: string;
|
|
59
63
|
bearer_valid?: boolean;
|
|
60
64
|
bearer_error?: string;
|
|
65
|
+
site_url?: string | null;
|
|
66
|
+
home_url?: string | null;
|
|
61
67
|
}
|
|
62
68
|
/**
|
|
63
69
|
* Build the detail body for `yootheme_builder_diagnose`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health-format.d.ts","sourceRoot":"","sources":["../../../src/tools/format/health-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAI3E,MAAM,WAAW,aAAa;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"health-format.d.ts","sourceRoot":"","sources":["../../../src/tools/format/health-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAI3E,MAAM,WAAW,aAAa;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IAMzB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAG/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG;IACvD,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CA6DA;AAQD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,kBAAkB,CA0C3E;AAID,MAAM,WAAW,cAAc;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG;IACzD,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CA6BA"}
|
|
@@ -19,8 +19,11 @@
|
|
|
19
19
|
* (real installs expose 16+ endpoints across pages/elements/sources/etc.).
|
|
20
20
|
*/
|
|
21
21
|
export function buildHealthDetail(payload) {
|
|
22
|
-
const endpoints = payload.available_endpoints;
|
|
22
|
+
const endpoints = payload.available_endpoints ?? [];
|
|
23
23
|
const endpointPreview = summarizeEndpoints(endpoints);
|
|
24
|
+
// Cross-platform CMS label: WP emits wp_version, Joomla emits cms/cms_version.
|
|
25
|
+
const cmsLabel = payload.cms === 'joomla' ? 'Joomla version' : 'CMS / WP version';
|
|
26
|
+
const cmsVersion = payload.wp_version ?? payload.cms_version ?? null;
|
|
24
27
|
return {
|
|
25
28
|
title: 'YT Builder MCP — Health',
|
|
26
29
|
groups: [
|
|
@@ -42,25 +45,25 @@ export function buildHealthDetail(payload) {
|
|
|
42
45
|
{
|
|
43
46
|
key: 'yootheme_version',
|
|
44
47
|
label: 'YOOtheme version',
|
|
45
|
-
value: payload.yootheme_version,
|
|
48
|
+
value: payload.yootheme_version ?? null,
|
|
46
49
|
},
|
|
47
50
|
],
|
|
48
51
|
},
|
|
49
52
|
{
|
|
50
53
|
label: 'Host',
|
|
51
54
|
entries: [
|
|
52
|
-
{ key: '
|
|
53
|
-
{ key: 'php_version', label: 'PHP version', value: payload.php_version },
|
|
55
|
+
{ key: 'cms_version', label: cmsLabel, value: cmsVersion },
|
|
56
|
+
{ key: 'php_version', label: 'PHP version', value: payload.php_version ?? null },
|
|
54
57
|
{
|
|
55
58
|
key: 'storage_type',
|
|
56
59
|
label: 'Storage type',
|
|
57
|
-
value: payload.storage_type,
|
|
60
|
+
value: payload.storage_type ?? null,
|
|
58
61
|
format: 'badge',
|
|
59
62
|
},
|
|
60
63
|
{
|
|
61
64
|
key: 'storage_target',
|
|
62
65
|
label: 'Storage target',
|
|
63
|
-
value: payload.storage_target,
|
|
66
|
+
value: payload.storage_target ?? null,
|
|
64
67
|
format: 'code',
|
|
65
68
|
copyable: true,
|
|
66
69
|
},
|
|
@@ -114,18 +117,18 @@ export function buildHealthStats(payload) {
|
|
|
114
117
|
},
|
|
115
118
|
{
|
|
116
119
|
key: 'wp_version',
|
|
117
|
-
label: 'WordPress version',
|
|
118
|
-
value: payload.wp_version ?? '—',
|
|
120
|
+
label: payload.cms === 'joomla' ? 'Joomla version' : 'WordPress version',
|
|
121
|
+
value: payload.wp_version ?? payload.cms_version ?? '—',
|
|
119
122
|
},
|
|
120
123
|
{
|
|
121
124
|
key: 'php_version',
|
|
122
125
|
label: 'PHP version',
|
|
123
|
-
value: payload.php_version,
|
|
126
|
+
value: payload.php_version ?? '—',
|
|
124
127
|
},
|
|
125
128
|
{
|
|
126
129
|
key: 'storage_type',
|
|
127
130
|
label: 'Storage type',
|
|
128
|
-
value: payload.storage_type,
|
|
131
|
+
value: payload.storage_type ?? '—',
|
|
129
132
|
},
|
|
130
133
|
{
|
|
131
134
|
key: 'yootheme_loaded',
|
|
@@ -135,7 +138,7 @@ export function buildHealthStats(payload) {
|
|
|
135
138
|
{
|
|
136
139
|
key: 'endpoint_count',
|
|
137
140
|
label: 'Endpoint count',
|
|
138
|
-
value: payload.available_endpoints.length,
|
|
141
|
+
value: (payload.available_endpoints ?? []).length,
|
|
139
142
|
format: 'number',
|
|
140
143
|
},
|
|
141
144
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health-format.js","sourceRoot":"","sources":["../../../src/tools/format/health-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"health-format.js","sourceRoot":"","sources":["../../../src/tools/format/health-format.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,13 @@ export declare const SCHEMA_COMPACT_COLUMNS: readonly TableColumn[];
|
|
|
26
26
|
/** Maps an `/pages` element to the table row shape. Missing fields default to empty.
|
|
27
27
|
* REST returns `name` (YOOtheme's internal field name); we surface it as `label`
|
|
28
28
|
* for LLM-friendly schemas. The legacy `label` fallback is for forward-compat
|
|
29
|
-
* if the backend ever switches naming.
|
|
29
|
+
* if the backend ever switches naming.
|
|
30
|
+
*
|
|
31
|
+
* F-Frontend-URL (2026-05-25): the three frontend-URL hints carry through
|
|
32
|
+
* the mapper unchanged. The table-renderer doesn't render them (would
|
|
33
|
+
* blow the column budget), but the structured-content leg surfaces them
|
|
34
|
+
* so an MCP-agent walking the response sees the per-template URL hint
|
|
35
|
+
* without a follow-up REST call. */
|
|
30
36
|
export declare function mapPageRow(input: Record<string, unknown>): Record<string, unknown>;
|
|
31
37
|
/** Maps a `/pages/{id}/schema` node to the table row shape. */
|
|
32
38
|
export declare function mapSchemaNodeRow(input: Record<string, unknown>): Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages-format.d.ts","sourceRoot":"","sources":["../../../src/tools/format/pages-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIpE,qCAAqC;AACrC,eAAO,MAAM,mBAAmB,EAAE,SAAS,WAAW,EAMrD,CAAC;AAEF,yEAAyE;AACzE,eAAO,MAAM,qBAAqB,EAAE,SAAS,WAAW,EAIvD,CAAC;AAIF,eAAO,MAAM,oBAAoB,EAAE,SAAS,WAAW,EAKtD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,WAAW,EAIxD,CAAC;
|
|
1
|
+
{"version":3,"file":"pages-format.d.ts","sourceRoot":"","sources":["../../../src/tools/format/pages-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIpE,qCAAqC;AACrC,eAAO,MAAM,mBAAmB,EAAE,SAAS,WAAW,EAMrD,CAAC;AAEF,yEAAyE;AACzE,eAAO,MAAM,qBAAqB,EAAE,SAAS,WAAW,EAIvD,CAAC;AAIF,eAAO,MAAM,oBAAoB,EAAE,SAAS,WAAW,EAKtD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,WAAW,EAIxD,CAAC;AA4BF;;;;;;;;;qCASqC;AACrC,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAelF;AAED,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOxF;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAC3B,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC9C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAE3B;AAID,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG;IAAE,MAAM,EAAE,WAAW,EAAE,CAAA;CAAE,CA4B5B"}
|
|
@@ -53,10 +53,27 @@ function asInt(v) {
|
|
|
53
53
|
function asBool(v) {
|
|
54
54
|
return v === true;
|
|
55
55
|
}
|
|
56
|
+
function asNullableString(v) {
|
|
57
|
+
if (typeof v === 'string') {
|
|
58
|
+
return v;
|
|
59
|
+
}
|
|
60
|
+
if (v === null) {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
// Unknown / undefined → null (consistent with the server-side honest-null
|
|
64
|
+
// convention — `frontend_url: null` is meaningful, `undefined` is not).
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
56
67
|
/** Maps an `/pages` element to the table row shape. Missing fields default to empty.
|
|
57
68
|
* REST returns `name` (YOOtheme's internal field name); we surface it as `label`
|
|
58
69
|
* for LLM-friendly schemas. The legacy `label` fallback is for forward-compat
|
|
59
|
-
* if the backend ever switches naming.
|
|
70
|
+
* if the backend ever switches naming.
|
|
71
|
+
*
|
|
72
|
+
* F-Frontend-URL (2026-05-25): the three frontend-URL hints carry through
|
|
73
|
+
* the mapper unchanged. The table-renderer doesn't render them (would
|
|
74
|
+
* blow the column budget), but the structured-content leg surfaces them
|
|
75
|
+
* so an MCP-agent walking the response sees the per-template URL hint
|
|
76
|
+
* without a follow-up REST call. */
|
|
60
77
|
export function mapPageRow(input) {
|
|
61
78
|
return {
|
|
62
79
|
id: asString(input.id),
|
|
@@ -64,6 +81,13 @@ export function mapPageRow(input) {
|
|
|
64
81
|
type: asString(input.type),
|
|
65
82
|
elements_count: asInt(input.elements_count),
|
|
66
83
|
modified_at: asString(input.modified_at),
|
|
84
|
+
// F-Frontend-URL: nullable-strings, NOT empty-string coercion —
|
|
85
|
+
// a null frontend_url is semantically different from an empty
|
|
86
|
+
// string ("not applicable" vs "we tried and got nothing"). The
|
|
87
|
+
// server emits null deliberately; the mapper preserves it.
|
|
88
|
+
frontend_url: asNullableString(input.frontend_url),
|
|
89
|
+
frontend_url_template: asNullableString(input.frontend_url_template),
|
|
90
|
+
frontend_url_description: asNullableString(input.frontend_url_description),
|
|
67
91
|
};
|
|
68
92
|
}
|
|
69
93
|
/** Maps a `/pages/{id}/schema` node to the table row shape. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages-format.js","sourceRoot":"","sources":["../../../src/tools/format/pages-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,wEAAwE;AAExE,qCAAqC;AACrC,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACvD,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IACpD,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;IAC1C,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;IACzC,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;IACjE,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;CACvD,CAAC;AAEF,yEAAyE;AACzE,MAAM,CAAC,MAAM,qBAAqB,GAA2B;IACzD,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IACpD,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;IAC1C,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;CACpE,CAAC;AAEF,wEAAwE;AAExE,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IACxD,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IACxD,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;IACjD,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;IAC3C,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE;CAClD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA2B;IAC1D,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IACxD,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;IACjD,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;CAC9C,CAAC;AAEF,wEAAwE;AAExE,SAAS,QAAQ,CAAC,CAAU;IACxB,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,KAAK,CAAC,CAAU;IACrB,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,MAAM,CAAC,CAAU;IACtB,OAAO,CAAC,KAAK,IAAI,CAAC;AACtB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"pages-format.js","sourceRoot":"","sources":["../../../src/tools/format/pages-format.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/health.d.ts
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
*
|
|
17
17
|
* @license MIT
|
|
18
18
|
*/
|
|
19
|
-
import type {
|
|
19
|
+
import type { ClientPool } from '../sites/client-pool.js';
|
|
20
20
|
import { type AnyToolDefinition } from './tool-builder.js';
|
|
21
|
-
export declare function buildHealthTools(
|
|
21
|
+
export declare function buildHealthTools(pool: ClientPool): readonly AnyToolDefinition[];
|
|
22
22
|
//# sourceMappingURL=health.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/tools/health.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/tools/health.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAS1D,OAAO,EAOH,KAAK,iBAAiB,EACzB,MAAM,mBAAmB,CAAC;AA4E3B,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,iBAAiB,EAAE,CAqI/E"}
|
package/dist/tools/health.js
CHANGED
|
@@ -20,17 +20,44 @@ import { detailResult, statsResult } from '@getimo/mcp-toolkit';
|
|
|
20
20
|
import { z } from 'zod';
|
|
21
21
|
import { RestError } from '../errors.js';
|
|
22
22
|
import { buildDiagnoseDetail, buildHealthStats, } from './format/health-format.js';
|
|
23
|
-
import {
|
|
23
|
+
import { SITE_ID_SCHEMA } from './shared-schemas.js';
|
|
24
|
+
import { resolveSiteOrError } from './pool-resolve-helper.js';
|
|
25
|
+
import { defineTool, errorResult, jsonResult, readOnly, structuredResult, withSiteMeta, } from './tool-builder.js';
|
|
24
26
|
// ─── outputSchemas (Wave G.2 §4) ─────────────────────────────────────
|
|
25
27
|
const HEALTH_OUTPUT_SCHEMA = z.object({
|
|
26
28
|
plugin_version: z.string(),
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
// Cross-platform note (Wave 7): the anonymous health payload only carries
|
|
30
|
+
// {plugin_version, status, yootheme_loaded}; the rest is disclosed ONLY
|
|
31
|
+
// with a valid Bearer (server-side fingerprint-reduction). On Joomla the
|
|
32
|
+
// augmented payload uses `cms`/`cms_version` and emits NEITHER `wp_version`
|
|
33
|
+
// NOR `yootheme_version`. All platform-/tier-variable fields are therefore
|
|
34
|
+
// optional so the same MCP tool validates against WP and Joomla, anon and
|
|
35
|
+
// authenticated.
|
|
36
|
+
yootheme_version: z.string().nullable().optional(),
|
|
37
|
+
wp_version: z.string().nullable().optional(),
|
|
38
|
+
cms: z.string().optional(),
|
|
39
|
+
cms_version: z.string().optional(),
|
|
40
|
+
php_version: z.string().optional(),
|
|
41
|
+
storage_type: z.string().optional(),
|
|
42
|
+
storage_target: z.string().optional(),
|
|
32
43
|
yootheme_loaded: z.boolean(),
|
|
33
|
-
available_endpoints: z.array(z.string()),
|
|
44
|
+
available_endpoints: z.array(z.string()).optional(),
|
|
45
|
+
// 1.0.1 — surface canonical WP URLs so an agent can deep-link the
|
|
46
|
+
// customer to the live site without a separate REST round-trip.
|
|
47
|
+
// Both fields are optional in the schema for back-compat with older
|
|
48
|
+
// 1.0.0 PHP servers that don't yet emit them.
|
|
49
|
+
site_url: z
|
|
50
|
+
.string()
|
|
51
|
+
.nullable()
|
|
52
|
+
.optional()
|
|
53
|
+
.describe('Canonical WordPress install URL including any subpath ' +
|
|
54
|
+
'(e.g. `https://example.com/wordpress`). Authenticated payload only.'),
|
|
55
|
+
home_url: z
|
|
56
|
+
.string()
|
|
57
|
+
.nullable()
|
|
58
|
+
.optional()
|
|
59
|
+
.describe('Front-end home URL — use this to deep-link the user to the live ' +
|
|
60
|
+
'site they edited.'),
|
|
34
61
|
});
|
|
35
62
|
const DIAGNOSE_OUTPUT_SCHEMA = z.object({
|
|
36
63
|
plugin_reachable: z.boolean(),
|
|
@@ -42,82 +69,128 @@ const DIAGNOSE_OUTPUT_SCHEMA = z.object({
|
|
|
42
69
|
bearer_valid: z.boolean().optional(),
|
|
43
70
|
bearer_error: z.string().optional(),
|
|
44
71
|
summary: z.string().optional(),
|
|
72
|
+
// 1.0.1 — mirror the health fields for parity. Diagnose calls /health
|
|
73
|
+
// internally so it has the values; surfacing them avoids forcing the
|
|
74
|
+
// agent to call both tools to get URL info + bearer status.
|
|
75
|
+
site_url: z
|
|
76
|
+
.string()
|
|
77
|
+
.nullable()
|
|
78
|
+
.optional()
|
|
79
|
+
.describe('Canonical WordPress install URL including any subpath ' +
|
|
80
|
+
'(e.g. `https://example.com/wordpress`). Mirrored from /health so an ' +
|
|
81
|
+
'agent gets URL info + bearer status in one call.'),
|
|
82
|
+
home_url: z
|
|
83
|
+
.string()
|
|
84
|
+
.nullable()
|
|
85
|
+
.optional()
|
|
86
|
+
.describe('Front-end home URL — use this to deep-link the user to the live ' +
|
|
87
|
+
'site they edited.'),
|
|
45
88
|
});
|
|
46
|
-
export function buildHealthTools(
|
|
89
|
+
export function buildHealthTools(pool) {
|
|
47
90
|
return [
|
|
48
91
|
defineTool({
|
|
49
92
|
name: 'yootheme_builder_health',
|
|
50
|
-
description: 'Check
|
|
51
|
-
'
|
|
52
|
-
'
|
|
53
|
-
'
|
|
54
|
-
inputSchema: {
|
|
93
|
+
description: 'Check plugin installed/reachable. Returns plugin version, YT Pro version, REST ' +
|
|
94
|
+
'endpoints. Authenticated payload adds site_url + home_url for deep-linking. ' +
|
|
95
|
+
'See yootheme_builder_diagnose for Bearer-validity + connectivity summary. ' +
|
|
96
|
+
'Operates on the default site unless site_id is provided.',
|
|
97
|
+
inputSchema: {
|
|
98
|
+
site_id: SITE_ID_SCHEMA,
|
|
99
|
+
},
|
|
55
100
|
outputSchema: HEALTH_OUTPUT_SCHEMA,
|
|
56
101
|
annotations: readOnly('Health Check'),
|
|
57
|
-
handler: async () => {
|
|
102
|
+
handler: async ({ site_id }) => {
|
|
103
|
+
const r = await resolveSiteOrError(pool, site_id);
|
|
104
|
+
if (!r.ok)
|
|
105
|
+
return r.error;
|
|
106
|
+
const { client: siteClient, site } = r;
|
|
58
107
|
try {
|
|
59
|
-
const data = await
|
|
108
|
+
const data = await siteClient.get('/health');
|
|
60
109
|
// Round-1 audit I1 fix: spec §3.2 row 1 calls for
|
|
61
110
|
// `statsResult` (flat metrics). Earlier shipped
|
|
62
111
|
// `detailResult` — that's a Detail-Card variant, not
|
|
63
112
|
// the stats-display the spec asked for. The flat
|
|
64
113
|
// shape is built by `buildHealthStats`.
|
|
65
114
|
const toolkitResult = statsResult(buildHealthStats(data));
|
|
66
|
-
|
|
115
|
+
// Only surface fields the server actually returned — the
|
|
116
|
+
// anonymous tier and Joomla omit different subsets, and the
|
|
117
|
+
// output schema now marks all platform-/tier-variable fields
|
|
118
|
+
// optional (Wave 7 cross-platform parity).
|
|
119
|
+
return withSiteMeta(structuredResult(toolkitResult, {
|
|
67
120
|
plugin_version: data.plugin_version,
|
|
68
|
-
yootheme_version: data.yootheme_version,
|
|
69
|
-
wp_version: data.wp_version,
|
|
70
|
-
php_version: data.php_version,
|
|
71
|
-
storage_type: data.storage_type,
|
|
72
|
-
storage_target: data.storage_target,
|
|
73
121
|
yootheme_loaded: data.yootheme_loaded,
|
|
74
|
-
|
|
75
|
-
|
|
122
|
+
...(data.yootheme_version !== undefined ? { yootheme_version: data.yootheme_version } : {}),
|
|
123
|
+
...(data.wp_version !== undefined ? { wp_version: data.wp_version } : {}),
|
|
124
|
+
...(data.cms !== undefined ? { cms: data.cms } : {}),
|
|
125
|
+
...(data.cms_version !== undefined ? { cms_version: data.cms_version } : {}),
|
|
126
|
+
...(data.php_version !== undefined ? { php_version: data.php_version } : {}),
|
|
127
|
+
...(data.storage_type !== undefined ? { storage_type: data.storage_type } : {}),
|
|
128
|
+
...(data.storage_target !== undefined ? { storage_target: data.storage_target } : {}),
|
|
129
|
+
...(data.available_endpoints !== undefined ? { available_endpoints: data.available_endpoints } : {}),
|
|
130
|
+
...(data.site_url !== undefined ? { site_url: data.site_url } : {}),
|
|
131
|
+
...(data.home_url !== undefined ? { home_url: data.home_url } : {}),
|
|
132
|
+
}), site);
|
|
76
133
|
}
|
|
77
134
|
catch (e) {
|
|
78
|
-
return errorResult({
|
|
135
|
+
return withSiteMeta(errorResult({
|
|
79
136
|
error: e,
|
|
80
|
-
context: {},
|
|
81
|
-
hint: 'Verify
|
|
137
|
+
context: { site_id: site.id },
|
|
138
|
+
hint: 'Verify YTB_MCP_SITE_URL points at a WordPress or Joomla site with the ' +
|
|
82
139
|
'yt-builder-mcp plugin active. Try opening ' +
|
|
83
|
-
'<
|
|
84
|
-
|
|
140
|
+
'<site_url>/wp-json/yt-builder-mcp/v1/health (WP) or ' +
|
|
141
|
+
'<site_url>/api/index.php/v1/yt-builder-mcp/health (Joomla) in a browser.',
|
|
142
|
+
}), site);
|
|
85
143
|
}
|
|
86
144
|
},
|
|
87
145
|
}),
|
|
88
146
|
defineTool({
|
|
89
147
|
name: 'yootheme_builder_diagnose',
|
|
90
|
-
description: '
|
|
91
|
-
'
|
|
92
|
-
'
|
|
93
|
-
|
|
148
|
+
description: 'Full diagnostic: /health + authenticated /etag probe. Returns site_url, ' +
|
|
149
|
+
'home_url, plugin reachability, Bearer validity in one call. First call when ' +
|
|
150
|
+
'you need to know where the site lives. For per-template URLs see pages_list. ' +
|
|
151
|
+
'Operates on the default site unless site_id is provided.',
|
|
152
|
+
inputSchema: {
|
|
153
|
+
site_id: SITE_ID_SCHEMA,
|
|
154
|
+
},
|
|
94
155
|
outputSchema: DIAGNOSE_OUTPUT_SCHEMA,
|
|
95
156
|
annotations: readOnly('Diagnose Connection'),
|
|
96
|
-
handler: async () => {
|
|
157
|
+
handler: async ({ site_id }) => {
|
|
158
|
+
const r = await resolveSiteOrError(pool, site_id);
|
|
159
|
+
if (!r.ok)
|
|
160
|
+
return r.error;
|
|
161
|
+
const { client: siteClient, site } = r;
|
|
97
162
|
const checks = { plugin_reachable: false };
|
|
98
163
|
try {
|
|
99
|
-
const health = await
|
|
164
|
+
const health = await siteClient.get('/health');
|
|
100
165
|
checks.plugin_reachable = true;
|
|
101
166
|
checks.plugin_version = health.plugin_version;
|
|
102
167
|
checks.yootheme_loaded = health.yootheme_loaded;
|
|
103
168
|
checks.yootheme_version = health.yootheme_version;
|
|
104
|
-
checks.endpoint_count = health.available_endpoints.length;
|
|
169
|
+
checks.endpoint_count = (health.available_endpoints ?? []).length;
|
|
170
|
+
// 1.0.1 — mirror health URLs into diagnose output so an
|
|
171
|
+
// agent gets URL info AND bearer-status in one call.
|
|
172
|
+
if (health.site_url !== undefined) {
|
|
173
|
+
checks.site_url = health.site_url;
|
|
174
|
+
}
|
|
175
|
+
if (health.home_url !== undefined) {
|
|
176
|
+
checks.home_url = health.home_url;
|
|
177
|
+
}
|
|
105
178
|
}
|
|
106
179
|
catch (e) {
|
|
107
180
|
checks.plugin_reachable = false;
|
|
108
181
|
checks.plugin_error = e instanceof Error ? e.message : String(e);
|
|
109
182
|
// Plugin-unreachable path stays on jsonResult so the LLM
|
|
110
183
|
// sees the structured error hint inline (detailResult would
|
|
111
|
-
// hide the actionable "verify
|
|
184
|
+
// hide the actionable "verify YTB_MCP_SITE_URL" hint inside
|
|
112
185
|
// a sub-group). isError=true preserves SDK semantics.
|
|
113
|
-
return jsonResult({
|
|
186
|
+
return withSiteMeta(jsonResult({
|
|
114
187
|
...checks,
|
|
115
|
-
hint: 'Plugin not reachable. Verify
|
|
116
|
-
'yt-builder-mcp
|
|
117
|
-
}, { isError: true });
|
|
188
|
+
hint: 'Plugin not reachable. Verify YTB_MCP_SITE_URL and that the ' +
|
|
189
|
+
'yt-builder-mcp plugin is active on this site.',
|
|
190
|
+
}, { isError: true }), site);
|
|
118
191
|
}
|
|
119
192
|
try {
|
|
120
|
-
await
|
|
193
|
+
await siteClient.get('/etag');
|
|
121
194
|
checks.bearer_valid = true;
|
|
122
195
|
}
|
|
123
196
|
catch (e) {
|
|
@@ -128,18 +201,18 @@ export function buildHealthTools(client) {
|
|
|
128
201
|
else {
|
|
129
202
|
checks.bearer_error = e instanceof Error ? e.message : String(e);
|
|
130
203
|
}
|
|
131
|
-
return jsonResult({
|
|
204
|
+
return withSiteMeta(jsonResult({
|
|
132
205
|
...checks,
|
|
133
206
|
hint: 'Bearer key rejected. Regenerate the key in wp-admin → Tools → ' +
|
|
134
|
-
'"YT Builder MCP" → Bearer Keys
|
|
135
|
-
'`yt-builder-mcp setup`.',
|
|
136
|
-
}, { isError: true });
|
|
207
|
+
'"YT Builder MCP" → Bearer Keys (or Joomla Components → YT Builder MCP) ' +
|
|
208
|
+
'and re-run `yt-builder-mcp setup`.',
|
|
209
|
+
}, { isError: true }), site);
|
|
137
210
|
}
|
|
138
211
|
const toolkitResult = detailResult(buildDiagnoseDetail(checks));
|
|
139
|
-
return structuredResult(toolkitResult, {
|
|
212
|
+
return withSiteMeta(structuredResult(toolkitResult, {
|
|
140
213
|
...checks,
|
|
141
214
|
summary: 'OK — plugin reachable and Bearer key accepted.',
|
|
142
|
-
});
|
|
215
|
+
}), site);
|
|
143
216
|
},
|
|
144
217
|
}),
|
|
145
218
|
];
|