@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.
Files changed (187) hide show
  1. package/README.md +18 -6
  2. package/bin/yt-builder-mcp.js +6 -0
  3. package/dist/auth.d.ts +86 -6
  4. package/dist/auth.d.ts.map +1 -1
  5. package/dist/auth.js +141 -8
  6. package/dist/auth.js.map +1 -1
  7. package/dist/errors/sanitize.d.ts.map +1 -1
  8. package/dist/errors/sanitize.js +10 -0
  9. package/dist/errors/sanitize.js.map +1 -1
  10. package/dist/gateway/essentials.d.ts +1 -1
  11. package/dist/gateway/essentials.d.ts.map +1 -1
  12. package/dist/gateway/essentials.js +15 -2
  13. package/dist/gateway/essentials.js.map +1 -1
  14. package/dist/index.d.ts +5 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +52 -16
  17. package/dist/index.js.map +1 -1
  18. package/dist/install-skill.d.ts +10 -2
  19. package/dist/install-skill.d.ts.map +1 -1
  20. package/dist/install-skill.js +18 -7
  21. package/dist/install-skill.js.map +1 -1
  22. package/dist/platform/detect.d.ts +64 -0
  23. package/dist/platform/detect.d.ts.map +1 -0
  24. package/dist/platform/detect.js +98 -0
  25. package/dist/platform/detect.js.map +1 -0
  26. package/dist/platform/index.d.ts +72 -0
  27. package/dist/platform/index.d.ts.map +1 -1
  28. package/dist/platform/index.js +138 -0
  29. package/dist/platform/index.js.map +1 -1
  30. package/dist/platform/joomla.d.ts +44 -0
  31. package/dist/platform/joomla.d.ts.map +1 -0
  32. package/dist/platform/joomla.js +46 -0
  33. package/dist/platform/joomla.js.map +1 -0
  34. package/dist/server.d.ts +61 -2
  35. package/dist/server.d.ts.map +1 -1
  36. package/dist/server.js +86 -2
  37. package/dist/server.js.map +1 -1
  38. package/dist/setup-cli-confirm.d.ts +36 -0
  39. package/dist/setup-cli-confirm.d.ts.map +1 -0
  40. package/dist/setup-cli-confirm.js +59 -0
  41. package/dist/setup-cli-confirm.js.map +1 -0
  42. package/dist/setup-cli.d.ts +53 -1
  43. package/dist/setup-cli.d.ts.map +1 -1
  44. package/dist/setup-cli.js +525 -10
  45. package/dist/setup-cli.js.map +1 -1
  46. package/dist/setup-prompts.d.ts.map +1 -1
  47. package/dist/setup-prompts.js +12 -8
  48. package/dist/setup-prompts.js.map +1 -1
  49. package/dist/setup-wizard-types.d.ts +19 -3
  50. package/dist/setup-wizard-types.d.ts.map +1 -1
  51. package/dist/setup-wizard.d.ts.map +1 -1
  52. package/dist/setup-wizard.js +34 -1
  53. package/dist/setup-wizard.js.map +1 -1
  54. package/dist/sites/cli/add-site.d.ts +106 -0
  55. package/dist/sites/cli/add-site.d.ts.map +1 -0
  56. package/dist/sites/cli/add-site.js +185 -0
  57. package/dist/sites/cli/add-site.js.map +1 -0
  58. package/dist/sites/cli/list-sites.d.ts +40 -0
  59. package/dist/sites/cli/list-sites.d.ts.map +1 -0
  60. package/dist/sites/cli/list-sites.js +117 -0
  61. package/dist/sites/cli/list-sites.js.map +1 -0
  62. package/dist/sites/cli/remove-site.d.ts +60 -0
  63. package/dist/sites/cli/remove-site.d.ts.map +1 -0
  64. package/dist/sites/cli/remove-site.js +120 -0
  65. package/dist/sites/cli/remove-site.js.map +1 -0
  66. package/dist/sites/cli/set-default.d.ts +47 -0
  67. package/dist/sites/cli/set-default.d.ts.map +1 -0
  68. package/dist/sites/cli/set-default.js +69 -0
  69. package/dist/sites/cli/set-default.js.map +1 -0
  70. package/dist/sites/cli/test-site.d.ts +77 -0
  71. package/dist/sites/cli/test-site.d.ts.map +1 -0
  72. package/dist/sites/cli/test-site.js +146 -0
  73. package/dist/sites/cli/test-site.js.map +1 -0
  74. package/dist/sites/client-pool.d.ts +124 -0
  75. package/dist/sites/client-pool.d.ts.map +1 -0
  76. package/dist/sites/client-pool.js +172 -0
  77. package/dist/sites/client-pool.js.map +1 -0
  78. package/dist/sites/env-bridge.d.ts +55 -0
  79. package/dist/sites/env-bridge.d.ts.map +1 -0
  80. package/dist/sites/env-bridge.js +94 -0
  81. package/dist/sites/env-bridge.js.map +1 -0
  82. package/dist/sites/paths.d.ts +21 -0
  83. package/dist/sites/paths.d.ts.map +1 -0
  84. package/dist/sites/paths.js +37 -0
  85. package/dist/sites/paths.js.map +1 -0
  86. package/dist/sites/probe.d.ts +60 -0
  87. package/dist/sites/probe.d.ts.map +1 -0
  88. package/dist/sites/probe.js +112 -0
  89. package/dist/sites/probe.js.map +1 -0
  90. package/dist/sites/registry.d.ts +142 -0
  91. package/dist/sites/registry.d.ts.map +1 -0
  92. package/dist/sites/registry.js +163 -0
  93. package/dist/sites/registry.js.map +1 -0
  94. package/dist/sites/schema.d.ts +90 -0
  95. package/dist/sites/schema.d.ts.map +1 -0
  96. package/dist/sites/schema.js +71 -0
  97. package/dist/sites/schema.js.map +1 -0
  98. package/dist/sites/secret-resolver.d.ts +109 -0
  99. package/dist/sites/secret-resolver.d.ts.map +1 -0
  100. package/dist/sites/secret-resolver.js +189 -0
  101. package/dist/sites/secret-resolver.js.map +1 -0
  102. package/dist/sites/store.d.ts +82 -0
  103. package/dist/sites/store.d.ts.map +1 -0
  104. package/dist/sites/store.js +198 -0
  105. package/dist/sites/store.js.map +1 -0
  106. package/dist/sites/tools/index.d.ts +28 -0
  107. package/dist/sites/tools/index.d.ts.map +1 -0
  108. package/dist/sites/tools/index.js +30 -0
  109. package/dist/sites/tools/index.js.map +1 -0
  110. package/dist/sites/tools/sites-list.d.ts +48 -0
  111. package/dist/sites/tools/sites-list.d.ts.map +1 -0
  112. package/dist/sites/tools/sites-list.js +135 -0
  113. package/dist/sites/tools/sites-list.js.map +1 -0
  114. package/dist/sites/tools/sites-test.d.ts +47 -0
  115. package/dist/sites/tools/sites-test.d.ts.map +1 -0
  116. package/dist/sites/tools/sites-test.js +148 -0
  117. package/dist/sites/tools/sites-test.js.map +1 -0
  118. package/dist/skill-loader.d.ts +63 -3
  119. package/dist/skill-loader.d.ts.map +1 -1
  120. package/dist/skill-loader.js +123 -10
  121. package/dist/skill-loader.js.map +1 -1
  122. package/dist/tools/elements/builders.d.ts +2 -2
  123. package/dist/tools/elements/builders.d.ts.map +1 -1
  124. package/dist/tools/elements/builders.js +45 -23
  125. package/dist/tools/elements/builders.js.map +1 -1
  126. package/dist/tools/elements/handlers.d.ts +8 -1
  127. package/dist/tools/elements/handlers.d.ts.map +1 -1
  128. package/dist/tools/elements/handlers.js +37 -1
  129. package/dist/tools/elements/handlers.js.map +1 -1
  130. package/dist/tools/format/health-format.d.ts +12 -6
  131. package/dist/tools/format/health-format.d.ts.map +1 -1
  132. package/dist/tools/format/health-format.js +14 -11
  133. package/dist/tools/format/health-format.js.map +1 -1
  134. package/dist/tools/format/pages-format.d.ts +7 -1
  135. package/dist/tools/format/pages-format.d.ts.map +1 -1
  136. package/dist/tools/format/pages-format.js +25 -1
  137. package/dist/tools/format/pages-format.js.map +1 -1
  138. package/dist/tools/health.d.ts +2 -2
  139. package/dist/tools/health.d.ts.map +1 -1
  140. package/dist/tools/health.js +120 -47
  141. package/dist/tools/health.js.map +1 -1
  142. package/dist/tools/index.d.ts +9 -2
  143. package/dist/tools/index.d.ts.map +1 -1
  144. package/dist/tools/index.js +21 -7
  145. package/dist/tools/index.js.map +1 -1
  146. package/dist/tools/inspection.d.ts +2 -2
  147. package/dist/tools/inspection.d.ts.map +1 -1
  148. package/dist/tools/inspection.js +67 -22
  149. package/dist/tools/inspection.js.map +1 -1
  150. package/dist/tools/multi-items/builders.d.ts +2 -2
  151. package/dist/tools/multi-items/builders.d.ts.map +1 -1
  152. package/dist/tools/multi-items/builders.js +21 -8
  153. package/dist/tools/multi-items/builders.js.map +1 -1
  154. package/dist/tools/pages/builders.d.ts +2 -2
  155. package/dist/tools/pages/builders.d.ts.map +1 -1
  156. package/dist/tools/pages/builders.js +36 -24
  157. package/dist/tools/pages/builders.js.map +1 -1
  158. package/dist/tools/pages/handlers-read.d.ts.map +1 -1
  159. package/dist/tools/pages/handlers-read.js +10 -0
  160. package/dist/tools/pages/handlers-read.js.map +1 -1
  161. package/dist/tools/pages/schemas.d.ts.map +1 -1
  162. package/dist/tools/pages/schemas.js +18 -0
  163. package/dist/tools/pages/schemas.js.map +1 -1
  164. package/dist/tools/pool-resolve-helper.d.ts +83 -0
  165. package/dist/tools/pool-resolve-helper.d.ts.map +1 -0
  166. package/dist/tools/pool-resolve-helper.js +148 -0
  167. package/dist/tools/pool-resolve-helper.js.map +1 -0
  168. package/dist/tools/shared-schemas.d.ts +10 -0
  169. package/dist/tools/shared-schemas.d.ts.map +1 -1
  170. package/dist/tools/shared-schemas.js +20 -2
  171. package/dist/tools/shared-schemas.js.map +1 -1
  172. package/dist/tools/sources/builders.d.ts +2 -2
  173. package/dist/tools/sources/builders.d.ts.map +1 -1
  174. package/dist/tools/sources/builders.js +27 -15
  175. package/dist/tools/sources/builders.js.map +1 -1
  176. package/dist/tools/tool-builder/index.d.ts +1 -1
  177. package/dist/tools/tool-builder/index.d.ts.map +1 -1
  178. package/dist/tools/tool-builder/index.js +1 -1
  179. package/dist/tools/tool-builder/index.js.map +1 -1
  180. package/dist/tools/tool-builder/results.d.ts +34 -0
  181. package/dist/tools/tool-builder/results.d.ts.map +1 -1
  182. package/dist/tools/tool-builder/results.js +86 -0
  183. package/dist/tools/tool-builder/results.js.map +1 -1
  184. package/manifest.json +27 -10
  185. package/package.json +3 -1
  186. package/skills/yt-builder-mcp/SKILL.md +846 -0
  187. package/skills/yootheme-builder/SKILL.md +0 -587
