@wootsup/yt-builder-mcp 1.0.0 → 1.0.1

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 (319) hide show
  1. package/manifest.json +1 -1
  2. package/package.json +1 -1
  3. package/skills/{yootheme-builder → yt-builder-mcp}/SKILL.md +1 -1
  4. package/dist/auth.d.ts +0 -39
  5. package/dist/auth.d.ts.map +0 -1
  6. package/dist/auth.js +0 -93
  7. package/dist/auth.js.map +0 -1
  8. package/dist/client.d.ts +0 -84
  9. package/dist/client.d.ts.map +0 -1
  10. package/dist/client.js +0 -151
  11. package/dist/client.js.map +0 -1
  12. package/dist/clients/claude-code.d.ts +0 -18
  13. package/dist/clients/claude-code.d.ts.map +0 -1
  14. package/dist/clients/claude-code.js +0 -53
  15. package/dist/clients/claude-code.js.map +0 -1
  16. package/dist/clients/claude-desktop.d.ts +0 -19
  17. package/dist/clients/claude-desktop.d.ts.map +0 -1
  18. package/dist/clients/claude-desktop.js +0 -56
  19. package/dist/clients/claude-desktop.js.map +0 -1
  20. package/dist/clients/cline.d.ts +0 -26
  21. package/dist/clients/cline.d.ts.map +0 -1
  22. package/dist/clients/cline.js +0 -80
  23. package/dist/clients/cline.js.map +0 -1
  24. package/dist/clients/codex-cli.d.ts +0 -42
  25. package/dist/clients/codex-cli.d.ts.map +0 -1
  26. package/dist/clients/codex-cli.js +0 -194
  27. package/dist/clients/codex-cli.js.map +0 -1
  28. package/dist/clients/continue.d.ts +0 -13
  29. package/dist/clients/continue.d.ts.map +0 -1
  30. package/dist/clients/continue.js +0 -52
  31. package/dist/clients/continue.js.map +0 -1
  32. package/dist/clients/cursor.d.ts +0 -12
  33. package/dist/clients/cursor.d.ts.map +0 -1
  34. package/dist/clients/cursor.js +0 -38
  35. package/dist/clients/cursor.js.map +0 -1
  36. package/dist/clients/gemini-cli.d.ts +0 -18
  37. package/dist/clients/gemini-cli.d.ts.map +0 -1
  38. package/dist/clients/gemini-cli.js +0 -44
  39. package/dist/clients/gemini-cli.js.map +0 -1
  40. package/dist/clients/home.d.ts +0 -14
  41. package/dist/clients/home.d.ts.map +0 -1
  42. package/dist/clients/home.js +0 -20
  43. package/dist/clients/home.js.map +0 -1
  44. package/dist/clients/index.d.ts +0 -52
  45. package/dist/clients/index.d.ts.map +0 -1
  46. package/dist/clients/index.js +0 -72
  47. package/dist/clients/index.js.map +0 -1
  48. package/dist/clients/roo-code.d.ts +0 -23
  49. package/dist/clients/roo-code.d.ts.map +0 -1
  50. package/dist/clients/roo-code.js +0 -69
  51. package/dist/clients/roo-code.js.map +0 -1
  52. package/dist/clients/zed.d.ts +0 -12
  53. package/dist/clients/zed.d.ts.map +0 -1
  54. package/dist/clients/zed.js +0 -41
  55. package/dist/clients/zed.js.map +0 -1
  56. package/dist/errors/hints.d.ts +0 -51
  57. package/dist/errors/hints.d.ts.map +0 -1
  58. package/dist/errors/hints.js +0 -95
  59. package/dist/errors/hints.js.map +0 -1
  60. package/dist/errors/mask.d.ts +0 -35
  61. package/dist/errors/mask.d.ts.map +0 -1
  62. package/dist/errors/mask.js +0 -49
  63. package/dist/errors/mask.js.map +0 -1
  64. package/dist/errors/sanitize.d.ts +0 -31
  65. package/dist/errors/sanitize.d.ts.map +0 -1
  66. package/dist/errors/sanitize.js +0 -90
  67. package/dist/errors/sanitize.js.map +0 -1
  68. package/dist/errors.d.ts +0 -42
  69. package/dist/errors.d.ts.map +0 -1
  70. package/dist/errors.js +0 -61
  71. package/dist/errors.js.map +0 -1
  72. package/dist/gateway/advanced-tool/discovery.d.ts +0 -19
  73. package/dist/gateway/advanced-tool/discovery.d.ts.map +0 -1
  74. package/dist/gateway/advanced-tool/discovery.js +0 -53
  75. package/dist/gateway/advanced-tool/discovery.js.map +0 -1
  76. package/dist/gateway/advanced-tool/domains.d.ts +0 -47
  77. package/dist/gateway/advanced-tool/domains.d.ts.map +0 -1
  78. package/dist/gateway/advanced-tool/domains.js +0 -94
  79. package/dist/gateway/advanced-tool/domains.js.map +0 -1
  80. package/dist/gateway/advanced-tool/execute.d.ts +0 -29
  81. package/dist/gateway/advanced-tool/execute.d.ts.map +0 -1
  82. package/dist/gateway/advanced-tool/execute.js +0 -54
  83. package/dist/gateway/advanced-tool/execute.js.map +0 -1
  84. package/dist/gateway/advanced-tool/index.d.ts +0 -36
  85. package/dist/gateway/advanced-tool/index.d.ts.map +0 -1
  86. package/dist/gateway/advanced-tool/index.js +0 -39
  87. package/dist/gateway/advanced-tool/index.js.map +0 -1
  88. package/dist/gateway/advanced-tool/register.d.ts +0 -18
  89. package/dist/gateway/advanced-tool/register.d.ts.map +0 -1
  90. package/dist/gateway/advanced-tool/register.js +0 -69
  91. package/dist/gateway/advanced-tool/register.js.map +0 -1
  92. package/dist/gateway/advanced-tool.d.ts +0 -13
  93. package/dist/gateway/advanced-tool.d.ts.map +0 -1
  94. package/dist/gateway/advanced-tool.js +0 -13
  95. package/dist/gateway/advanced-tool.js.map +0 -1
  96. package/dist/gateway/capturing-server.d.ts +0 -117
  97. package/dist/gateway/capturing-server.d.ts.map +0 -1
  98. package/dist/gateway/capturing-server.js +0 -103
  99. package/dist/gateway/capturing-server.js.map +0 -1
  100. package/dist/gateway/essentials.d.ts +0 -49
  101. package/dist/gateway/essentials.d.ts.map +0 -1
  102. package/dist/gateway/essentials.js +0 -79
  103. package/dist/gateway/essentials.js.map +0 -1
  104. package/dist/gateway/test-support.d.ts +0 -41
  105. package/dist/gateway/test-support.d.ts.map +0 -1
  106. package/dist/gateway/test-support.js +0 -60
  107. package/dist/gateway/test-support.js.map +0 -1
  108. package/dist/index.d.ts +0 -25
  109. package/dist/index.d.ts.map +0 -1
  110. package/dist/index.js +0 -77
  111. package/dist/index.js.map +0 -1
  112. package/dist/install-skill.d.ts +0 -35
  113. package/dist/install-skill.d.ts.map +0 -1
  114. package/dist/install-skill.js +0 -107
  115. package/dist/install-skill.js.map +0 -1
  116. package/dist/platform/index.d.ts +0 -49
  117. package/dist/platform/index.d.ts.map +0 -1
  118. package/dist/platform/index.js +0 -38
  119. package/dist/platform/index.js.map +0 -1
  120. package/dist/server.d.ts +0 -50
  121. package/dist/server.d.ts.map +0 -1
  122. package/dist/server.js +0 -153
  123. package/dist/server.js.map +0 -1
  124. package/dist/setup-cli.d.ts +0 -100
  125. package/dist/setup-cli.d.ts.map +0 -1
  126. package/dist/setup-cli.js +0 -355
  127. package/dist/setup-cli.js.map +0 -1
  128. package/dist/setup-prompts.d.ts +0 -41
  129. package/dist/setup-prompts.d.ts.map +0 -1
  130. package/dist/setup-prompts.js +0 -142
  131. package/dist/setup-prompts.js.map +0 -1
  132. package/dist/setup-token.d.ts +0 -38
  133. package/dist/setup-token.d.ts.map +0 -1
  134. package/dist/setup-token.js +0 -106
  135. package/dist/setup-token.js.map +0 -1
  136. package/dist/setup-wizard-defaults.d.ts +0 -43
  137. package/dist/setup-wizard-defaults.d.ts.map +0 -1
  138. package/dist/setup-wizard-defaults.js +0 -160
  139. package/dist/setup-wizard-defaults.js.map +0 -1
  140. package/dist/setup-wizard-handshake.d.ts +0 -25
  141. package/dist/setup-wizard-handshake.d.ts.map +0 -1
  142. package/dist/setup-wizard-handshake.js +0 -103
  143. package/dist/setup-wizard-handshake.js.map +0 -1
  144. package/dist/setup-wizard-types.d.ts +0 -148
  145. package/dist/setup-wizard-types.d.ts.map +0 -1
  146. package/dist/setup-wizard-types.js +0 -11
  147. package/dist/setup-wizard-types.js.map +0 -1
  148. package/dist/setup-wizard.d.ts +0 -33
  149. package/dist/setup-wizard.d.ts.map +0 -1
  150. package/dist/setup-wizard.js +0 -166
  151. package/dist/setup-wizard.js.map +0 -1
  152. package/dist/setup.d.ts +0 -17
  153. package/dist/setup.d.ts.map +0 -1
  154. package/dist/setup.js +0 -33
  155. package/dist/setup.js.map +0 -1
  156. package/dist/skill-loader.d.ts +0 -51
  157. package/dist/skill-loader.d.ts.map +0 -1
  158. package/dist/skill-loader.js +0 -78
  159. package/dist/skill-loader.js.map +0 -1
  160. package/dist/tools/elements/builders.d.ts +0 -24
  161. package/dist/tools/elements/builders.d.ts.map +0 -1
  162. package/dist/tools/elements/builders.js +0 -177
  163. package/dist/tools/elements/builders.js.map +0 -1
  164. package/dist/tools/elements/handlers-write.d.ts +0 -49
  165. package/dist/tools/elements/handlers-write.d.ts.map +0 -1
  166. package/dist/tools/elements/handlers-write.js +0 -148
  167. package/dist/tools/elements/handlers-write.js.map +0 -1
  168. package/dist/tools/elements/handlers.d.ts +0 -61
  169. package/dist/tools/elements/handlers.d.ts.map +0 -1
  170. package/dist/tools/elements/handlers.js +0 -170
  171. package/dist/tools/elements/handlers.js.map +0 -1
  172. package/dist/tools/elements/index.d.ts +0 -28
  173. package/dist/tools/elements/index.d.ts.map +0 -1
  174. package/dist/tools/elements/index.js +0 -27
  175. package/dist/tools/elements/index.js.map +0 -1
  176. package/dist/tools/elements.d.ts +0 -13
  177. package/dist/tools/elements.d.ts.map +0 -1
  178. package/dist/tools/elements.js +0 -13
  179. package/dist/tools/elements.js.map +0 -1
  180. package/dist/tools/elicitation.d.ts +0 -87
  181. package/dist/tools/elicitation.d.ts.map +0 -1
  182. package/dist/tools/elicitation.js +0 -100
  183. package/dist/tools/elicitation.js.map +0 -1
  184. package/dist/tools/format/elements-format.d.ts +0 -40
  185. package/dist/tools/format/elements-format.d.ts.map +0 -1
  186. package/dist/tools/format/elements-format.js +0 -194
  187. package/dist/tools/format/elements-format.js.map +0 -1
  188. package/dist/tools/format/health-format.d.ts +0 -73
  189. package/dist/tools/format/health-format.d.ts.map +0 -1
  190. package/dist/tools/format/health-format.js +0 -178
  191. package/dist/tools/format/health-format.js.map +0 -1
  192. package/dist/tools/format/inspection-format.d.ts +0 -58
  193. package/dist/tools/format/inspection-format.d.ts.map +0 -1
  194. package/dist/tools/format/inspection-format.js +0 -164
  195. package/dist/tools/format/inspection-format.js.map +0 -1
  196. package/dist/tools/format/pages-format.d.ts +0 -42
  197. package/dist/tools/format/pages-format.d.ts.map +0 -1
  198. package/dist/tools/format/pages-format.js +0 -113
  199. package/dist/tools/format/pages-format.js.map +0 -1
  200. package/dist/tools/format/sources-format.d.ts +0 -25
  201. package/dist/tools/format/sources-format.d.ts.map +0 -1
  202. package/dist/tools/format/sources-format.js +0 -208
  203. package/dist/tools/format/sources-format.js.map +0 -1
  204. package/dist/tools/health.d.ts +0 -22
  205. package/dist/tools/health.d.ts.map +0 -1
  206. package/dist/tools/health.js +0 -147
  207. package/dist/tools/health.js.map +0 -1
  208. package/dist/tools/index.d.ts +0 -23
  209. package/dist/tools/index.d.ts.map +0 -1
  210. package/dist/tools/index.js +0 -25
  211. package/dist/tools/index.js.map +0 -1
  212. package/dist/tools/inspection.d.ts +0 -14
  213. package/dist/tools/inspection.d.ts.map +0 -1
  214. package/dist/tools/inspection.js +0 -125
  215. package/dist/tools/inspection.js.map +0 -1
  216. package/dist/tools/layout-flatten.d.ts +0 -75
  217. package/dist/tools/layout-flatten.d.ts.map +0 -1
  218. package/dist/tools/layout-flatten.js +0 -107
  219. package/dist/tools/layout-flatten.js.map +0 -1
  220. package/dist/tools/multi-items/builders.d.ts +0 -23
  221. package/dist/tools/multi-items/builders.d.ts.map +0 -1
  222. package/dist/tools/multi-items/builders.js +0 -56
  223. package/dist/tools/multi-items/builders.js.map +0 -1
  224. package/dist/tools/multi-items/clean-implode-handler.d.ts +0 -28
  225. package/dist/tools/multi-items/clean-implode-handler.d.ts.map +0 -1
  226. package/dist/tools/multi-items/clean-implode-handler.js +0 -40
  227. package/dist/tools/multi-items/clean-implode-handler.js.map +0 -1
  228. package/dist/tools/multi-items/index.d.ts +0 -18
  229. package/dist/tools/multi-items/index.d.ts.map +0 -1
  230. package/dist/tools/multi-items/index.js +0 -18
  231. package/dist/tools/multi-items/index.js.map +0 -1
  232. package/dist/tools/multi-items/inspect-handler.d.ts +0 -41
  233. package/dist/tools/multi-items/inspect-handler.d.ts.map +0 -1
  234. package/dist/tools/multi-items/inspect-handler.js +0 -50
  235. package/dist/tools/multi-items/inspect-handler.js.map +0 -1
  236. package/dist/tools/multi-items/item-container-map.d.ts +0 -41
  237. package/dist/tools/multi-items/item-container-map.d.ts.map +0 -1
  238. package/dist/tools/multi-items/item-container-map.js +0 -73
  239. package/dist/tools/multi-items/item-container-map.js.map +0 -1
  240. package/dist/tools/pages/builders.d.ts +0 -14
  241. package/dist/tools/pages/builders.d.ts.map +0 -1
  242. package/dist/tools/pages/builders.js +0 -115
  243. package/dist/tools/pages/builders.js.map +0 -1
  244. package/dist/tools/pages/handlers-read.d.ts +0 -33
  245. package/dist/tools/pages/handlers-read.d.ts.map +0 -1
  246. package/dist/tools/pages/handlers-read.js +0 -161
  247. package/dist/tools/pages/handlers-read.js.map +0 -1
  248. package/dist/tools/pages/handlers-write.d.ts +0 -21
  249. package/dist/tools/pages/handlers-write.d.ts.map +0 -1
  250. package/dist/tools/pages/handlers-write.js +0 -52
  251. package/dist/tools/pages/handlers-write.js.map +0 -1
  252. package/dist/tools/pages/index.d.ts +0 -17
  253. package/dist/tools/pages/index.d.ts.map +0 -1
  254. package/dist/tools/pages/index.js +0 -17
  255. package/dist/tools/pages/index.js.map +0 -1
  256. package/dist/tools/pages/schemas.d.ts +0 -30
  257. package/dist/tools/pages/schemas.d.ts.map +0 -1
  258. package/dist/tools/pages/schemas.js +0 -30
  259. package/dist/tools/pages/schemas.js.map +0 -1
  260. package/dist/tools/pages.d.ts +0 -13
  261. package/dist/tools/pages.d.ts.map +0 -1
  262. package/dist/tools/pages.js +0 -13
  263. package/dist/tools/pages.js.map +0 -1
  264. package/dist/tools/progress-phases.d.ts +0 -46
  265. package/dist/tools/progress-phases.d.ts.map +0 -1
  266. package/dist/tools/progress-phases.js +0 -48
  267. package/dist/tools/progress-phases.js.map +0 -1
  268. package/dist/tools/shared-schemas.d.ts +0 -15
  269. package/dist/tools/shared-schemas.d.ts.map +0 -1
  270. package/dist/tools/shared-schemas.js +0 -30
  271. package/dist/tools/shared-schemas.js.map +0 -1
  272. package/dist/tools/sources/builders.d.ts +0 -13
  273. package/dist/tools/sources/builders.d.ts.map +0 -1
  274. package/dist/tools/sources/builders.js +0 -103
  275. package/dist/tools/sources/builders.js.map +0 -1
  276. package/dist/tools/sources/handlers-bind.d.ts +0 -28
  277. package/dist/tools/sources/handlers-bind.d.ts.map +0 -1
  278. package/dist/tools/sources/handlers-bind.js +0 -129
  279. package/dist/tools/sources/handlers-bind.js.map +0 -1
  280. package/dist/tools/sources/handlers.d.ts +0 -45
  281. package/dist/tools/sources/handlers.d.ts.map +0 -1
  282. package/dist/tools/sources/handlers.js +0 -91
  283. package/dist/tools/sources/handlers.js.map +0 -1
  284. package/dist/tools/sources/index.d.ts +0 -19
  285. package/dist/tools/sources/index.d.ts.map +0 -1
  286. package/dist/tools/sources/index.js +0 -18
  287. package/dist/tools/sources/index.js.map +0 -1
  288. package/dist/tools/sources.d.ts +0 -14
  289. package/dist/tools/sources.d.ts.map +0 -1
  290. package/dist/tools/sources.js +0 -14
  291. package/dist/tools/sources.js.map +0 -1
  292. package/dist/tools/sparse-fields.d.ts +0 -80
  293. package/dist/tools/sparse-fields.d.ts.map +0 -1
  294. package/dist/tools/sparse-fields.js +0 -144
  295. package/dist/tools/sparse-fields.js.map +0 -1
  296. package/dist/tools/tool-builder/annotations.d.ts +0 -55
  297. package/dist/tools/tool-builder/annotations.d.ts.map +0 -1
  298. package/dist/tools/tool-builder/annotations.js +0 -86
  299. package/dist/tools/tool-builder/annotations.js.map +0 -1
  300. package/dist/tools/tool-builder/define.d.ts +0 -31
  301. package/dist/tools/tool-builder/define.d.ts.map +0 -1
  302. package/dist/tools/tool-builder/define.js +0 -31
  303. package/dist/tools/tool-builder/define.js.map +0 -1
  304. package/dist/tools/tool-builder/index.d.ts +0 -28
  305. package/dist/tools/tool-builder/index.d.ts.map +0 -1
  306. package/dist/tools/tool-builder/index.js +0 -27
  307. package/dist/tools/tool-builder/index.js.map +0 -1
  308. package/dist/tools/tool-builder/results.d.ts +0 -59
  309. package/dist/tools/tool-builder/results.d.ts.map +0 -1
  310. package/dist/tools/tool-builder/results.js +0 -125
  311. package/dist/tools/tool-builder/results.js.map +0 -1
  312. package/dist/tools/tool-builder/types.d.ts +0 -82
  313. package/dist/tools/tool-builder/types.d.ts.map +0 -1
  314. package/dist/tools/tool-builder/types.js +0 -9
  315. package/dist/tools/tool-builder/types.js.map +0 -1
  316. package/dist/tools/tool-builder.d.ts +0 -16
  317. package/dist/tools/tool-builder.d.ts.map +0 -1
  318. package/dist/tools/tool-builder.js +0 -16
  319. package/dist/tools/tool-builder.js.map +0 -1
