@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":"handlers-read.js","sourceRoot":"","sources":["../../../src/tools/pages/handlers-read.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handlers-read.js","sourceRoot":"","sources":["../../../src/tools/pages/handlers-read.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/tools/pages/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,wBAAwB;;;;;
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/tools/pages/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,wBAAwB;;;;;iBAuBnC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;iBAW/B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC"}
|
|
@@ -8,6 +8,24 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { z } from 'zod';
|
|
10
10
|
export const PAGES_LIST_OUTPUT_SCHEMA = z.object({
|
|
11
|
+
// F-Frontend-URL (2026-05-25): each row carries `frontend_url`,
|
|
12
|
+
// `frontend_url_template`, `frontend_url_description` so an MCP-agent
|
|
13
|
+
// can answer "What is the URL of my <type> template?" without a
|
|
14
|
+
// follow-up REST call or operator input. Server-side resolvers
|
|
15
|
+
// (WordPress: get_permalink/get_term_link/get_author_posts_url; Joomla:
|
|
16
|
+
// RouteHelper::getArticleRoute/getCategoryRoute/getTagRoute) emit one
|
|
17
|
+
// of two shapes per row:
|
|
18
|
+
// - `frontend_url: <permalink>` + `frontend_url_template: null`
|
|
19
|
+
// when a canonical public URL exists (latest post / first category
|
|
20
|
+
// / first author etc.).
|
|
21
|
+
// - `frontend_url: null` + `frontend_url_template: <pattern>` when
|
|
22
|
+
// the URL needs a runtime parameter (search, 404-test) or when no
|
|
23
|
+
// public content of the matching type exists yet.
|
|
24
|
+
// `frontend_url_description` is a short human hint ("Append any non-
|
|
25
|
+
// existent path to test." / "Latest published post — rendered with
|
|
26
|
+
// this template.") so the agent can render an instruction to the
|
|
27
|
+
// end-user. All three keys are kept on the row-record (not an extra
|
|
28
|
+
// schema object) so per-item sparse-field projection works.
|
|
11
29
|
items: z.array(z.record(z.string(), z.unknown())),
|
|
12
30
|
total: z.number(),
|
|
13
31
|
etag: z.string().optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/tools/pages/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACnD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,KAAK,CACV,CAAC,CAAC,MAAM,CAAC;QACL,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;KAC3B,CAAC,CACL;IACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;CAC1B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/tools/pages/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,gEAAgE;IAChE,sEAAsE;IACtE,gEAAgE;IAChE,+DAA+D;IAC/D,wEAAwE;IACxE,sEAAsE;IACtE,yBAAyB;IACzB,kEAAkE;IAClE,uEAAuE;IACvE,4BAA4B;IAC5B,qEAAqE;IACrE,sEAAsE;IACtE,sDAAsD;IACtD,qEAAqE;IACrE,mEAAmE;IACnE,iEAAiE;IACjE,oEAAoE;IACpE,4DAA4D;IAC5D,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACnD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,KAAK,CACV,CAAC,CAAC,MAAM,CAAC;QACL,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;KAC3B,CAAC,CACL;IACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;CAC1B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* W6.3 — shared helper for the per-handler `pool.resolve(site_id)`
|
|
3
|
+
* pattern.
|
|
4
|
+
*
|
|
5
|
+
* Every tool handler does the same dance:
|
|
6
|
+
* 1. Extract `site_id` from args (optional, undefined → default site).
|
|
7
|
+
* 2. Call `pool.resolve(site_id)`.
|
|
8
|
+
* 3. Translate `NoDefaultSiteError` / `UnknownSiteError` into a
|
|
9
|
+
* structured `errorResult` so the agent can self-recover.
|
|
10
|
+
* 4. Hand back `{client, site}` for downstream use.
|
|
11
|
+
*
|
|
12
|
+
* Centralising the dance keeps the 24 handler bodies short and ensures
|
|
13
|
+
* the error wording stays consistent across the tool surface.
|
|
14
|
+
*
|
|
15
|
+
* @license MIT
|
|
16
|
+
*/
|
|
17
|
+
import { type ClientPool, type PoolResolution } from '../sites/client-pool.js';
|
|
18
|
+
import type { ResolvedSite } from '../sites/registry.js';
|
|
19
|
+
import type { RestClient } from '../client.js';
|
|
20
|
+
import { type ToolResult } from './tool-builder.js';
|
|
21
|
+
/**
|
|
22
|
+
* Discriminated union returned by {@link resolveSiteOrError}: callers
|
|
23
|
+
* check the `ok` boolean before destructuring. When `ok === false`,
|
|
24
|
+
* the `error` field is a fully-formed `ToolResult` ready to be
|
|
25
|
+
* returned from the handler verbatim (no further wrapping needed).
|
|
26
|
+
*
|
|
27
|
+
* The dual-channel shape lets handlers keep their flat top-level
|
|
28
|
+
* control flow:
|
|
29
|
+
*
|
|
30
|
+
* const r = await resolveSiteOrError(pool, args.site_id);
|
|
31
|
+
* if (!r.ok) return r.error;
|
|
32
|
+
* const { client, site } = r;
|
|
33
|
+
* // ... existing logic ...
|
|
34
|
+
* return withSiteMeta(result, site);
|
|
35
|
+
*/
|
|
36
|
+
export type SiteResolution = {
|
|
37
|
+
readonly ok: true;
|
|
38
|
+
readonly client: PoolResolution['client'];
|
|
39
|
+
readonly site: PoolResolution['site'];
|
|
40
|
+
} | {
|
|
41
|
+
readonly ok: false;
|
|
42
|
+
readonly error: ToolResult;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Resolve a site_id through the pool, translating the W4 typed errors
|
|
46
|
+
* into structured `ToolResult` envelopes. Non-typed errors (genuine
|
|
47
|
+
* fetch failures during the platform probe, secret-resolver crashes,
|
|
48
|
+
* etc.) re-throw so the handler's outer try/catch can shape them with
|
|
49
|
+
* domain-specific hints.
|
|
50
|
+
*/
|
|
51
|
+
export declare function resolveSiteOrError(pool: ClientPool, siteId: string | undefined): Promise<SiteResolution>;
|
|
52
|
+
/**
|
|
53
|
+
* W12-R2A (A4-F3 / A5-S2) — resolve a site + execute a handler-body with
|
|
54
|
+
* a 1-shot 401 retry.
|
|
55
|
+
*
|
|
56
|
+
* Bearer-rotation use case: a site's bearer is revoked / rotated /
|
|
57
|
+
* expired AFTER the pool cached a {@link RestClient} for it. The next
|
|
58
|
+
* call returns HTTP 401. Without retry the agent has to be told
|
|
59
|
+
* "restart your client". With retry we drop the cached client (so the
|
|
60
|
+
* next `pool.resolve` re-runs `secretResolver.resolve`), then call the
|
|
61
|
+
* handler-body again exactly once. If the second attempt also returns
|
|
62
|
+
* 401, we surface a structured `bearer_invalid` error with an
|
|
63
|
+
* actionable hint pointing at `sites_test` / sites.json.
|
|
64
|
+
*
|
|
65
|
+
* Scope: deliberately ONE retry. A second 401 means the bearer is
|
|
66
|
+
* genuinely revoked at the source — looping forever wastes tokens and
|
|
67
|
+
* masks the real problem.
|
|
68
|
+
*
|
|
69
|
+
* The wrapper handles {@link NoDefaultSiteError} / {@link
|
|
70
|
+
* UnknownSiteError} via the same `resolveSiteOrError` envelope so
|
|
71
|
+
* call-sites don't have to duplicate the structured-error wording.
|
|
72
|
+
* Non-401 thrown errors propagate to the handler's outer try/catch
|
|
73
|
+
* (or the SDK boundary) untouched — only HTTP 401 triggers the retry
|
|
74
|
+
* / structured-error path.
|
|
75
|
+
*
|
|
76
|
+
* Usage (post-migration):
|
|
77
|
+
*
|
|
78
|
+
* handler: async ({ site_id, ...rest }) =>
|
|
79
|
+
* withSiteRetry(pool, site_id, async (client, site) =>
|
|
80
|
+
* withSiteMeta(await handleX(makeDeps(client), rest), site)),
|
|
81
|
+
*/
|
|
82
|
+
export declare function withSiteRetry(pool: ClientPool, siteId: string | undefined, fn: (client: RestClient, site: ResolvedSite) => Promise<ToolResult>): Promise<ToolResult>;
|
|
83
|
+
//# sourceMappingURL=pool-resolve-helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool-resolve-helper.d.ts","sourceRoot":"","sources":["../../src/tools/pool-resolve-helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EACH,KAAK,UAAU,EAEf,KAAK,cAAc,EAEtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEhE;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,cAAc,GACpB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;CAAE,GACvG;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC;AAEzD;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACpC,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,cAAc,CAAC,CAqDzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,aAAa,CAC/B,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,KAAK,OAAO,CAAC,UAAU,CAAC,GACpE,OAAO,CAAC,UAAU,CAAC,CA8CrB"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* W6.3 — shared helper for the per-handler `pool.resolve(site_id)`
|
|
3
|
+
* pattern.
|
|
4
|
+
*
|
|
5
|
+
* Every tool handler does the same dance:
|
|
6
|
+
* 1. Extract `site_id` from args (optional, undefined → default site).
|
|
7
|
+
* 2. Call `pool.resolve(site_id)`.
|
|
8
|
+
* 3. Translate `NoDefaultSiteError` / `UnknownSiteError` into a
|
|
9
|
+
* structured `errorResult` so the agent can self-recover.
|
|
10
|
+
* 4. Hand back `{client, site}` for downstream use.
|
|
11
|
+
*
|
|
12
|
+
* Centralising the dance keeps the 24 handler bodies short and ensures
|
|
13
|
+
* the error wording stays consistent across the tool surface.
|
|
14
|
+
*
|
|
15
|
+
* @license MIT
|
|
16
|
+
*/
|
|
17
|
+
import { RestError } from '../errors.js';
|
|
18
|
+
import { NoDefaultSiteError, UnknownSiteError, } from '../sites/client-pool.js';
|
|
19
|
+
import { jsonResult } from './tool-builder.js';
|
|
20
|
+
/**
|
|
21
|
+
* Resolve a site_id through the pool, translating the W4 typed errors
|
|
22
|
+
* into structured `ToolResult` envelopes. Non-typed errors (genuine
|
|
23
|
+
* fetch failures during the platform probe, secret-resolver crashes,
|
|
24
|
+
* etc.) re-throw so the handler's outer try/catch can shape them with
|
|
25
|
+
* domain-specific hints.
|
|
26
|
+
*/
|
|
27
|
+
export async function resolveSiteOrError(pool, siteId) {
|
|
28
|
+
try {
|
|
29
|
+
const { client, site } = await pool.resolve(siteId);
|
|
30
|
+
return { ok: true, client, site };
|
|
31
|
+
}
|
|
32
|
+
catch (e) {
|
|
33
|
+
if (e instanceof NoDefaultSiteError) {
|
|
34
|
+
// Custom payload to surface `code: 'no_default_site'` —
|
|
35
|
+
// `errorResult` only forwards `code` for RestError, but
|
|
36
|
+
// agents branch on `error.code === 'no_default_site'` to
|
|
37
|
+
// route the user into the setup wizard.
|
|
38
|
+
return {
|
|
39
|
+
ok: false,
|
|
40
|
+
error: jsonResult({
|
|
41
|
+
error: e.message,
|
|
42
|
+
code: e.code,
|
|
43
|
+
context: { site_id: siteId ?? null },
|
|
44
|
+
hint: 'No site_id supplied and no default site is configured. '
|
|
45
|
+
+ 'Use yootheme_builder_sites_list to discover available IDs '
|
|
46
|
+
+ 'and pass one as site_id, or run `yt-builder-mcp setup '
|
|
47
|
+
+ 'add-site --default` to configure a default.',
|
|
48
|
+
}, { isError: true }),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
if (e instanceof UnknownSiteError) {
|
|
52
|
+
return {
|
|
53
|
+
ok: false,
|
|
54
|
+
error: jsonResult({
|
|
55
|
+
error: e.message,
|
|
56
|
+
code: e.code,
|
|
57
|
+
context: {
|
|
58
|
+
site_id: siteId ?? null,
|
|
59
|
+
available: [...e.available],
|
|
60
|
+
},
|
|
61
|
+
hint: 'The requested site_id is not in the registry. '
|
|
62
|
+
+ 'Use yootheme_builder_sites_list to list configured IDs '
|
|
63
|
+
+ 'and retry with one of them.',
|
|
64
|
+
}, { isError: true }),
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
// Unknown failure (probe crash, secret-resolver crash, etc.) —
|
|
68
|
+
// re-throw so the handler's domain-specific catch can shape it
|
|
69
|
+
// with the right hint (e.g. "verify YTB_MCP_SITE_URL …" for a
|
|
70
|
+
// health probe, "verify the template_id …" for a page op).
|
|
71
|
+
throw e;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* W12-R2A (A4-F3 / A5-S2) — resolve a site + execute a handler-body with
|
|
76
|
+
* a 1-shot 401 retry.
|
|
77
|
+
*
|
|
78
|
+
* Bearer-rotation use case: a site's bearer is revoked / rotated /
|
|
79
|
+
* expired AFTER the pool cached a {@link RestClient} for it. The next
|
|
80
|
+
* call returns HTTP 401. Without retry the agent has to be told
|
|
81
|
+
* "restart your client". With retry we drop the cached client (so the
|
|
82
|
+
* next `pool.resolve` re-runs `secretResolver.resolve`), then call the
|
|
83
|
+
* handler-body again exactly once. If the second attempt also returns
|
|
84
|
+
* 401, we surface a structured `bearer_invalid` error with an
|
|
85
|
+
* actionable hint pointing at `sites_test` / sites.json.
|
|
86
|
+
*
|
|
87
|
+
* Scope: deliberately ONE retry. A second 401 means the bearer is
|
|
88
|
+
* genuinely revoked at the source — looping forever wastes tokens and
|
|
89
|
+
* masks the real problem.
|
|
90
|
+
*
|
|
91
|
+
* The wrapper handles {@link NoDefaultSiteError} / {@link
|
|
92
|
+
* UnknownSiteError} via the same `resolveSiteOrError` envelope so
|
|
93
|
+
* call-sites don't have to duplicate the structured-error wording.
|
|
94
|
+
* Non-401 thrown errors propagate to the handler's outer try/catch
|
|
95
|
+
* (or the SDK boundary) untouched — only HTTP 401 triggers the retry
|
|
96
|
+
* / structured-error path.
|
|
97
|
+
*
|
|
98
|
+
* Usage (post-migration):
|
|
99
|
+
*
|
|
100
|
+
* handler: async ({ site_id, ...rest }) =>
|
|
101
|
+
* withSiteRetry(pool, site_id, async (client, site) =>
|
|
102
|
+
* withSiteMeta(await handleX(makeDeps(client), rest), site)),
|
|
103
|
+
*/
|
|
104
|
+
export async function withSiteRetry(pool, siteId, fn) {
|
|
105
|
+
const r1 = await resolveSiteOrError(pool, siteId);
|
|
106
|
+
if (!r1.ok)
|
|
107
|
+
return r1.error;
|
|
108
|
+
try {
|
|
109
|
+
return await fn(r1.client, r1.site);
|
|
110
|
+
}
|
|
111
|
+
catch (e) {
|
|
112
|
+
if (!(e instanceof RestError) || e.status !== 401) {
|
|
113
|
+
throw e;
|
|
114
|
+
}
|
|
115
|
+
// First attempt got 401 — invalidate the cached client so the
|
|
116
|
+
// pool re-runs `secretResolver.resolve` (this picks up a rotated
|
|
117
|
+
// Bearer from `op` / a freshly-edited sites.json) and try once
|
|
118
|
+
// more. Use the resolved id from r1.site so the invalidation
|
|
119
|
+
// works even when `siteId` was undefined (default-site case).
|
|
120
|
+
pool.invalidate(r1.site.id);
|
|
121
|
+
const r2 = await resolveSiteOrError(pool, siteId);
|
|
122
|
+
if (!r2.ok)
|
|
123
|
+
return r2.error;
|
|
124
|
+
try {
|
|
125
|
+
return await fn(r2.client, r2.site);
|
|
126
|
+
}
|
|
127
|
+
catch (e2) {
|
|
128
|
+
if (e2 instanceof RestError && e2.status === 401) {
|
|
129
|
+
// Second 401 — surface a structured error so the agent
|
|
130
|
+
// can route the user to verification + sites.json edit
|
|
131
|
+
// instead of silently failing.
|
|
132
|
+
return jsonResult({
|
|
133
|
+
error: e2.message,
|
|
134
|
+
status: 401,
|
|
135
|
+
code: 'bearer_invalid',
|
|
136
|
+
context: { site_id: r2.site.id },
|
|
137
|
+
hint: 'Bearer rejected twice in a row (cached + freshly-resolved). '
|
|
138
|
+
+ 'The bearer is either rotated or revoked. Run '
|
|
139
|
+
+ '`npx -y @wootsup/yt-builder-mcp test-site '
|
|
140
|
+
+ `${r2.site.id}\` to verify, then update sites.json `
|
|
141
|
+
+ '(or the 1Password item if you used --token-ref).',
|
|
142
|
+
}, { isError: true });
|
|
143
|
+
}
|
|
144
|
+
throw e2;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=pool-resolve-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool-resolve-helper.js","sourceRoot":"","sources":["../../src/tools/pool-resolve-helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,4 +12,14 @@ export declare const TEMPLATE_ID: z.ZodString;
|
|
|
12
12
|
export declare const ELEMENT_PATH: z.ZodString;
|
|
13
13
|
export declare const ETAG: z.ZodString;
|
|
14
14
|
export declare const PROPS: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
15
|
+
/**
|
|
16
|
+
* W5 — Multi-Site selector. Every tool exposes this field as an OPTIONAL
|
|
17
|
+
* first-position input so an agent can target a specific site while
|
|
18
|
+
* defaulting to the primary site when omitted. The handler bodies do not
|
|
19
|
+
* yet read this field — W6 wires `pool.resolve(site_id)` into each
|
|
20
|
+
* handler. Keep this addition non-breaking: the regex is permissive enough
|
|
21
|
+
* to allow customer ids like `wp-acme` or `joomla_beta`, and the field is
|
|
22
|
+
* optional so existing clients continue to work without modification.
|
|
23
|
+
*/
|
|
24
|
+
export declare const SITE_ID_SCHEMA: z.ZodOptional<z.ZodString>;
|
|
15
25
|
//# sourceMappingURL=shared-schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-schemas.d.ts","sourceRoot":"","sources":["../../src/tools/shared-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,WAAW,aAKnB,CAAC;AAEN,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"shared-schemas.d.ts","sourceRoot":"","sources":["../../src/tools/shared-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,WAAW,aAKnB,CAAC;AAEN,eAAO,MAAM,YAAY,aASpB,CAAC;AAEN,eAAO,MAAM,IAAI,aAOZ,CAAC;AAEN,eAAO,MAAM,KAAK,wCAKb,CAAC;AAEN;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,4BAOtB,CAAC"}
|
|
@@ -15,8 +15,11 @@ export const TEMPLATE_ID = z
|
|
|
15
15
|
export const ELEMENT_PATH = z
|
|
16
16
|
.string()
|
|
17
17
|
.min(1)
|
|
18
|
-
.describe('JSON-Pointer
|
|
19
|
-
'
|
|
18
|
+
.describe('JSON-Pointer to an element. **`rel_path` from `element_list` is the ' +
|
|
19
|
+
'preferred form** — copy it straight back here (e.g. `/children/0` or ' +
|
|
20
|
+
'`/children/0/children/1`); the server resolves it within this template. ' +
|
|
21
|
+
'Fully-qualified pointers (`/templates/<id>/layout/children/0/...`) are ' +
|
|
22
|
+
'also accepted. Both forms work everywhere `element_path` appears.');
|
|
20
23
|
export const ETAG = z
|
|
21
24
|
.string()
|
|
22
25
|
.min(1)
|
|
@@ -27,4 +30,19 @@ export const PROPS = z
|
|
|
27
30
|
.record(z.string(), z.unknown())
|
|
28
31
|
.describe('Element props object (e.g. `{title: "Hello", margin: "default"}`). ' +
|
|
29
32
|
'Use yootheme_builder_element_type_get_schema to discover available keys.');
|
|
33
|
+
/**
|
|
34
|
+
* W5 — Multi-Site selector. Every tool exposes this field as an OPTIONAL
|
|
35
|
+
* first-position input so an agent can target a specific site while
|
|
36
|
+
* defaulting to the primary site when omitted. The handler bodies do not
|
|
37
|
+
* yet read this field — W6 wires `pool.resolve(site_id)` into each
|
|
38
|
+
* handler. Keep this addition non-breaking: the regex is permissive enough
|
|
39
|
+
* to allow customer ids like `wp-acme` or `joomla_beta`, and the field is
|
|
40
|
+
* optional so existing clients continue to work without modification.
|
|
41
|
+
*/
|
|
42
|
+
export const SITE_ID_SCHEMA = z.string()
|
|
43
|
+
.min(1).max(64)
|
|
44
|
+
.regex(/^[a-zA-Z0-9_-]+$/, 'site_id uses letters/digits/dash/underscore only')
|
|
45
|
+
.optional()
|
|
46
|
+
.describe('Target site (e.g., "wp-acme"). Omit to use the default site. ' +
|
|
47
|
+
'Use yootheme_builder_sites_list to discover available IDs.');
|
|
30
48
|
//# sourceMappingURL=shared-schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-schemas.js","sourceRoot":"","sources":["../../src/tools/shared-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACvB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,QAAQ,CACL,4EAA4E,CAC/E,CAAC;AAEN,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KACxB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,QAAQ,CACL
|
|
1
|
+
{"version":3,"file":"shared-schemas.js","sourceRoot":"","sources":["../../src/tools/shared-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACvB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,QAAQ,CACL,4EAA4E,CAC/E,CAAC;AAEN,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KACxB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,QAAQ,CACL,sEAAsE;IAClE,uEAAuE;IACvE,0EAA0E;IAC1E,yEAAyE;IACzE,mEAAmE,CAC1E,CAAC;AAEN,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;KAChB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,QAAQ,CACL,mEAAmE;IAC/D,sEAAsE;IACtE,0DAA0D,CACjE,CAAC;AAEN,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC;KACjB,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;KAC/B,QAAQ,CACL,qEAAqE;IACjE,0EAA0E,CACjF,CAAC;AAEN;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE;KACnC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;KACd,KAAK,CAAC,kBAAkB,EAAE,kDAAkD,CAAC;KAC7E,QAAQ,EAAE;KACV,QAAQ,CACL,+DAA+D;IAC/D,4DAA4D,CAC/D,CAAC"}
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @license MIT
|
|
8
8
|
*/
|
|
9
|
-
import type {
|
|
9
|
+
import type { ClientPool } from '../../sites/client-pool.js';
|
|
10
10
|
import { type AnyToolDefinition } from '../tool-builder.js';
|
|
11
11
|
import { type SourcesHandlerDeps } from './handlers.js';
|
|
12
|
-
export declare function buildSourcesTools(
|
|
12
|
+
export declare function buildSourcesTools(pool: ClientPool, deps?: Partial<SourcesHandlerDeps>): readonly AnyToolDefinition[];
|
|
13
13
|
//# sourceMappingURL=builders.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../src/tools/sources/builders.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../src/tools/sources/builders.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAI7D,OAAO,EAMH,KAAK,iBAAiB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGH,KAAK,kBAAkB,EAK1B,MAAM,eAAe,CAAC;AAEvB,wBAAgB,iBAAiB,CAC7B,IAAI,EAAE,UAAU,EAChB,IAAI,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACnC,SAAS,iBAAiB,EAAE,CA8H9B"}
|
|
@@ -7,47 +7,57 @@
|
|
|
7
7
|
* @license MIT
|
|
8
8
|
*/
|
|
9
9
|
import { z } from 'zod';
|
|
10
|
-
import {
|
|
10
|
+
import { withSiteRetry } from '../pool-resolve-helper.js';
|
|
11
|
+
import { ELEMENT_PATH, ETAG, SITE_ID_SCHEMA, TEMPLATE_ID } from '../shared-schemas.js';
|
|
11
12
|
import { FIELDS } from '../sparse-fields.js';
|
|
12
|
-
import { defineTool, destructive, mutating, readOnly, } from '../tool-builder.js';
|
|
13
|
+
import { defineTool, destructive, mutating, readOnly, withSiteMeta, } from '../tool-builder.js';
|
|
13
14
|
import { BINDING_OUTPUT_SCHEMA, SOURCES_LIST_OUTPUT_SCHEMA, handleElementBindSource, handleElementGetBinding, handleElementUnbindSource, handleSourcesList, } from './handlers.js';
|
|
14
|
-
export function buildSourcesTools(
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
export function buildSourcesTools(pool, deps) {
|
|
16
|
+
// W6.3 — handlers receive a per-call `siteClient` via the
|
|
17
|
+
// resolveSiteOrError helper; the elicitation capability is the
|
|
18
|
+
// only stable dep we propagate.
|
|
19
|
+
const elicitation = deps?.elicitation;
|
|
20
|
+
const makeDeps = (siteClient) => (elicitation !== undefined
|
|
21
|
+
? { client: siteClient, elicitation }
|
|
22
|
+
: { client: siteClient });
|
|
19
23
|
return [
|
|
20
24
|
defineTool({
|
|
21
25
|
name: 'yootheme_builder_sources_list',
|
|
22
26
|
description: 'List Builder sources grouped by origin (apimapper/wordpress/' +
|
|
23
27
|
'essentials). Returns name+label per source — pick one for ' +
|
|
24
|
-
'`element_bind_source`. Pass `fields[]` to narrow each row.'
|
|
28
|
+
'`element_bind_source`. Pass `fields[]` to narrow each row. ' +
|
|
29
|
+
'Operates on the default site unless site_id is provided.',
|
|
25
30
|
inputSchema: {
|
|
31
|
+
site_id: SITE_ID_SCHEMA,
|
|
26
32
|
fields: FIELDS,
|
|
27
33
|
},
|
|
28
34
|
outputSchema: SOURCES_LIST_OUTPUT_SCHEMA,
|
|
29
35
|
annotations: readOnly('List Sources'),
|
|
30
|
-
handler: (
|
|
36
|
+
handler: async ({ site_id, ...rest }) => withSiteRetry(pool, site_id, async (client, site) => withSiteMeta(await handleSourcesList(makeDeps(client), rest), site)),
|
|
31
37
|
}),
|
|
32
38
|
defineTool({
|
|
33
39
|
name: 'yootheme_builder_element_get_binding',
|
|
34
40
|
description: 'Read the source binding attached to an element — the bound source name, ' +
|
|
35
41
|
'the field-mappings (which source field feeds which element prop) and the ' +
|
|
36
|
-
'query arguments/directives. Returns the empty object if the element is not bound.'
|
|
42
|
+
'query arguments/directives. Returns the empty object if the element is not bound. ' +
|
|
43
|
+
'Operates on the default site unless site_id is provided.',
|
|
37
44
|
inputSchema: {
|
|
45
|
+
site_id: SITE_ID_SCHEMA,
|
|
38
46
|
template_id: TEMPLATE_ID,
|
|
39
47
|
element_path: ELEMENT_PATH,
|
|
40
48
|
},
|
|
41
49
|
outputSchema: BINDING_OUTPUT_SCHEMA,
|
|
42
50
|
annotations: readOnly('Get Source Binding'),
|
|
43
|
-
handler: (
|
|
51
|
+
handler: async ({ site_id, ...rest }) => withSiteRetry(pool, site_id, async (client, site) => withSiteMeta(await handleElementGetBinding(makeDeps(client), rest), site)),
|
|
44
52
|
}),
|
|
45
53
|
defineTool({
|
|
46
54
|
name: 'yootheme_builder_element_bind_source',
|
|
47
55
|
description: 'Binds a Builder source to an element (sets `props.source`). Use bindingLevel ' +
|
|
48
56
|
'"item" on Multi-Items containers (grid/slideshow/switcher/…) to bind on the ' +
|
|
49
|
-
'first *_item child instead of the container itself. Requires ETag.'
|
|
57
|
+
'first *_item child instead of the container itself. Requires ETag. ' +
|
|
58
|
+
'Operates on the default site unless site_id is provided.',
|
|
50
59
|
inputSchema: {
|
|
60
|
+
site_id: SITE_ID_SCHEMA,
|
|
51
61
|
template_id: TEMPLATE_ID,
|
|
52
62
|
element_path: ELEMENT_PATH,
|
|
53
63
|
source_name: z
|
|
@@ -77,14 +87,16 @@ export function buildSourcesTools(client, deps) {
|
|
|
77
87
|
etag: ETAG,
|
|
78
88
|
},
|
|
79
89
|
annotations: mutating('Bind Source'),
|
|
80
|
-
handler: (
|
|
90
|
+
handler: async ({ site_id, ...rest }) => withSiteRetry(pool, site_id, async (client, site) => withSiteMeta(await handleElementBindSource(makeDeps(client), rest), site)),
|
|
81
91
|
}),
|
|
82
92
|
defineTool({
|
|
83
93
|
name: 'yootheme_builder_element_unbind_source',
|
|
84
94
|
description: 'Remove the source binding from an element. Clears `props.source`. Destructive ' +
|
|
85
95
|
'in the sense that it may break dynamic-content rendering — always ask the ' +
|
|
86
|
-
'user to confirm. Requires ETag.'
|
|
96
|
+
'user to confirm. Requires ETag. ' +
|
|
97
|
+
'Operates on the default site unless site_id is provided.',
|
|
87
98
|
inputSchema: {
|
|
99
|
+
site_id: SITE_ID_SCHEMA,
|
|
88
100
|
template_id: TEMPLATE_ID,
|
|
89
101
|
element_path: ELEMENT_PATH,
|
|
90
102
|
etag: ETAG,
|
|
@@ -96,7 +108,7 @@ export function buildSourcesTools(client, deps) {
|
|
|
96
108
|
'preview and the agent must retry with `confirm: true`.'),
|
|
97
109
|
},
|
|
98
110
|
annotations: destructive('Unbind Source'),
|
|
99
|
-
handler: (
|
|
111
|
+
handler: async ({ site_id, ...rest }) => withSiteRetry(pool, site_id, async (client, site) => withSiteMeta(await handleElementUnbindSource(makeDeps(client), rest), site)),
|
|
100
112
|
}),
|
|
101
113
|
];
|
|
102
114
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../src/tools/sources/builders.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../src/tools/sources/builders.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,6 @@
|
|
|
23
23
|
*/
|
|
24
24
|
export type { AnyToolDefinition, HandlerExtra, ToolAnnotations, ToolContent, ToolDefinition, ToolHandler, ToolResult, } from './types.js';
|
|
25
25
|
export { creating, destructive, mutating, readOnly, } from './annotations.js';
|
|
26
|
-
export { confirmGuard, errorResult, jsonResult, structuredResult, } from './results.js';
|
|
26
|
+
export { confirmGuard, errorResult, jsonResult, structuredResult, withSiteMeta, } from './results.js';
|
|
27
27
|
export { createProgressReporter, defineTool } from './define.js';
|
|
28
28
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/tool-builder/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,YAAY,EACR,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,WAAW,EACX,cAAc,EACd,WAAW,EACX,UAAU,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACH,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,YAAY,EACZ,WAAW,EACX,UAAU,EACV,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/tool-builder/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,YAAY,EACR,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,WAAW,EACX,cAAc,EACd,WAAW,EACX,UAAU,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACH,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,YAAY,EACZ,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,YAAY,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -22,6 +22,6 @@
|
|
|
22
22
|
* @license MIT
|
|
23
23
|
*/
|
|
24
24
|
export { creating, destructive, mutating, readOnly, } from './annotations.js';
|
|
25
|
-
export { confirmGuard, errorResult, jsonResult, structuredResult, } from './results.js';
|
|
25
|
+
export { confirmGuard, errorResult, jsonResult, structuredResult, withSiteMeta, } from './results.js';
|
|
26
26
|
export { createProgressReporter, defineTool } from './define.js';
|
|
27
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/tool-builder/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAWH,OAAO,EACH,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,YAAY,EACZ,WAAW,EACX,UAAU,EACV,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/tool-builder/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAWH,OAAO,EACH,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,YAAY,EACZ,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,YAAY,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
*
|
|
11
11
|
* @license MIT
|
|
12
12
|
*/
|
|
13
|
+
import type { ResolvedSite } from '../../sites/registry.js';
|
|
13
14
|
import type { ToolContent, ToolResult } from './types.js';
|
|
14
15
|
/**
|
|
15
16
|
* Convert any JSON-serializable value into the MCP content envelope
|
|
@@ -49,6 +50,39 @@ export declare function confirmGuard(opts: {
|
|
|
49
50
|
* against `outputSchema`). Single envelope-merger from every migrated
|
|
50
51
|
* tool's handler — toolkit builders are wrapped, not modified.
|
|
51
52
|
*/
|
|
53
|
+
/**
|
|
54
|
+
* W6.2 — site-awareness envelope wrapper.
|
|
55
|
+
*
|
|
56
|
+
* Stamps a resolved-site descriptor onto a tool result so the human +
|
|
57
|
+
* agent both know which connected site the call ran against. Two
|
|
58
|
+
* channels:
|
|
59
|
+
*
|
|
60
|
+
* 1. **text-prefix PRIMARY surface** — `[<label or site_id> @
|
|
61
|
+
* <hostname>] ` is injected at the start of `content[0].text`
|
|
62
|
+
* when that block is a text item. Per the W6 web-research
|
|
63
|
+
* addendum (HCFV §B, Claude-Desktop UI gap doc'd in plan
|
|
64
|
+
* Z.1329-1332), `_meta` is read by the agent but NOT rendered as
|
|
65
|
+
* a UI widget today — so the prefix is the only thing Maria the
|
|
66
|
+
* Claude-Desktop-user reliably SEES. LOAD-BEARING.
|
|
67
|
+
*
|
|
68
|
+
* 2. **`structuredContent._meta` SECONDARY surface** — `_meta:
|
|
69
|
+
* {site_id, site_url, platform}` is merged into the structured
|
|
70
|
+
* payload. MCP-spec-conform metadata channel; future host
|
|
71
|
+
* versions are expected to surface this natively.
|
|
72
|
+
*
|
|
73
|
+
* Pure function: never mutates the input result. Non-text blocks
|
|
74
|
+
* (resource / image / etc.) pass through verbatim. Existing
|
|
75
|
+
* `structuredContent` fields are preserved — only `_meta` is added or
|
|
76
|
+
* augmented. Empty `content[]` is tolerated and produces a
|
|
77
|
+
* prefix-free result (the meta still lands in structuredContent).
|
|
78
|
+
*
|
|
79
|
+
* Label-fallback: `site.label` wins; falls back to `site.id`.
|
|
80
|
+
*
|
|
81
|
+
* Hostname extraction defaults to `new URL(site.url).host`. A
|
|
82
|
+
* malformed URL falls back to the raw site.url string so the prefix
|
|
83
|
+
* remains user-readable even when the registry was hand-edited.
|
|
84
|
+
*/
|
|
85
|
+
export declare function withSiteMeta<R extends ToolResult>(result: R, site: ResolvedSite): R;
|
|
52
86
|
export declare function structuredResult(toolkitResult: {
|
|
53
87
|
content: ToolContent[];
|
|
54
88
|
_meta?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"results.d.ts","sourceRoot":"","sources":["../../../src/tools/tool-builder/results.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAU1D;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,UAAU,CAM5F;AAaD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;CAChB,GAAG,UAAU,CAYb;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,UAAU,CAQb;AAuBD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC5B,aAAa,EAAE;IACX,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,EACD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3C,UAAU,CAgBZ"}
|
|
1
|
+
{"version":3,"file":"results.d.ts","sourceRoot":"","sources":["../../../src/tools/tool-builder/results.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAU1D;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,UAAU,CAM5F;AAaD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;CAChB,GAAG,UAAU,CAYb;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,UAAU,CAQb;AAuBD;;;;;;;GAOG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,UAAU,EAC7C,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,YAAY,GACnB,CAAC,CAyDH;AAED,wBAAgB,gBAAgB,CAC5B,aAAa,EAAE;IACX,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,EACD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3C,UAAU,CAgBZ"}
|