@@ -1 +1 @@
1
- {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/tools/health.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/tools/health.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * @license MIT
7
7
  */
8
- import type { RestClient } from '../client.js';
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
- export declare function buildAllTools(client: RestClient, options?: BuildAllToolsOptions): readonly AnyToolDefinition[];
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,cAAc,CAAC;AAE/C,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,wBAAgB,aAAa,CACzB,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,oBAAyB,GACnC,SAAS,iBAAiB,EAAE,CAU9B;AAED,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
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"}
@@ -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
- export function buildAllTools(client, options = {}) {
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(client),
18
- ...buildPagesTools(client),
19
- ...buildElementsTools(client, deps),
20
- ...buildSourcesTools(client, deps),
21
- ...buildMultiItemsTools(client),
22
- ...buildInspectionTools(client),
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
@@ -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,MAAkB,EAClB,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,MAAM,CAAC;QAC3B,GAAG,eAAe,CAAC,MAAM,CAAC;QAC1B,GAAG,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC;QACnC,GAAG,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC;QAClC,GAAG,oBAAoB,CAAC,MAAM,CAAC;QAC/B,GAAG,oBAAoB,CAAC,MAAM,CAAC;KAClC,CAAC;AACN,CAAC"}
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 { RestClient } from '../client.js';
11
+ import type { ClientPool } from '../sites/client-pool.js';
12
12
  import { type AnyToolDefinition } from './tool-builder.js';
13
- export declare function buildInspectionTools(client: RestClient): readonly AnyToolDefinition[];
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,cAAc,CAAC;AAQ/C,OAAO,EAKH,KAAK,iBAAiB,EACzB,MAAM,mBAAmB,CAAC;AA2B3B,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,iBAAiB,EAAE,CAsGrF"}
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"}
@@ -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 { defineTool, errorResult, readOnly, structuredResult, } from './tool-builder.js';
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(client) {
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 client.get('/element-types');
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: 'Get the prop/field schema for a single element type. Use the result to discover ' +
76
- 'valid keys for `props` when calling yootheme_builder_element_add or ' +
77
- '_update_settings.',
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
- type_name: z
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 ({ type_name }) => {
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 client.get(`/element-types/${encodeURIComponent(type_name)}/schema`);
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 type_name via yootheme_builder_element_types_list — names ' +
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":"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"}
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 { RestClient } from '../../client.js';
20
+ import type { ClientPool } from '../../sites/client-pool.js';
21
21
  import { type AnyToolDefinition } from '../tool-builder.js';
22
- export declare function buildMultiItemsTools(client: RestClient): readonly AnyToolDefinition[];
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,iBAAiB,CAAC;AAElD,OAAO,EAIH,KAAK,iBAAiB,EACzB,MAAM,oBAAoB,CAAC;AAW5B,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,iBAAiB,EAAE,CAmCrF"}
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 { ELEMENT_PATH, ETAG, TEMPLATE_ID } from '../shared-schemas.js';
21
- import { defineTool, mutating, readOnly, } from '../tool-builder.js';
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(client) {
25
- const deps = { client };
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: (input) => handleInspectMultiItemsBinding(deps, input),
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: (input) => handleCleanImplodeDirectives(deps, input),
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;AACvE,OAAO,EACH,UAAU,EACV,QAAQ,EACR,QAAQ,GAEX,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,MAAkB;IACnD,MAAM,IAAI,GAA0B,EAAE,MAAM,EAAE,CAAC;IAE/C,OAAO;QACH,UAAU,CAAC;YACP,IAAI,EAAE,8CAA8C;YACpD,WAAW,EACP,0EAA0E;gBAC1E,6EAA6E;gBAC7E,oFAAoF;YACxF,WAAW,EAAE;gBACT,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,YAAY;aAC7B;YACD,YAAY,EAAE,iCAAiC;YAC/C,WAAW,EAAE,QAAQ,CAAC,6BAA6B,CAAC;YACpD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,8BAA8B,CAAC,IAAI,EAAE,KAAK,CAAC;SAClE,CAAC;QAEF,UAAU,CAAC;YACP,IAAI,EAAE,2CAA2C;YACjD,WAAW,EACP,4EAA4E;gBAC5E,6EAA6E;gBAC7E,yBAAyB;YAC7B,WAAW,EAAE;gBACT,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,CAAC,KAAK,EAAE,EAAE,CAAC,4BAA4B,CAAC,IAAI,EAAE,KAAK,CAAC;SAChE,CAAC;KACL,CAAC;AACN,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 { RestClient } from '../../client.js';
11
+ import type { ClientPool } from '../../sites/client-pool.js';
12
12
  import { type AnyToolDefinition } from '../tool-builder.js';
13
- export declare function buildPagesTools(client: RestClient): readonly AnyToolDefinition[];
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,iBAAiB,CAAC;AAGlD,OAAO,EAIH,KAAK,iBAAiB,EACzB,MAAM,oBAAoB,CAAC;AA6B5B,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,iBAAiB,EAAE,CAkGhF"}
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 { TEMPLATE_ID } from '../shared-schemas.js';
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(client) {
30
+ export function buildPagesTools(pool) {
30
31
  return [
31
32
  defineTool({
32
33
  name: 'yootheme_builder_pages_list',
33
- description: 'List all YOOtheme templates ("pages") on the site. Returns id, label and ' +
34
- 'usage metadata for each. Use this first to discover template IDs. ' +
35
- 'Pass `fields:["id","label"]` to project per-item to a smaller shape.',
36
- inputSchema: { fields: FIELDS },
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: (input) => handlePagesList(client, input),
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: (input) => handlePageGetLayout(client, input),
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
- inputSchema: { template_id: TEMPLATE_ID },
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: (input) => handlePageGetSchema(client, input),
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 this back via the `etag` parameter ' +
70
- 'on any write tool to prevent overwriting concurrent edits.',
71
- inputSchema: {},
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
- inputSchema: { template_id: TEMPLATE_ID },
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: (input) => handleTemplateSummary(client, input),
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: (input, extra) => handlePageSave(client, input, extra),
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: (input, extra) => handlePagePublish(client, input, extra),
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":"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"}
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,CAmCrB;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"}
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
  }