@@ -1,161 +0,0 @@
1
- /**
2
- * Page-tool READ handlers + shared output-schemas.
3
- *
4
- * Split out of `src/tools/pages.ts` (Round-2 R2-A2-CRIT1) to keep
5
- * each file ≤ 200 LoC per Architecture §11. Write handlers (page_save,
6
- * page_publish — 3-phase progress contract) live in `./handlers-write.ts`.
7
- *
8
- * @license MIT
9
- */
10
- import { detailResult, tableResult } from '@getimo/mcp-toolkit';
11
- import { flattenLayout } from '../layout-flatten.js';
12
- import { PAGES_COMPACT_COLUMNS, PAGES_TABLE_COLUMNS, SCHEMA_COMPACT_COLUMNS, SCHEMA_TABLE_COLUMNS, buildEtagDetail, buildSchemaRows, mapPageRow, } from '../format/pages-format.js';
13
- import { DEFAULT_FIELDS_PAGES_LIST, projectFields, projectedFieldsEcho, } from '../sparse-fields.js';
14
- import { errorResult, jsonResult, structuredResult, } from '../tool-builder.js';
15
- // ─── pages_list ─────────────────────────────────────────────────────
16
- export async function handlePagesList(client, { fields }) {
17
- try {
18
- const data = await client.get('/pages');
19
- const rawPages = Array.isArray(data.pages) ? data.pages : [];
20
- const mapped = rawPages
21
- .filter((x) => x !== null && typeof x === 'object')
22
- .map(mapPageRow);
23
- // Project AFTER mapping — keeps stable key names and lets the
24
- // toolkit's tableResult format the raw, full-shape rows for the
25
- // LLM text leg while the structuredContent leg carries the
26
- // projected per-item slice.
27
- const items = projectFields(mapped, fields, DEFAULT_FIELDS_PAGES_LIST);
28
- const echo = projectedFieldsEcho(fields, DEFAULT_FIELDS_PAGES_LIST);
29
- const toolkitResult = tableResult(mapped, {
30
- columns: [...PAGES_TABLE_COLUMNS],
31
- compactColumns: [...PAGES_COMPACT_COLUMNS],
32
- header: (count) => `${String(count)} pages`,
33
- footer: 'Use yootheme_builder_page_get_schema <id> to inspect.',
34
- });
35
- return structuredResult(toolkitResult, {
36
- items,
37
- total: items.length,
38
- ...(typeof data.etag === 'string' ? { etag: data.etag } : {}),
39
- ...(echo !== undefined ? { projected_fields: [...echo] } : {}),
40
- });
41
- }
42
- catch (e) {
43
- return errorResult({
44
- error: e,
45
- context: {},
46
- hint: 'Run yootheme_builder_diagnose to verify connectivity and auth.',
47
- });
48
- }
49
- }
50
- // ─── page_get_layout ────────────────────────────────────────────────
51
- export async function handlePageGetLayout(client, { template_id, flat, fields }) {
52
- try {
53
- const data = await client.get(`/pages/${encodeURIComponent(template_id)}/layout`);
54
- if (flat !== true) {
55
- // Default: nested passthrough — unchanged from pre-G.3.
56
- return jsonResult(data);
57
- }
58
- // flat: true → depth-first walk on the nested layout. Apply
59
- // pickFields per element when `fields[]` was passed; echo the
60
- // projection so the AI knows the per-item shape it received.
61
- const flatElements = flattenLayout(data.layout);
62
- const projected = projectFields(flatElements, fields,
63
- // No default-set on layout.flat: keep "all" semantics
64
- // unless caller opts-in. The echo helper below mirrors that.
65
- []);
66
- const echo = projectedFieldsEcho(fields, undefined);
67
- return jsonResult({
68
- elements: projected,
69
- ...(typeof data.etag === 'string' ? { etag: data.etag } : {}),
70
- ...(echo !== undefined ? { projected_fields: [...echo] } : {}),
71
- });
72
- }
73
- catch (e) {
74
- return errorResult({
75
- error: e,
76
- context: { template_id },
77
- hint: 'Verify the template_id exists via yootheme_builder_pages_list. ' +
78
- 'IDs are case-sensitive.',
79
- });
80
- }
81
- }
82
- // ─── page_get_schema ────────────────────────────────────────────────
83
- export async function handlePageGetSchema(client, { template_id }) {
84
- try {
85
- const data = await client.get(`/pages/${encodeURIComponent(template_id)}/schema`);
86
- const rawNodes = Array.isArray(data.nodes) ? data.nodes : [];
87
- const items = buildSchemaRows(rawNodes.filter((x) => x !== null && typeof x === 'object'));
88
- // Templates routinely exceed 21 nodes (a typical home page has
89
- // 30–150 elements). Force compact level so the LLM never gets
90
- // truncated text — toolkit's resolveDetailLevel honours the
91
- // explicit override.
92
- //
93
- // TODO(toolkit-upstream): contribute a `compactWhen: (count) => boolean`
94
- // field to @getimo/mcp-toolkit's AutoFormatOptions so this
95
- // can be expressed declaratively on the config object instead
96
- // of via the third positional argument. Tracked as Round-1.5
97
- // follow-up (I2).
98
- const toolkitResult = tableResult(items, {
99
- columns: [...SCHEMA_TABLE_COLUMNS],
100
- compactColumns: [...SCHEMA_COMPACT_COLUMNS],
101
- header: (count) => `${String(count)} nodes in template "${template_id}"`,
102
- footer: 'Use yootheme_builder_element_get <path> for full element data.',
103
- }, 'compact');
104
- return structuredResult(toolkitResult, {
105
- items,
106
- total: items.length,
107
- template_id,
108
- });
109
- }
110
- catch (e) {
111
- return errorResult({
112
- error: e,
113
- context: { template_id },
114
- hint: 'Verify the template_id exists via yootheme_builder_pages_list.',
115
- });
116
- }
117
- }
118
- // ─── get_etag ───────────────────────────────────────────────────────
119
- export async function handleGetEtag(client) {
120
- try {
121
- const data = await client.get('/etag');
122
- const toolkitResult = detailResult(buildEtagDetail({
123
- etag: data.etag,
124
- generated_at: data.generated_at,
125
- }));
126
- return structuredResult(toolkitResult, {
127
- etag: data.etag,
128
- ...(typeof data.generated_at === 'string'
129
- ? { generated_at: data.generated_at }
130
- : {}),
131
- });
132
- }
133
- catch (e) {
134
- return errorResult({
135
- error: e,
136
- context: {},
137
- hint: 'Run yootheme_builder_diagnose to verify auth.',
138
- });
139
- }
140
- }
141
- // ─── template_summary (T9 — Audit-v3 B.5 token-efficient overview) ────
142
- /**
143
- * T9: a one-call structured overview of a template — element counts by
144
- * type, binding count, max nesting depth, and named landmarks. Lets the
145
- * agent grasp a 96-node template for ~1 kB instead of pulling the full
146
- * element_list dump (20 kB+).
147
- */
148
- export async function handleTemplateSummary(client, { template_id }) {
149
- try {
150
- const data = await client.get(`/pages/${encodeURIComponent(template_id)}/summary`);
151
- return jsonResult(data);
152
- }
153
- catch (e) {
154
- return errorResult({
155
- error: e,
156
- context: { template_id },
157
- hint: 'Verify the template_id exists via yootheme_builder_pages_list.',
158
- });
159
- }
160
- }
161
- //# sourceMappingURL=handlers-read.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handlers-read.js","sourceRoot":"","sources":["../../../src/tools/pages/handlers-read.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Page-tool WRITE handlers — `page_save`, `page_publish`. Both implement
3
- * the 3-phase progress contract (PHASE_SEND → PHASE_SERVER → PHASE_CONFIRM).
4
- * PHASE_SERVER is emitted BEFORE the await so the synthetic intermediate
5
- * fires even when the REST call ultimately errors — the dispatch IS the
6
- * boundary, not the response.
7
- *
8
- * Split out of `src/tools/pages.ts` (Round-2 R2-A2-CRIT1).
9
- *
10
- * @license MIT
11
- */
12
- import type { RestClient } from '../../client.js';
13
- import { type HandlerExtra, type ToolResult } from '../tool-builder.js';
14
- interface SavePublishInput {
15
- template_id: string;
16
- etag?: string;
17
- }
18
- export declare function handlePageSave(client: RestClient, { template_id, etag }: SavePublishInput, extra?: HandlerExtra): Promise<ToolResult>;
19
- export declare function handlePagePublish(client: RestClient, { template_id, etag }: SavePublishInput, extra?: HandlerExtra): Promise<ToolResult>;
20
- export {};
21
- //# sourceMappingURL=handlers-write.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handlers-write.d.ts","sourceRoot":"","sources":["../../../src/tools/pages/handlers-write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAIH,KAAK,YAAY,EACjB,KAAK,UAAU,EAClB,MAAM,oBAAoB,CAAC;AAE5B,UAAU,gBAAgB;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,wBAAsB,cAAc,CAChC,MAAM,EAAE,UAAU,EAClB,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,gBAAgB,EACvC,KAAK,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,UAAU,CAAC,CAoBrB;AAID,wBAAsB,iBAAiB,CACnC,MAAM,EAAE,UAAU,EAClB,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,gBAAgB,EACvC,KAAK,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,UAAU,CAAC,CAoBrB"}
@@ -1,52 +0,0 @@
1
- /**
2
- * Page-tool WRITE handlers — `page_save`, `page_publish`. Both implement
3
- * the 3-phase progress contract (PHASE_SEND → PHASE_SERVER → PHASE_CONFIRM).
4
- * PHASE_SERVER is emitted BEFORE the await so the synthetic intermediate
5
- * fires even when the REST call ultimately errors — the dispatch IS the
6
- * boundary, not the response.
7
- *
8
- * Split out of `src/tools/pages.ts` (Round-2 R2-A2-CRIT1).
9
- *
10
- * @license MIT
11
- */
12
- import { PHASE_CONFIRM, PHASE_SEND, PHASE_SERVER } from '../progress-phases.js';
13
- import { createProgressReporter, errorResult, jsonResult, } from '../tool-builder.js';
14
- // ─── page_save ──────────────────────────────────────────────────────
15
- export async function handlePageSave(client, { template_id, etag }, extra) {
16
- const progress = extra ? createProgressReporter(extra) : null;
17
- await progress?.report(0, 3, PHASE_SEND);
18
- await progress?.report(1, 3, PHASE_SERVER);
19
- try {
20
- const data = await client.post(`/pages/${encodeURIComponent(template_id)}/save`, { etag });
21
- await progress?.report(2, 3, PHASE_CONFIRM);
22
- return jsonResult(data);
23
- }
24
- catch (e) {
25
- return errorResult({
26
- error: e,
27
- context: { template_id, etag },
28
- hint: 'On 412 (precondition failed) refresh via yootheme_builder_get_etag ' +
29
- 'and retry — someone else edited the page.',
30
- });
31
- }
32
- }
33
- // ─── page_publish ───────────────────────────────────────────────────
34
- export async function handlePagePublish(client, { template_id, etag }, extra) {
35
- const progress = extra ? createProgressReporter(extra) : null;
36
- await progress?.report(0, 3, PHASE_SEND);
37
- await progress?.report(1, 3, PHASE_SERVER);
38
- try {
39
- const data = await client.post(`/pages/${encodeURIComponent(template_id)}/publish`, { etag });
40
- await progress?.report(2, 3, PHASE_CONFIRM);
41
- return jsonResult(data);
42
- }
43
- catch (e) {
44
- return errorResult({
45
- error: e,
46
- context: { template_id, etag },
47
- hint: 'On 412 (precondition failed) refresh via yootheme_builder_get_etag ' +
48
- 'and retry.',
49
- });
50
- }
51
- }
52
- //# sourceMappingURL=handlers-write.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handlers-write.js","sourceRoot":"","sources":["../../../src/tools/pages/handlers-write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EACH,sBAAsB,EACtB,WAAW,EACX,UAAU,GAGb,MAAM,oBAAoB,CAAC;AAO5B,uEAAuE;AAEvE,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,MAAkB,EAClB,EAAE,WAAW,EAAE,IAAI,EAAoB,EACvC,KAAoB;IAEpB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,MAAM,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IACzC,MAAM,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;IAC3C,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAC1B,UAAU,kBAAkB,CAAC,WAAW,CAAC,OAAO,EAChD,EAAE,IAAI,EAAE,CACX,CAAC;QACF,MAAM,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;QAC5C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,WAAW,CAAC;YACf,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;YAC9B,IAAI,EACA,qEAAqE;gBACrE,2CAA2C;SAClD,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED,uEAAuE;AAEvE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,MAAkB,EAClB,EAAE,WAAW,EAAE,IAAI,EAAoB,EACvC,KAAoB;IAEpB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,MAAM,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IACzC,MAAM,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;IAC3C,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAC1B,UAAU,kBAAkB,CAAC,WAAW,CAAC,UAAU,EACnD,EAAE,IAAI,EAAE,CACX,CAAC;QACF,MAAM,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;QAC5C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,WAAW,CAAC;YACf,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;YAC9B,IAAI,EACA,qEAAqE;gBACrE,YAAY;SACnB,CAAC,CAAC;IACP,CAAC;AACL,CAAC"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Page-tool barrel — public entry-point for the 6 page-level tools:
3
- *
4
- * yootheme_builder_pages_list → list templates (tableResult + structuredContent)
5
- * yootheme_builder_page_get_layout → full layout tree (jsonResult)
6
- * yootheme_builder_page_get_schema → flat schema (tableResult compact)
7
- * yootheme_builder_page_save → re-run save-transforms + persist
8
- * yootheme_builder_page_publish → publish
9
- * yootheme_builder_get_etag → top-level state ETag (detailResult)
10
- *
11
- * Round-2 R2-A2-CRIT1 — split out of the original `src/tools/pages.ts`.
12
- *
13
- * @license MIT
14
- */
15
- export { buildPagesTools } from './builders.js';
16
- export { ETAG_OUTPUT_SCHEMA, PAGES_LIST_OUTPUT_SCHEMA, SCHEMA_OUTPUT_SCHEMA, } from './schemas.js';
17
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/pages/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACH,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,GACvB,MAAM,cAAc,CAAC"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Page-tool barrel — public entry-point for the 6 page-level tools:
3
- *
4
- * yootheme_builder_pages_list → list templates (tableResult + structuredContent)
5
- * yootheme_builder_page_get_layout → full layout tree (jsonResult)
6
- * yootheme_builder_page_get_schema → flat schema (tableResult compact)
7
- * yootheme_builder_page_save → re-run save-transforms + persist
8
- * yootheme_builder_page_publish → publish
9
- * yootheme_builder_get_etag → top-level state ETag (detailResult)
10
- *
11
- * Round-2 R2-A2-CRIT1 — split out of the original `src/tools/pages.ts`.
12
- *
13
- * @license MIT
14
- */
15
- export { buildPagesTools } from './builders.js';
16
- export { ETAG_OUTPUT_SCHEMA, PAGES_LIST_OUTPUT_SCHEMA, SCHEMA_OUTPUT_SCHEMA, } from './schemas.js';
17
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/pages/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACH,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,GACvB,MAAM,cAAc,CAAC"}
@@ -1,30 +0,0 @@
1
- /**
2
- * Page-tool output-schemas (Wave G.2 §4 structuredContent contracts).
3
- *
4
- * Split out of `src/tools/pages.ts` (Round-2 R2-A2-CRIT1) so the
5
- * handler files stay focused on logic.
6
- *
7
- * @license MIT
8
- */
9
- import { z } from 'zod';
10
- export declare const PAGES_LIST_OUTPUT_SCHEMA: z.ZodObject<{
11
- items: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
12
- total: z.ZodNumber;
13
- etag: z.ZodOptional<z.ZodString>;
14
- projected_fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
15
- }, z.core.$strip>;
16
- export declare const SCHEMA_OUTPUT_SCHEMA: z.ZodObject<{
17
- items: z.ZodArray<z.ZodObject<{
18
- path: z.ZodString;
19
- element_type: z.ZodString;
20
- label: z.ZodString;
21
- has_binding: z.ZodBoolean;
22
- }, z.core.$strip>>;
23
- total: z.ZodNumber;
24
- template_id: z.ZodString;
25
- }, z.core.$strip>;
26
- export declare const ETAG_OUTPUT_SCHEMA: z.ZodObject<{
27
- etag: z.ZodString;
28
- generated_at: z.ZodOptional<z.ZodString>;
29
- }, z.core.$strip>;
30
- //# sourceMappingURL=schemas.d.ts.map
@@ -1 +0,0 @@
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;;;;;iBAKnC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;iBAW/B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC"}
@@ -1,30 +0,0 @@
1
- /**
2
- * Page-tool output-schemas (Wave G.2 §4 structuredContent contracts).
3
- *
4
- * Split out of `src/tools/pages.ts` (Round-2 R2-A2-CRIT1) so the
5
- * handler files stay focused on logic.
6
- *
7
- * @license MIT
8
- */
9
- import { z } from 'zod';
10
- export const PAGES_LIST_OUTPUT_SCHEMA = z.object({
11
- items: z.array(z.record(z.string(), z.unknown())),
12
- total: z.number(),
13
- etag: z.string().optional(),
14
- projected_fields: z.array(z.string()).optional(),
15
- });
16
- export const SCHEMA_OUTPUT_SCHEMA = z.object({
17
- items: z.array(z.object({
18
- path: z.string(),
19
- element_type: z.string(),
20
- label: z.string(),
21
- has_binding: z.boolean(),
22
- })),
23
- total: z.number(),
24
- template_id: z.string(),
25
- });
26
- export const ETAG_OUTPUT_SCHEMA = z.object({
27
- etag: z.string(),
28
- generated_at: z.string().optional(),
29
- });
30
- //# sourceMappingURL=schemas.js.map
@@ -1 +0,0 @@
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,13 +0,0 @@
1
- /**
2
- * Backward-compat shim for `src/tools/pages.ts`.
3
- *
4
- * The original 358-LoC module was split into `src/tools/pages/`
5
- * (5 files, each ≤ 200 LoC) per Architecture §11 cap (Round-2
6
- * R2-A2-CRIT1 audit fix). This shim preserves the public import path
7
- * (`from '../../src/tools/pages.js'`) so all existing test imports
8
- * and `tools/index.ts` keep working unchanged.
9
- *
10
- * @license MIT
11
- */
12
- export * from './pages/index.js';
13
- //# sourceMappingURL=pages.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/tools/pages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,cAAc,kBAAkB,CAAC"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Backward-compat shim for `src/tools/pages.ts`.
3
- *
4
- * The original 358-LoC module was split into `src/tools/pages/`
5
- * (5 files, each ≤ 200 LoC) per Architecture §11 cap (Round-2
6
- * R2-A2-CRIT1 audit fix). This shim preserves the public import path
7
- * (`from '../../src/tools/pages.js'`) so all existing test imports
8
- * and `tools/index.ts` keep working unchanged.
9
- *
10
- * @license MIT
11
- */
12
- export * from './pages/index.js';
13
- //# sourceMappingURL=pages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/tools/pages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,cAAc,kBAAkB,CAAC"}
@@ -1,46 +0,0 @@
1
- /**
2
- * Wave G.5 + Round-1.5 — shared progress labels for write handlers.
3
- *
4
- * Two contracts coexist:
5
- *
6
- * ─── 2-phase (element_* mutations) ───────────────────────────────────
7
- *
8
- * 0/2 PHASE_SEND — before the REST call,
9
- * 2/2 PHASE_CONFIRM — after a 2xx response.
10
- *
11
- * Used by the five element_* write tools (add / update_settings / move /
12
- * clone / delete). Each is a single shallow `wp_option('yootheme')` write
13
- * — the request completes in tens of milliseconds and there is no
14
- * client-observable window between dispatch and confirmation that would
15
- * benefit from a synthetic intermediate event.
16
- *
17
- * ─── 3-phase (page_save / page_publish) ──────────────────────────────
18
- *
19
- * 0/3 PHASE_SEND — before the REST call,
20
- * 1/3 PHASE_SERVER — synthetic intermediate, emitted AFTER dispatch
21
- * starts but BEFORE the await resolves; lets the
22
- * MCP-client UI render a mid-flight indicator
23
- * matching the reference UX intent without
24
- * requiring an SSE-streaming REST endpoint.
25
- * 2/3 PHASE_CONFIRM — after a 2xx response.
26
- *
27
- * Reserved for the two page-level mutations (`page_save` /
28
- * `page_publish`). Both trigger a save-transform pass + a full layout
29
- * re-serialisation on the PHP side; on large templates this can take
30
- * 500-3000 ms — well over the perceptual threshold where a mid-flight
31
- * progress signal materially improves the operator experience.
32
- *
33
- * Round-1.5 revert: an earlier Round-1 audit amendment collapsed the
34
- * page_save / page_publish handlers down to 2-phase on the grounds that
35
- * the synthetic intermediate was "theatre". Thomas-mandate 2026-05-22
36
- * reinstates the 3-phase contract: the intermediate is honest if it
37
- * marks an observable boundary (dispatch-start → await-resolved is one
38
- * such boundary even without server-side streaming, because the
39
- * dispatch itself is non-blocking from the host UI's perspective).
40
- *
41
- * @license MIT
42
- */
43
- export declare const PHASE_SEND = "Sending write request";
44
- export declare const PHASE_CONFIRM = "Confirmed by server";
45
- export declare const PHASE_SERVER = "Server processing";
46
- //# sourceMappingURL=progress-phases.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"progress-phases.d.ts","sourceRoot":"","sources":["../../src/tools/progress-phases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAGH,eAAO,MAAM,UAAU,0BAA0B,CAAC;AAClD,eAAO,MAAM,aAAa,wBAAwB,CAAC;AAGnD,eAAO,MAAM,YAAY,sBAAsB,CAAC"}
@@ -1,48 +0,0 @@
1
- /**
2
- * Wave G.5 + Round-1.5 — shared progress labels for write handlers.
3
- *
4
- * Two contracts coexist:
5
- *
6
- * ─── 2-phase (element_* mutations) ───────────────────────────────────
7
- *
8
- * 0/2 PHASE_SEND — before the REST call,
9
- * 2/2 PHASE_CONFIRM — after a 2xx response.
10
- *
11
- * Used by the five element_* write tools (add / update_settings / move /
12
- * clone / delete). Each is a single shallow `wp_option('yootheme')` write
13
- * — the request completes in tens of milliseconds and there is no
14
- * client-observable window between dispatch and confirmation that would
15
- * benefit from a synthetic intermediate event.
16
- *
17
- * ─── 3-phase (page_save / page_publish) ──────────────────────────────
18
- *
19
- * 0/3 PHASE_SEND — before the REST call,
20
- * 1/3 PHASE_SERVER — synthetic intermediate, emitted AFTER dispatch
21
- * starts but BEFORE the await resolves; lets the
22
- * MCP-client UI render a mid-flight indicator
23
- * matching the reference UX intent without
24
- * requiring an SSE-streaming REST endpoint.
25
- * 2/3 PHASE_CONFIRM — after a 2xx response.
26
- *
27
- * Reserved for the two page-level mutations (`page_save` /
28
- * `page_publish`). Both trigger a save-transform pass + a full layout
29
- * re-serialisation on the PHP side; on large templates this can take
30
- * 500-3000 ms — well over the perceptual threshold where a mid-flight
31
- * progress signal materially improves the operator experience.
32
- *
33
- * Round-1.5 revert: an earlier Round-1 audit amendment collapsed the
34
- * page_save / page_publish handlers down to 2-phase on the grounds that
35
- * the synthetic intermediate was "theatre". Thomas-mandate 2026-05-22
36
- * reinstates the 3-phase contract: the intermediate is honest if it
37
- * marks an observable boundary (dispatch-start → await-resolved is one
38
- * such boundary even without server-side streaming, because the
39
- * dispatch itself is non-blocking from the host UI's perspective).
40
- *
41
- * @license MIT
42
- */
43
- // ── 2-phase (element_*) ─────────────────────────────────────────────
44
- export const PHASE_SEND = 'Sending write request';
45
- export const PHASE_CONFIRM = 'Confirmed by server';
46
- // ── 3-phase intermediate (page_save / page_publish only) ────────────
47
- export const PHASE_SERVER = 'Server processing';
48
- //# sourceMappingURL=progress-phases.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"progress-phases.js","sourceRoot":"","sources":["../../src/tools/progress-phases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,uEAAuE;AACvE,MAAM,CAAC,MAAM,UAAU,GAAG,uBAAuB,CAAC;AAClD,MAAM,CAAC,MAAM,aAAa,GAAG,qBAAqB,CAAC;AAEnD,uEAAuE;AACvE,MAAM,CAAC,MAAM,YAAY,GAAG,mBAAmB,CAAC"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Shared Zod schemas — Wave-6 Fix 20.
3
- *
4
- * Centralises the schema definitions reused across pages, elements and
5
- * sources tool builders, so a description tweak lands in one place
6
- * instead of three.
7
- *
8
- * @license MIT
9
- */
10
- import { z } from 'zod';
11
- export declare const TEMPLATE_ID: z.ZodString;
12
- export declare const ELEMENT_PATH: z.ZodString;
13
- export declare const ETAG: z.ZodString;
14
- export declare const PROPS: z.ZodRecord<z.ZodString, z.ZodUnknown>;
15
- //# sourceMappingURL=shared-schemas.d.ts.map
@@ -1 +0,0 @@
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,aAMpB,CAAC;AAEN,eAAO,MAAM,IAAI,aAOZ,CAAC;AAEN,eAAO,MAAM,KAAK,wCAKb,CAAC"}
@@ -1,30 +0,0 @@
1
- /**
2
- * Shared Zod schemas — Wave-6 Fix 20.
3
- *
4
- * Centralises the schema definitions reused across pages, elements and
5
- * sources tool builders, so a description tweak lands in one place
6
- * instead of three.
7
- *
8
- * @license MIT
9
- */
10
- import { z } from 'zod';
11
- export const TEMPLATE_ID = z
12
- .string()
13
- .min(1)
14
- .describe('Template ID (e.g. "default"). Use yootheme_builder_pages_list to discover.');
15
- export const ELEMENT_PATH = z
16
- .string()
17
- .min(1)
18
- .describe('JSON-Pointer path to the element (e.g. "/0/children/2"). Use ' +
19
- 'yootheme_builder_element_list to discover available paths.');
20
- export const ETAG = z
21
- .string()
22
- .min(1)
23
- .describe('Optimistic-lock ETag from yootheme_builder_get_etag. Required to ' +
24
- 'detect concurrent edits — call get_etag first, pass the value here. ' +
25
- 'On 412 Precondition Failed, re-fetch the ETag and retry.');
26
- export const PROPS = z
27
- .record(z.string(), z.unknown())
28
- .describe('Element props object (e.g. `{title: "Hello", margin: "default"}`). ' +
29
- 'Use yootheme_builder_element_type_get_schema to discover available keys.');
30
- //# sourceMappingURL=shared-schemas.js.map
@@ -1 +0,0 @@
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,+DAA+D;IAC3D,4DAA4D,CACnE,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"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Source-tool builders — pure `defineTool` factory list.
3
- *
4
- * Split out of `src/tools/sources.ts` (Wave G.4.0b). See `./handlers.ts`
5
- * for the handler bodies.
6
- *
7
- * @license MIT
8
- */
9
- import type { RestClient } from '../../client.js';
10
- import { type AnyToolDefinition } from '../tool-builder.js';
11
- import { type SourcesHandlerDeps } from './handlers.js';
12
- export declare function buildSourcesTools(client: RestClient, deps?: Partial<SourcesHandlerDeps>): readonly AnyToolDefinition[];
13
- //# sourceMappingURL=builders.d.ts.map
@@ -1 +0,0 @@
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,iBAAiB,CAAC;AAGlD,OAAO,EAKH,KAAK,iBAAiB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGH,KAAK,kBAAkB,EAK1B,MAAM,eAAe,CAAC;AAEvB,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,UAAU,EAClB,IAAI,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACnC,SAAS,iBAAiB,EAAE,CA0G9B"}