@wootsup/yt-builder-mcp 1.10.0 → 1.11.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 (105) hide show
  1. package/README.md +6 -5
  2. package/dist/gateway/advanced-read-tool.d.ts.map +1 -1
  3. package/dist/gateway/advanced-read-tool.js +14 -2
  4. package/dist/gateway/advanced-read-tool.js.map +1 -1
  5. package/dist/gateway/advanced-tool/domains.d.ts.map +1 -1
  6. package/dist/gateway/advanced-tool/domains.js +5 -0
  7. package/dist/gateway/advanced-tool/domains.js.map +1 -1
  8. package/dist/gateway/advanced-tool/execute.d.ts +7 -1
  9. package/dist/gateway/advanced-tool/execute.d.ts.map +1 -1
  10. package/dist/gateway/advanced-tool/execute.js +58 -4
  11. package/dist/gateway/advanced-tool/execute.js.map +1 -1
  12. package/dist/server.d.ts +3 -3
  13. package/dist/server.js +3 -3
  14. package/dist/sites/tools/sites-list.d.ts.map +1 -1
  15. package/dist/sites/tools/sites-list.js +22 -2
  16. package/dist/sites/tools/sites-list.js.map +1 -1
  17. package/dist/tools/elements/builders.d.ts.map +1 -1
  18. package/dist/tools/elements/builders.js +69 -31
  19. package/dist/tools/elements/builders.js.map +1 -1
  20. package/dist/tools/elements/handlers-write.d.ts +2 -0
  21. package/dist/tools/elements/handlers-write.d.ts.map +1 -1
  22. package/dist/tools/elements/handlers-write.js +132 -9
  23. package/dist/tools/elements/handlers-write.js.map +1 -1
  24. package/dist/tools/elements/handlers.d.ts +7 -4
  25. package/dist/tools/elements/handlers.d.ts.map +1 -1
  26. package/dist/tools/elements/handlers.js +49 -8
  27. package/dist/tools/elements/handlers.js.map +1 -1
  28. package/dist/tools/elements/schema-validation.d.ts +18 -0
  29. package/dist/tools/elements/schema-validation.d.ts.map +1 -1
  30. package/dist/tools/elements/schema-validation.js +49 -5
  31. package/dist/tools/elements/schema-validation.js.map +1 -1
  32. package/dist/tools/format/sources-format.d.ts +12 -5
  33. package/dist/tools/format/sources-format.d.ts.map +1 -1
  34. package/dist/tools/format/sources-format.js +31 -6
  35. package/dist/tools/format/sources-format.js.map +1 -1
  36. package/dist/tools/health.d.ts.map +1 -1
  37. package/dist/tools/health.js +18 -5
  38. package/dist/tools/health.js.map +1 -1
  39. package/dist/tools/inspection.d.ts.map +1 -1
  40. package/dist/tools/inspection.js +81 -12
  41. package/dist/tools/inspection.js.map +1 -1
  42. package/dist/tools/layout-flatten.d.ts +7 -1
  43. package/dist/tools/layout-flatten.d.ts.map +1 -1
  44. package/dist/tools/layout-flatten.js +24 -13
  45. package/dist/tools/layout-flatten.js.map +1 -1
  46. package/dist/tools/library.d.ts +23 -0
  47. package/dist/tools/library.d.ts.map +1 -1
  48. package/dist/tools/library.js +213 -15
  49. package/dist/tools/library.js.map +1 -1
  50. package/dist/tools/local-content/builders.js +11 -11
  51. package/dist/tools/local-content/builders.js.map +1 -1
  52. package/dist/tools/local-content/handlers.d.ts.map +1 -1
  53. package/dist/tools/local-content/handlers.js +34 -5
  54. package/dist/tools/local-content/handlers.js.map +1 -1
  55. package/dist/tools/local-content/schemas.d.ts +9 -4
  56. package/dist/tools/local-content/schemas.d.ts.map +1 -1
  57. package/dist/tools/local-content/schemas.js +14 -6
  58. package/dist/tools/local-content/schemas.js.map +1 -1
  59. package/dist/tools/multi-items/builders.d.ts.map +1 -1
  60. package/dist/tools/multi-items/builders.js +11 -8
  61. package/dist/tools/multi-items/builders.js.map +1 -1
  62. package/dist/tools/pages/builders.d.ts.map +1 -1
  63. package/dist/tools/pages/builders.js +84 -51
  64. package/dist/tools/pages/builders.js.map +1 -1
  65. package/dist/tools/pages/handlers-audit.d.ts +99 -1
  66. package/dist/tools/pages/handlers-audit.d.ts.map +1 -1
  67. package/dist/tools/pages/handlers-audit.js +613 -7
  68. package/dist/tools/pages/handlers-audit.js.map +1 -1
  69. package/dist/tools/pages/handlers-read.d.ts +8 -3
  70. package/dist/tools/pages/handlers-read.d.ts.map +1 -1
  71. package/dist/tools/pages/handlers-read.js +172 -25
  72. package/dist/tools/pages/handlers-read.js.map +1 -1
  73. package/dist/tools/pages/handlers-write.d.ts +5 -1
  74. package/dist/tools/pages/handlers-write.d.ts.map +1 -1
  75. package/dist/tools/pages/handlers-write.js +66 -23
  76. package/dist/tools/pages/handlers-write.js.map +1 -1
  77. package/dist/tools/pages/schemas.d.ts +189 -4
  78. package/dist/tools/pages/schemas.d.ts.map +1 -1
  79. package/dist/tools/pages/schemas.js +235 -9
  80. package/dist/tools/pages/schemas.js.map +1 -1
  81. package/dist/tools/pages/target.d.ts +162 -0
  82. package/dist/tools/pages/target.d.ts.map +1 -0
  83. package/dist/tools/pages/target.js +239 -0
  84. package/dist/tools/pages/target.js.map +1 -0
  85. package/dist/tools/shared-schemas.d.ts +22 -0
  86. package/dist/tools/shared-schemas.d.ts.map +1 -1
  87. package/dist/tools/shared-schemas.js +22 -0
  88. package/dist/tools/shared-schemas.js.map +1 -1
  89. package/dist/tools/sources/builders.d.ts.map +1 -1
  90. package/dist/tools/sources/builders.js +46 -28
  91. package/dist/tools/sources/builders.js.map +1 -1
  92. package/dist/tools/sources/handlers-bind.d.ts +7 -8
  93. package/dist/tools/sources/handlers-bind.d.ts.map +1 -1
  94. package/dist/tools/sources/handlers-bind.js +106 -7
  95. package/dist/tools/sources/handlers-bind.js.map +1 -1
  96. package/dist/tools/sparse-fields.d.ts +12 -0
  97. package/dist/tools/sparse-fields.d.ts.map +1 -1
  98. package/dist/tools/sparse-fields.js +34 -2
  99. package/dist/tools/sparse-fields.js.map +1 -1
  100. package/dist/tools/tool-builder/results.d.ts.map +1 -1
  101. package/dist/tools/tool-builder/results.js +114 -0
  102. package/dist/tools/tool-builder/results.js.map +1 -1
  103. package/manifest.json +1 -1
  104. package/package.json +1 -1
  105. package/skills/yt-builder-mcp/SKILL.md +564 -42
@@ -112,14 +112,25 @@ export function buildPagesTools(pool) {
112
112
  }),
113
113
  defineTool({
114
114
  name: 'yootheme_builder_page_get_layout',
115
+ // B-1 (SEO-routing fix, 2026-07-21): a generic "SEO audit" prompt
116
+ // from a COLD agent (no SKILL.md) otherwise loops this tool
117
+ // page-by-page into its Max-Iterations limit instead of the one-call
118
+ // pages_audit sweep (empirically confirmed at glöckle —
119
+ // followup_pages_audit_routing_generic_seo_request). The negative
120
+ // steer at the tail routes a whole-site audit to pages_audit (an L2
121
+ // read-only tool reached via yootheme_builder_advanced_read). The
122
+ // per-arg details dropped from this prose (bindings-skeleton / force
123
+ // / cursor semantics) already live in each param's own .describe().
115
124
  description: 'Get the layout tree for one template — address it by `template_id` ' +
116
- '(from pages_list), `post_id` (numeric post/article id), or `url`. For ' +
117
- 'dynamize/bind prefer `mode:"bindings_only"` (binding skeleton, no style ' +
118
- 'props). Default `mode:"full"` returns nested `{layout, etag}`; `flat:true` ' +
119
- 'gives a depth-first `{elements:[...]}` array (with `fields[]`). A repeated ' +
120
- 'unchanged read auto-skips (`force:true` re-fetches). `max_chars` bounds the ' +
121
- 'text; a clipped read returns `next_cursor` (pass back as `cursor`) to page ' +
122
- 'the rest. Operates on the default site unless site_id is provided.',
125
+ '(from pages_list), `post_id`, or `url`. `mode:"bindings_only"` for ' +
126
+ 'dynamize/bind; `mode:"full"` (default) is nested `{layout, etag}`, ' +
127
+ '`flat:true` a depth-first array. `max_chars` bounds the text; a clipped ' +
128
+ 'read returns `next_cursor` to page the rest. For a site-wide ' +
129
+ 'SEO/structure/content/links audit (h1, image alt, thin pages, dead ' +
130
+ 'links) do NOT loop this tool page-by-page call ' +
131
+ 'yootheme_builder_pages_audit (one sweep via ' +
132
+ 'yootheme_builder_advanced_read). Operates on the default site unless ' +
133
+ 'site_id is provided.',
123
134
  inputSchema: {
124
135
  site_id: SITE_ID_SCHEMA,
125
136
  // G-A (Track-C URL→layout): three interchangeable addressing modes
@@ -202,8 +213,8 @@ export function buildPagesTools(pool) {
202
213
  'Joomla (incl. deep sub-category paths), not only raw ?option= URLs. A singular page ' +
203
214
  '→ its per-page layout; a category/tag/CPT/author archive → the governing THEME ' +
204
215
  'TEMPLATE, and for a category/term the SPECIFICALLY-ASSIGNED template (honoring ' +
205
- 'include-child-categories), not a generic one. Returns {template_id, post_id, type, ' +
206
- 'frontend_url, context, resolved_via}. ' +
216
+ 'include-child-categories), not a generic one. Or a `target`. Returns {template_id, ' +
217
+ 'post_id, type, frontend_url, context, resolved_via}. ' +
207
218
  'Operates on the default site unless site_id is provided.',
208
219
  inputSchema: { site_id: SITE_ID_SCHEMA, ...PAGES_RESOLVE_INPUT },
209
220
  outputSchema: PAGES_RESOLVE_OUTPUT_SCHEMA,
@@ -212,12 +223,12 @@ export function buildPagesTools(pool) {
212
223
  }),
213
224
  defineTool({
214
225
  name: 'yootheme_builder_get_etag',
215
- description: 'Get the current ETag (state revision) for the YOOtheme builder. ' +
216
- 'Returns sha256+revision string used for optimistic locking on writes. ' +
217
- 'Pass the returned value back as `etag` on any write tool (page_save, page_publish, ' +
218
- 'element_add, element_update_settings, element_clone, element_move, element_delete). ' +
219
- 'The server returns HTTP 412 if the ETag has changed since you read it. ' +
220
- 'Keywords: get etag, current etag, state revision, optimistic lock, version stamp. ' +
226
+ description: 'Get the current ETag (state revision) for the YOOtheme builder. Returns a ' +
227
+ 'sha256+revision string for optimistic locking. This ETag is SITE-WIDE: it covers ' +
228
+ 'the ENTIRE builder state, so ANY write to ANY template (by any client) bumps it — ' +
229
+ 'a 412 means the site state advanced, not necessarily that YOUR template changed. ' +
230
+ 'It is the SAME token the read tools (page_get_layout, element_list) return in ' +
231
+ 'their `etag`. Pass it back as `etag` on any write tool; on 412, re-read and retry. ' +
221
232
  'Operates on the default site unless site_id is provided.',
222
233
  inputSchema: { site_id: SITE_ID_SCHEMA },
223
234
  outputSchema: ETAG_OUTPUT_SCHEMA,
@@ -230,6 +241,7 @@ export function buildPagesTools(pool) {
230
241
  'count, max nesting depth, and named landmark sections — computed ' +
231
242
  'server-side in one call. Use this to grasp a large template before ' +
232
243
  'pulling element_list or page_get_layout. ' +
244
+ 'template_id only — resolve a URL/post first via pages_resolve. ' +
233
245
  // F206 (P3): concrete first-call example. The Desktop client
234
246
  // rejected the first guessed call because no example showed the
235
247
  // exact arg shape (the whole yt-builder package used none, while
@@ -250,12 +262,13 @@ export function buildPagesTools(pool) {
250
262
  // automatically (annotation-driven, no allowlist edit).
251
263
  defineTool({
252
264
  name: 'yootheme_builder_pages_audit',
253
- description: 'One-call site-wide SEO/structure/content/links audit — severity-sorted ' +
254
- 'findings with machine-executable fix_hints (missing/multiple h1, empty/thin ' +
255
- 'pages, missing image alt, duplicate layouts, title collisions, non-pretty ' +
256
- 'URLs, stale content, dead anchors). Filter with `types`/`checks`. Disclaimer: ' +
257
- 'SEO-plugin meta (title/description/OG) NOT covered. Drill in via ' +
258
- "template_summary; fix one page at a time via each finding's fix_hint. " +
265
+ description: 'One-call site-wide SEO/structure/content/links audit — severity-sorted findings ' +
266
+ 'with fix_hints (each a props FRAGMENT to merge, not a ready-made call — supply ' +
267
+ 'template_id + path from the finding locator). Covers h1/headings, thin pages, ' +
268
+ 'image alt, duplicate layouts, title collisions, non-pretty URLs, dead anchors. ' +
269
+ 'A SITE-wide sweep caps hits/page and drops per-hit content_snippet; scope to ONE ' +
270
+ 'page via `target` for the full set (cap 100). Filter with `types`/`checks`. ' +
271
+ 'Disclaimer: SEO-plugin meta (title/description/OG) NOT covered. ' +
259
272
  'Operates on the default site unless site_id is provided.',
260
273
  inputSchema: { site_id: SITE_ID_SCHEMA, ...PAGES_AUDIT_INPUT },
261
274
  outputSchema: PAGES_AUDIT_OUTPUT_SCHEMA,
@@ -273,19 +286,22 @@ export function buildPagesTools(pool) {
273
286
  // template_id OR url (exactly one).
274
287
  defineTool({
275
288
  name: 'yootheme_builder_render_preview',
276
- description: 'Render-check a saved template over the authenticated channel does it ' +
277
- 'actually render, with how many items, or is it blank? Address by ' +
278
- '`template_id` (from pages_list) OR `url` (resolved for you). Returns ' +
279
- '{rendered, item_count, empty, error?, cache_purge_hint}; with `expect`, also ' +
280
- '{matched, snippet}. Use AFTER a page_save / element_bind_source to catch a ' +
281
- 'silently-empty live page (a bad binding "saves" then renders blank); the ' +
282
- 'swallowed YOOtheme render error is surfaced in `error`. Read-only — renders ' +
283
- 'without persisting. Operates on the default site unless site_id is provided.',
289
+ description: 'Render-check a saved template does it actually render, with how many items, or ' +
290
+ 'is it blank? Address by `template_id` (from pages_list), `post_id`, or `url` ' +
291
+ '(resolved for you) exactly one. `item_count` = items yielded by the ' +
292
+ 'template\'s dynamic/Multi-Items bindings (rendered repeat-source rows); 0 with ' +
293
+ 'empty:true means a binding returned nothing. Returns {rendered, item_count, empty, ' +
294
+ 'error?, cache_purge_hint}; with `expect`, also {matched, snippet}. Use AFTER a ' +
295
+ 'save/bind to catch a silently-empty page. Read-only. ' +
296
+ 'Operates on the default site unless site_id is provided.',
284
297
  inputSchema: {
285
298
  site_id: SITE_ID_SCHEMA,
286
- // Exactly one of template_id / url mirrors page_get_layout's
287
- // TEMPLATE_ID_OPTIONAL + url addressing (resolveEffectiveTemplateId).
299
+ // WAVE-1 follow-up (a): render_preview threads the SAME three
300
+ // addressing modes page_get_layout uses (template_id | post_id |
301
+ // url, exactly one) — the handler already resolved post_id via
302
+ // resolveEffectiveTemplateId; this exposes it at the MCP boundary.
288
303
  template_id: TEMPLATE_ID_OPTIONAL,
304
+ post_id: POST_ID,
289
305
  url: RESOLVE_URL,
290
306
  // Glöckle HANDOFF-6 #4: optional substring the rendered HTML must
291
307
  // contain. When set, the response adds {matched, snippet} so "did
@@ -295,7 +311,9 @@ export function buildPagesTools(pool) {
295
311
  .min(1)
296
312
  .optional()
297
313
  .describe('Optional substring to find in the rendered HTML (e.g. a headline you ' +
298
- 'just bound). When set, the response adds `matched` (bool) + ' +
314
+ 'just bound). Matched CASE-SENSITIVELY against the RAW, un-decoded ' +
315
+ 'response markup — pass raw HTML, not HTML-escaped text (search for ' +
316
+ '"<h1", not "&lt;h1"). When set, the response adds `matched` (bool) + ' +
299
317
  '`snippet` (≈200-char window, or null) — confirm an edit reached ' +
300
318
  'the render in one call.'),
301
319
  },
@@ -306,12 +324,12 @@ export function buildPagesTools(pool) {
306
324
  defineTool({
307
325
  name: 'yootheme_builder_page_save',
308
326
  description: 'Re-run save-transforms + flush caches. Optionally REPLACE the template tree by ' +
309
- 'passing the INNER {type:"layout",children:[...]} tree as `layout` — NOT the full ' +
310
- 'template node page_get_layout returns (rejected 422, would blank the page). ' +
311
- 'Validated + ETag-locked; on reject nothing persists. An unrenderable layout is ' +
312
- 'refused PRE-WRITE (422). `dry_run:true` preflights; the success response carries ' +
313
- '`previous_layout` for 1-call rollback. Omit `layout` to re-run transforms only. ' +
314
- 'ETag optional (412 on conflict; else last-write-wins). ' +
327
+ 'passing the INNER {type:"layout",children:[...]} tree as `layout` — page_get_layout\'s ' +
328
+ '`.layout` child, NOT the whole response it returns (rejected 422, would blank the ' +
329
+ 'page). Validated + ETag-locked; nothing persists on reject. Does NOT change CMS ' +
330
+ 'post status a draft stays invisible to visitors; set status via pages_create. ' +
331
+ '`dry_run:true` preflights; success carries `previous_layout` for rollback. ETag ' +
332
+ 'optional (412 on conflict; else last-write-wins). ' +
315
333
  'Operates on the default site unless site_id is provided.',
316
334
  inputSchema: {
317
335
  site_id: SITE_ID_SCHEMA,
@@ -323,10 +341,12 @@ export function buildPagesTools(pool) {
323
341
  .record(z.string(), z.unknown())
324
342
  .optional()
325
343
  .describe('Optional whole YT layout-node object — the INNER tree ' +
326
- '{type:"layout",children:[...]}, NOT the full template node ' +
327
- 'page_get_layout returns (passing that is rejected as a double-nest). ' +
328
- 'Replaces the template tree atomically. Validated + ETag-locked. ' +
329
- 'Omit to just re-run save-transforms.'),
344
+ '{type:"layout",children:[...]}, i.e. page_get_layout\'s `.layout` ' +
345
+ 'child, NOT the whole response it returns (passing that is rejected ' +
346
+ 'as a double-nest). Replaces the template tree atomically. Validated ' +
347
+ '+ ETag-locked, BUT prop KEYS are NOT schema-validated on a whole-tree ' +
348
+ 'save — YT-Pro silently drops unknown keys; use element_update_settings ' +
349
+ 'for validated per-element edits. Omit to just re-run save-transforms.'),
330
350
  // U3/F3 (Glöckle HANDOFF-4): optional render preflight.
331
351
  dry_run: z
332
352
  .boolean()
@@ -357,9 +377,11 @@ export function buildPagesTools(pool) {
357
377
  defineTool({
358
378
  name: 'yootheme_builder_page_publish',
359
379
  description: 'Publish a template — persist state, flush YT + WP caches, snapshot the ' +
360
- 'published-state ETag. ETag optional when provided, 412 on conflict; when ' +
361
- 'omitted, last-write-wins. Recommended for collaborative edits. ' +
362
- 'Operates on the default site unless site_id is provided.',
380
+ 'published-state ETag. YOOtheme templates already publish on save, so this is a ' +
381
+ 'cache-flush + state-snapshot op. Neither publish nor save changes the CMS post ' +
382
+ 'status a draft page stays invisible to visitors; set status at creation via ' +
383
+ 'pages_create/library_insert. ETag optional — when provided, 412 on conflict; when ' +
384
+ 'omitted, last-write-wins. Operates on the default site unless site_id is provided.',
363
385
  inputSchema: {
364
386
  site_id: SITE_ID_SCHEMA,
365
387
  template_id: TEMPLATE_ID,
@@ -399,10 +421,10 @@ export function buildPagesTools(pool) {
399
421
  'Reassign which archive/single a YOOtheme THEME template applies to — ' +
400
422
  'set its `type` condition (the value pages_list shows) in ONE ETag-locked ' +
401
423
  'write. Use after a taxonomy/CPT rename orphans a template (e.g. re-type ' +
402
- '"taxonomy-category_faq" → "taxonomy-category_help", "single-gloeckle_faq" ' +
403
- '→ "single-gloeckle_help"). Returns {type, previous_type, new_etag} — ' +
404
- 'previous_type is the read of the prior assignment, folded in. THEME ' +
405
- 'templates only: a page:/article: layout is refused (422). ETag req. ' +
424
+ '"taxonomy-category_faq" → "taxonomy-category_help"). Returns ' +
425
+ '{type, previous_type, new_etag}. Site-wide + immediate preview with ' +
426
+ 'dry_run:true, reversible via previous_type. ' +
427
+ 'THEME templates only: page:/article: is refused (422). ETag req. ' +
406
428
  'Operates on the default site unless site_id is provided.',
407
429
  inputSchema: {
408
430
  site_id: SITE_ID_SCHEMA,
@@ -418,6 +440,17 @@ export function buildPagesTools(pool) {
418
440
  // Required strict ETag (the re-type is a real mutation; the PHP
419
441
  // controller enforces If-Match → 428 if omitted, 412 on stale).
420
442
  etag: ETAG_STRICT,
443
+ // PAGES_LIBRARY_MEDIA-14: preflight the re-type without persisting.
444
+ dry_run: z
445
+ .boolean()
446
+ .optional()
447
+ .describe('Preflight ONLY. When true, validate the re-type (authz + ETag ' +
448
+ 'lock + theme-template-only + type validity + template-exists) ' +
449
+ 'and return {previous_type, would_change, dry_run:true} WITHOUT ' +
450
+ 'persisting — the template TYPE assignment governs which items ' +
451
+ 'render this layout SITE-WIDE and applies immediately once ' +
452
+ 'written, so preview first. Nothing is written (etag == new_etag); ' +
453
+ 'reversible anytime by re-calling with the returned previous_type.'),
421
454
  },
422
455
  outputSchema: TEMPLATE_SET_TYPE_OUTPUT_SCHEMA,
423
456
  annotations: mutating('Set Template Type'),
@@ -465,9 +498,9 @@ export function buildPagesTools(pool) {
465
498
  'hand-editing JSON. Give a REFERENCE (section_name from ' +
466
499
  'template_summary, or element_path) + list_source_name + a leaf_map ' +
467
500
  '(original leaf field-name → flat flow field; #parent + tuned props kept). ' +
468
- 'A section with several source blocks (Played/Next/Later) dynamizes in ONE ' +
501
+ 'A section with several source blocks dynamizes in ONE ' +
469
502
  'call via source_map ({match, source_name, leaf_map?}[]). Sub-query panels: ' +
470
- 'key by "<subquery>.<leaf>". Returns page + `summary`. Requires page.title. ' +
503
+ 'key by "<subquery>.<leaf>". Returns page + `summary`. Preview with dry_run:true. ' +
471
504
  'Operates on the default site unless site_id is provided.',
472
505
  inputSchema: { site_id: SITE_ID_SCHEMA, ...PAGE_DYNAMIZE_INPUT },
473
506
  // No outputSchema: the response is the create wire-shape (WP
@@ -1 +1 @@
1
- {"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../src/tools/pages/builders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EACH,IAAI,IAAI,WAAW,EACnB,OAAO,EACP,WAAW,EACX,cAAc,EACd,WAAW,EACX,oBAAoB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACH,QAAQ,EACR,UAAU,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,YAAY,GAEf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACH,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,+BAA+B,GAClC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,2BAA2B,EAC3B,4BAA4B,EAC5B,oBAAoB,EACpB,8BAA8B,GACjC,MAAM,cAAc,CAAC;AAEtB,2EAA2E;AAC3E,2EAA2E;AAC3E,yEAAyE;AACzE,0EAA0E;AAC1E,8EAA8E;AAC9E,MAAM,IAAI,GAAG,CAAC;KACT,MAAM,EAAE;KACR,QAAQ,EAAE;KACV,QAAQ,CACL,yDAAyD;IACrD,0EAA0E;IAC1E,6EAA6E,CACpF,CAAC;AAkBN;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAIlC;IACG,OAAO;QACH,kBAAkB,EAAE,KAAK,CAAC,gBAAgB,IAAI,IAAI;QAClD,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;QAC5B,QAAQ,EAAE,KAAK,CAAC,OAAO;KAC1B,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,IAAkB;IACrC,MAAM,QAAQ,GAAY,IAAI,CAAC,QAAQ,CAAC;IACxC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAC5E,MAAM,KAAK,GAAI,QAAiC,CAAC,MAAM,CAAC;QACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAKD;;;;;;GAMG;AACH,SAAS,iBAAiB,CACtB,MAAS,EACT,GAAkB;IAElB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;IAC1B,MAAM,UAAU,GACZ,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAC3D,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE;QAClC,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC;IAClC,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAgB;IAC5C,OAAO;QACH,UAAU,CAAC;YACP,IAAI,EAAE,6BAA6B;YACnC,WAAW,EACP,iEAAiE;gBACjE,+DAA+D;gBAC/D,oDAAoD;gBACpD,mFAAmF;gBACnF,iFAAiF;gBACjF,yEAAyE;gBACzE,yEAAyE;gBACzE,4EAA4E;YAChF,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,CAAC;qBACH,MAAM,EAAE;qBACR,GAAG,EAAE;qBACL,GAAG,CAAC,CAAC,CAAC;qBACN,GAAG,CAAC,GAAG,CAAC;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,4FAA4F,CAAC;gBAC3G,MAAM,EAAE,CAAC;qBACJ,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,gFAAgF,CAAC;gBAC/F,cAAc,EAAE,CAAC;qBACZ,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,gFAAgF,CAAC;gBAC/F,SAAS,EAAE,SAAS;aACvB;YACD,YAAY,EAAE,wBAAwB;YACtC,WAAW,EAAE,QAAQ,CAAC,YAAY,CAAC;YACnC,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,CAChD,YAAY,CAAC,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;SACnE,CAAC;QAEF,UAAU,CAAC;YACP,IAAI,EAAE,kCAAkC;YACxC,WAAW,EACP,qEAAqE;gBACrE,wEAAwE;gBACxE,0EAA0E;gBAC1E,6EAA6E;gBAC7E,6EAA6E;gBAC7E,8EAA8E;gBAC9E,6EAA6E;gBAC7E,oEAAoE;YACxE,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,mEAAmE;gBACnE,6DAA6D;gBAC7D,gEAAgE;gBAChE,WAAW,EAAE,oBAAoB;gBACjC,OAAO,EAAE,OAAO;gBAChB,GAAG,EAAE,WAAW;gBAChB,kEAAkE;gBAClE,6DAA6D;gBAC7D,+DAA+D;gBAC/D,iEAAiE;gBACjE,mCAAmC;gBACnC,IAAI,EAAE,CAAC;qBACF,IAAI,CAAC,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;qBAC1C,QAAQ,EAAE;qBACV,QAAQ,CACL,gEAAgE;oBAC5D,gEAAgE;oBAChE,6DAA6D;oBAC7D,6DAA6D;oBAC7D,iEAAiE;oBACjE,0DAA0D;oBAC1D,mEAAmE;oBACnE,8DAA8D;oBAC9D,8CAA8C,CACrD;gBACL,0DAA0D;gBAC1D,KAAK,EAAE,CAAC;qBACH,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CACL,+DAA+D;oBAC3D,6DAA6D,CACpE;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,SAAS;gBACpB,2DAA2D;gBAC3D,sDAAsD;gBACtD,sDAAsD;gBACtD,4DAA4D;gBAC5D,MAAM,EAAE,CAAC;qBACJ,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CACL,sEAAsE;oBAClE,oDAAoD,CAC3D;aACR;YACD,sEAAsE;YACtE,kEAAkE;YAClE,sEAAsE;YACtE,WAAW,EAAE,QAAQ,CAAC,iBAAiB,CAAC;YACxC,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,CAChD,YAAY,CAAC,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;SACvE,CAAC;QAEF,UAAU,CAAC;YACP,IAAI,EAAE,kCAAkC;YACxC,WAAW,EACP,qEAAqE;gBACrE,0EAA0E;gBAC1E,6EAA6E;gBAC7E,mEAAmE;gBACnE,0DAA0D;YAC9D,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,oEAAoE;gBACpE,WAAW,EAAE,oBAAoB;gBACjC,OAAO,EAAE,OAAO;gBAChB,GAAG,EAAE,WAAW;gBAChB,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,SAAS;aACvB;YACD,YAAY,EAAE,oBAAoB;YAClC,WAAW,EAAE,QAAQ,CAAC,iBAAiB,CAAC;YACxC,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,CAChD,YAAY,CAAC,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;SACvE,CAAC;QAEF,iEAAiE;QACjE,kEAAkE;QAClE,kEAAkE;QAClE,mEAAmE;QACnE,8DAA8D;QAC9D,UAAU,CAAC;YACP,IAAI,EAAE,gCAAgC;YACtC,WAAW,EACP,iFAAiF;gBACjF,iFAAiF;gBACjF,sFAAsF;gBACtF,iFAAiF;gBACjF,iFAAiF;gBACjF,qFAAqF;gBACrF,wCAAwC;gBACxC,0DAA0D;YAC9D,WAAW,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,mBAAmB,EAAE;YAChE,YAAY,EAAE,2BAA2B;YACzC,WAAW,EAAE,QAAQ,CAAC,yBAAyB,CAAC;YAChD,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,CAChD,YAAY,CAAC,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;SACtE,CAAC;QAEF,UAAU,CAAC;YACP,IAAI,EAAE,2BAA2B;YACjC,WAAW,EACP,kEAAkE;gBAClE,wEAAwE;gBACxE,qFAAqF;gBACrF,sFAAsF;gBACtF,yEAAyE;gBACzE,oFAAoF;gBACpF,0DAA0D;YAC9D,WAAW,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE;YACxC,YAAY,EAAE,kBAAkB;YAChC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;YACjC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAC3B,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAChD,YAAY,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;SAC3D,CAAC;QAEF,UAAU,CAAC;YACP,IAAI,EAAE,mCAAmC;YACzC,WAAW,EACP,qEAAqE;gBACrE,mEAAmE;gBACnE,qEAAqE;gBACrE,2CAA2C;gBAC3C,6DAA6D;gBAC7D,gEAAgE;gBAChE,iEAAiE;gBACjE,8DAA8D;gBAC9D,WAAW;gBACX,0EAA0E;gBAC1E,0DAA0D;YAC9D,WAAW,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE;YAClE,YAAY,EAAE,8BAA8B;YAC5C,WAAW,EAAE,QAAQ,CAAC,kBAAkB,CAAC;YACzC,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,CAChD,YAAY,CAAC,MAAM,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;SACzE,CAAC;QAEF,iEAAiE;QACjE,kEAAkE;QAClE,qEAAqE;QACrE,gEAAgE;QAChE,qEAAqE;QACrE,wDAAwD;QACxD,UAAU,CAAC;YACP,IAAI,EAAE,8BAA8B;YACpC,WAAW,EACP,yEAAyE;gBACzE,8EAA8E;gBAC9E,4EAA4E;gBAC5E,gFAAgF;gBAChF,mEAAmE;gBACnE,wEAAwE;gBACxE,0DAA0D;YAC9D,WAAW,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,iBAAiB,EAAE;YAC9D,YAAY,EAAE,yBAAyB;YACvC,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC;YACpC,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,CAChD,YAAY,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;SACpE,CAAC;QAEF,iEAAiE;QACjE,sEAAsE;QACtE,wEAAwE;QACxE,yEAAyE;QACzE,sEAAsE;QACtE,wEAAwE;QACxE,wEAAwE;QACxE,kEAAkE;QAClE,oCAAoC;QACpC,UAAU,CAAC;YACP,IAAI,EAAE,iCAAiC;YACvC,WAAW,EACP,yEAAyE;gBACzE,mEAAmE;gBACnE,uEAAuE;gBACvE,+EAA+E;gBAC/E,6EAA6E;gBAC7E,2EAA2E;gBAC3E,8EAA8E;gBAC9E,8EAA8E;YAClF,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,+DAA+D;gBAC/D,sEAAsE;gBACtE,WAAW,EAAE,oBAAoB;gBACjC,GAAG,EAAE,WAAW;gBAChB,kEAAkE;gBAClE,kEAAkE;gBAClE,wDAAwD;gBACxD,MAAM,EAAE,CAAC;qBACJ,MAAM,EAAE;qBACR,GAAG,CAAC,CAAC,CAAC;qBACN,QAAQ,EAAE;qBACV,QAAQ,CACL,uEAAuE;oBACnE,8DAA8D;oBAC9D,kEAAkE;oBAClE,yBAAyB,CAChC;aACR;YACD,YAAY,EAAE,4BAA4B;YAC1C,WAAW,EAAE,QAAQ,CAAC,gBAAgB,CAAC;YACvC,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,CAChD,YAAY,CAAC,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;SACvE,CAAC;QAEF,UAAU,CAAC;YACP,IAAI,EAAE,4BAA4B;YAClC,WAAW,EACP,iFAAiF;gBACjF,mFAAmF;gBACnF,8EAA8E;gBAC9E,iFAAiF;gBACjF,mFAAmF;gBACnF,kFAAkF;gBAClF,yDAAyD;gBACzD,0DAA0D;YAC9D,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,IAAI;gBACV,8DAA8D;gBAC9D,mEAAmE;gBACnE,MAAM,EAAE,CAAC;qBACJ,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;qBAC/B,QAAQ,EAAE;qBACV,QAAQ,CACL,wDAAwD;oBACpD,6DAA6D;oBAC7D,uEAAuE;oBACvE,kEAAkE;oBAClE,sCAAsC,CAC7C;gBACL,wDAAwD;gBACxD,OAAO,EAAE,CAAC;qBACL,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CACL,uEAAuE;oBACnE,mEAAmE;oBACnE,oEAAoE;oBACpE,mEAAmE,CAC1E;gBACL,2DAA2D;gBAC3D,WAAW,EAAE,CAAC;qBACT,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CACL,qEAAqE;oBACjE,8DAA8D;oBAC9D,iEAAiE;oBACjE,mEAAmE;oBACnE,6DAA6D;oBAC7D,6DAA6D;oBAC7D,uDAAuD,CAC9D;aACR;YACD,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC;YAClC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAC3C,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CACnF,iBAAiB,CACb,YAAY,CAAC,MAAM,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,EAC7D,kBAAkB,CAAC;gBACf,OAAO,EAAE,IAAI,CAAC,GAAG;gBACjB,gBAAgB,EAAE,IAAI,CAAC,WAAW;gBAClC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC;aAC9B,CAAC,CACL,CAAC;SACb,CAAC;QAEF,UAAU,CAAC;YACP,IAAI,EAAE,+BAA+B;YACrC,WAAW,EACP,yEAAyE;gBACzE,6EAA6E;gBAC7E,iEAAiE;gBACjE,0DAA0D;YAC9D,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,IAAI;gBACV,4DAA4D;gBAC5D,WAAW,EAAE,CAAC;qBACT,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CACL,sEAAsE;oBAClE,wEAAwE;oBACxE,sEAAsE;oBACtE,wEAAwE;oBACxE,gEAAgE;oBAChE,yEAAyE;oBACzE,0CAA0C,CACjD;aACR;YACD,yDAAyD;YACzD,yDAAyD;YACzD,uDAAuD;YACvD,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC;YACrC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAC3C,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,+BAA+B,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CACtF,iBAAiB,CACb,YAAY,CAAC,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,EAChE,kBAAkB,CAAC;gBACf,OAAO,EAAE,IAAI,CAAC,GAAG;gBACjB,gBAAgB,EAAE,IAAI,CAAC,WAAW;gBAClC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC;aAC9B,CAAC,CACL,CAAC;SACb,CAAC;QAEF,iEAAiE;QACjE,oEAAoE;QACpE,iEAAiE;QACjE,kEAAkE;QAClE,+DAA+D;QAC/D,qEAAqE;QACrE,UAAU,CAAC;YACP,IAAI,EAAE,oCAAoC;YAC1C,WAAW;YACP,6DAA6D;YAC7D,uEAAuE;gBACvE,2EAA2E;gBAC3E,0EAA0E;gBAC1E,4EAA4E;gBAC5E,uEAAuE;gBACvE,sEAAsE;gBACtE,sEAAsE;gBACtE,0DAA0D;YAC9D,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,CAAC;qBACF,MAAM,EAAE;qBACR,GAAG,CAAC,CAAC,CAAC;qBACN,QAAQ,CACL,+DAA+D;oBAC3D,uDAAuD;oBACvD,kEAAkE;oBAClE,+DAA+D;oBAC/D,8DAA8D,CACrE;gBACL,gEAAgE;gBAChE,gEAAgE;gBAChE,IAAI,EAAE,WAAW;aACpB;YACD,YAAY,EAAE,+BAA+B;YAC7C,WAAW,EAAE,QAAQ,CAAC,mBAAmB,CAAC;YAC1C,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAC3C,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,oCAAoC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAC3F,iBAAiB,CACb,YAAY,CAAC,MAAM,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,EACpE,kBAAkB,CAAC;gBACf,OAAO,EAAE,IAAI,CAAC,GAAG;gBACjB,gBAAgB,EAAE,IAAI,CAAC,WAAW;gBAClC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC;aAC9B,CAAC,CACL,CAAC;SACb,CAAC;QAEF,iEAAiE;QACjE,8DAA8D;QAC9D,+DAA+D;QAC/D,iDAAiD;QAEjD,UAAU,CAAC;YACP,IAAI,EAAE,+BAA+B;YACrC,WAAW,EACP,6EAA6E;gBAC7E,6EAA6E;gBAC7E,8EAA8E;gBAC9E,iFAAiF;gBACjF,mFAAmF;gBACnF,kFAAkF;gBAClF,qDAAqD;gBACrD,0DAA0D;YAC9D,WAAW,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,kBAAkB,EAAE;YAC/D,+DAA+D;YAC/D,mEAAmE;YACnE,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC;YACpC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAC3C,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,+BAA+B,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CACtF,iBAAiB,CACb,YAAY,CAAC,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,EAChE,kBAAkB,CAAC;gBACf,OAAO,EAAE,IAAI,CAAC,GAAG;gBACjB,2CAA2C;gBAC3C,iDAAiD;gBACjD,wCAAwC;gBACxC,gBAAgB,EAAE,IAAI;gBACtB,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC;aAC9B,CAAC,CACL,CAAC;SACb,CAAC;QAEF,iEAAiE;QACjE,+DAA+D;QAC/D,iEAAiE;QACjE,iEAAiE;QACjE,UAAU,CAAC;YACP,IAAI,EAAE,gCAAgC;YACtC,WAAW,EACP,iEAAiE;gBACjE,+DAA+D;gBAC/D,yDAAyD;gBACzD,qEAAqE;gBACrE,4EAA4E;gBAC5E,4EAA4E;gBAC5E,6EAA6E;gBAC7E,6EAA6E;gBAC7E,0DAA0D;YAC9D,WAAW,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,mBAAmB,EAAE;YAChE,6DAA6D;YAC7D,4DAA4D;YAC5D,gEAAgE;YAChE,uCAAuC;YACvC,WAAW,EAAE,QAAQ,CAAC,eAAe,CAAC;YACtC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAC3C,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,gCAAgC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CACvF,iBAAiB,CACb,YAAY,CAAC,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,EACjE,kBAAkB,CAAC;gBACf,OAAO,EAAE,IAAI,CAAC,GAAG;gBACjB,gBAAgB,EAAE,IAAI;gBACtB,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC;aAC9B,CAAC,CACL,CAAC;SACb,CAAC;QAEF,UAAU,CAAC;YACP,IAAI,EAAE,+BAA+B;YACrC,WAAW,EACP,+EAA+E;gBAC/E,mFAAmF;gBACnF,mFAAmF;gBACnF,mFAAmF;gBACnF,sFAAsF;YAC1F,WAAW,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,kBAAkB,EAAE;YAC/D,YAAY,EAAE,0BAA0B;YACxC,oEAAoE;YACpE,yEAAyE;YACzE,sEAAsE;YACtE,uEAAuE;YACvE,kCAAkC;YAClC,WAAW,EAAE,WAAW,CAAC,aAAa,CAAC;YACvC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAC3C,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,+BAA+B,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CACtF,YAAY,CAAC,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;SAC5E,CAAC;KACL,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../src/tools/pages/builders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EACH,IAAI,IAAI,WAAW,EACnB,OAAO,EACP,WAAW,EACX,cAAc,EACd,WAAW,EACX,oBAAoB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACH,QAAQ,EACR,UAAU,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,YAAY,GAEf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACH,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,+BAA+B,GAClC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,2BAA2B,EAC3B,4BAA4B,EAC5B,oBAAoB,EACpB,8BAA8B,GACjC,MAAM,cAAc,CAAC;AAEtB,2EAA2E;AAC3E,2EAA2E;AAC3E,yEAAyE;AACzE,0EAA0E;AAC1E,8EAA8E;AAC9E,MAAM,IAAI,GAAG,CAAC;KACT,MAAM,EAAE;KACR,QAAQ,EAAE;KACV,QAAQ,CACL,yDAAyD;IACrD,0EAA0E;IAC1E,6EAA6E,CACpF,CAAC;AAkBN;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAIlC;IACG,OAAO;QACH,kBAAkB,EAAE,KAAK,CAAC,gBAAgB,IAAI,IAAI;QAClD,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;QAC5B,QAAQ,EAAE,KAAK,CAAC,OAAO;KAC1B,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,IAAkB;IACrC,MAAM,QAAQ,GAAY,IAAI,CAAC,QAAQ,CAAC;IACxC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAC5E,MAAM,KAAK,GAAI,QAAiC,CAAC,MAAM,CAAC;QACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAKD;;;;;;GAMG;AACH,SAAS,iBAAiB,CACtB,MAAS,EACT,GAAkB;IAElB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;IAC1B,MAAM,UAAU,GACZ,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAC3D,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE;QAClC,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC;IAClC,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAgB;IAC5C,OAAO;QACH,UAAU,CAAC;YACP,IAAI,EAAE,6BAA6B;YACnC,WAAW,EACP,iEAAiE;gBACjE,+DAA+D;gBAC/D,oDAAoD;gBACpD,mFAAmF;gBACnF,iFAAiF;gBACjF,yEAAyE;gBACzE,yEAAyE;gBACzE,4EAA4E;YAChF,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,CAAC;qBACH,MAAM,EAAE;qBACR,GAAG,EAAE;qBACL,GAAG,CAAC,CAAC,CAAC;qBACN,GAAG,CAAC,GAAG,CAAC;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,4FAA4F,CAAC;gBAC3G,MAAM,EAAE,CAAC;qBACJ,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,gFAAgF,CAAC;gBAC/F,cAAc,EAAE,CAAC;qBACZ,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,gFAAgF,CAAC;gBAC/F,SAAS,EAAE,SAAS;aACvB;YACD,YAAY,EAAE,wBAAwB;YACtC,WAAW,EAAE,QAAQ,CAAC,YAAY,CAAC;YACnC,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,CAChD,YAAY,CAAC,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;SACnE,CAAC;QAEF,UAAU,CAAC;YACP,IAAI,EAAE,kCAAkC;YACxC,kEAAkE;YAClE,4DAA4D;YAC5D,qEAAqE;YACrE,wDAAwD;YACxD,kEAAkE;YAClE,oEAAoE;YACpE,kEAAkE;YAClE,qEAAqE;YACrE,oEAAoE;YACpE,WAAW,EACP,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,0EAA0E;gBAC1E,+DAA+D;gBAC/D,qEAAqE;gBACrE,mDAAmD;gBACnD,8CAA8C;gBAC9C,uEAAuE;gBACvE,sBAAsB;YAC1B,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,mEAAmE;gBACnE,6DAA6D;gBAC7D,gEAAgE;gBAChE,WAAW,EAAE,oBAAoB;gBACjC,OAAO,EAAE,OAAO;gBAChB,GAAG,EAAE,WAAW;gBAChB,kEAAkE;gBAClE,6DAA6D;gBAC7D,+DAA+D;gBAC/D,iEAAiE;gBACjE,mCAAmC;gBACnC,IAAI,EAAE,CAAC;qBACF,IAAI,CAAC,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;qBAC1C,QAAQ,EAAE;qBACV,QAAQ,CACL,gEAAgE;oBAC5D,gEAAgE;oBAChE,6DAA6D;oBAC7D,6DAA6D;oBAC7D,iEAAiE;oBACjE,0DAA0D;oBAC1D,mEAAmE;oBACnE,8DAA8D;oBAC9D,8CAA8C,CACrD;gBACL,0DAA0D;gBAC1D,KAAK,EAAE,CAAC;qBACH,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CACL,+DAA+D;oBAC3D,6DAA6D,CACpE;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,SAAS;gBACpB,2DAA2D;gBAC3D,sDAAsD;gBACtD,sDAAsD;gBACtD,4DAA4D;gBAC5D,MAAM,EAAE,CAAC;qBACJ,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CACL,sEAAsE;oBAClE,oDAAoD,CAC3D;aACR;YACD,sEAAsE;YACtE,kEAAkE;YAClE,sEAAsE;YACtE,WAAW,EAAE,QAAQ,CAAC,iBAAiB,CAAC;YACxC,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,CAChD,YAAY,CAAC,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;SACvE,CAAC;QAEF,UAAU,CAAC;YACP,IAAI,EAAE,kCAAkC;YACxC,WAAW,EACP,qEAAqE;gBACrE,0EAA0E;gBAC1E,6EAA6E;gBAC7E,mEAAmE;gBACnE,0DAA0D;YAC9D,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,oEAAoE;gBACpE,WAAW,EAAE,oBAAoB;gBACjC,OAAO,EAAE,OAAO;gBAChB,GAAG,EAAE,WAAW;gBAChB,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,SAAS;aACvB;YACD,YAAY,EAAE,oBAAoB;YAClC,WAAW,EAAE,QAAQ,CAAC,iBAAiB,CAAC;YACxC,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,CAChD,YAAY,CAAC,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;SACvE,CAAC;QAEF,iEAAiE;QACjE,kEAAkE;QAClE,kEAAkE;QAClE,mEAAmE;QACnE,8DAA8D;QAC9D,UAAU,CAAC;YACP,IAAI,EAAE,gCAAgC;YACtC,WAAW,EACP,iFAAiF;gBACjF,iFAAiF;gBACjF,sFAAsF;gBACtF,iFAAiF;gBACjF,iFAAiF;gBACjF,qFAAqF;gBACrF,uDAAuD;gBACvD,0DAA0D;YAC9D,WAAW,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,mBAAmB,EAAE;YAChE,YAAY,EAAE,2BAA2B;YACzC,WAAW,EAAE,QAAQ,CAAC,yBAAyB,CAAC;YAChD,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,CAChD,YAAY,CAAC,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;SACtE,CAAC;QAEF,UAAU,CAAC;YACP,IAAI,EAAE,2BAA2B;YACjC,WAAW,EACP,4EAA4E;gBAC5E,mFAAmF;gBACnF,oFAAoF;gBACpF,mFAAmF;gBACnF,gFAAgF;gBAChF,qFAAqF;gBACrF,0DAA0D;YAC9D,WAAW,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE;YACxC,YAAY,EAAE,kBAAkB;YAChC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;YACjC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAC3B,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAChD,YAAY,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;SAC3D,CAAC;QAEF,UAAU,CAAC;YACP,IAAI,EAAE,mCAAmC;YACzC,WAAW,EACP,qEAAqE;gBACrE,mEAAmE;gBACnE,qEAAqE;gBACrE,2CAA2C;gBAC3C,iEAAiE;gBACjE,6DAA6D;gBAC7D,gEAAgE;gBAChE,iEAAiE;gBACjE,8DAA8D;gBAC9D,WAAW;gBACX,0EAA0E;gBAC1E,0DAA0D;YAC9D,WAAW,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE;YAClE,YAAY,EAAE,8BAA8B;YAC5C,WAAW,EAAE,QAAQ,CAAC,kBAAkB,CAAC;YACzC,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,CAChD,YAAY,CAAC,MAAM,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;SACzE,CAAC;QAEF,iEAAiE;QACjE,kEAAkE;QAClE,qEAAqE;QACrE,gEAAgE;QAChE,qEAAqE;QACrE,wDAAwD;QACxD,UAAU,CAAC;YACP,IAAI,EAAE,8BAA8B;YACpC,WAAW,EACP,kFAAkF;gBAClF,iFAAiF;gBACjF,gFAAgF;gBAChF,iFAAiF;gBACjF,mFAAmF;gBACnF,8EAA8E;gBAC9E,kEAAkE;gBAClE,0DAA0D;YAC9D,WAAW,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,iBAAiB,EAAE;YAC9D,YAAY,EAAE,yBAAyB;YACvC,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC;YACpC,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,CAChD,YAAY,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;SACpE,CAAC;QAEF,iEAAiE;QACjE,sEAAsE;QACtE,wEAAwE;QACxE,yEAAyE;QACzE,sEAAsE;QACtE,wEAAwE;QACxE,wEAAwE;QACxE,kEAAkE;QAClE,oCAAoC;QACpC,UAAU,CAAC;YACP,IAAI,EAAE,iCAAiC;YACvC,WAAW,EACP,mFAAmF;gBACnF,+EAA+E;gBAC/E,wEAAwE;gBACxE,iFAAiF;gBACjF,qFAAqF;gBACrF,iFAAiF;gBACjF,uDAAuD;gBACvD,0DAA0D;YAC9D,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,8DAA8D;gBAC9D,iEAAiE;gBACjE,+DAA+D;gBAC/D,mEAAmE;gBACnE,WAAW,EAAE,oBAAoB;gBACjC,OAAO,EAAE,OAAO;gBAChB,GAAG,EAAE,WAAW;gBAChB,kEAAkE;gBAClE,kEAAkE;gBAClE,wDAAwD;gBACxD,MAAM,EAAE,CAAC;qBACJ,MAAM,EAAE;qBACR,GAAG,CAAC,CAAC,CAAC;qBACN,QAAQ,EAAE;qBACV,QAAQ,CACL,uEAAuE;oBACnE,oEAAoE;oBACpE,qEAAqE;oBACrE,uEAAuE;oBACvE,kEAAkE;oBAClE,yBAAyB,CAChC;aACR;YACD,YAAY,EAAE,4BAA4B;YAC1C,WAAW,EAAE,QAAQ,CAAC,gBAAgB,CAAC;YACvC,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,CAChD,YAAY,CAAC,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;SACvE,CAAC;QAEF,UAAU,CAAC;YACP,IAAI,EAAE,4BAA4B;YAClC,WAAW,EACP,iFAAiF;gBACjF,yFAAyF;gBACzF,oFAAoF;gBACpF,kFAAkF;gBAClF,kFAAkF;gBAClF,kFAAkF;gBAClF,oDAAoD;gBACpD,0DAA0D;YAC9D,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,IAAI;gBACV,8DAA8D;gBAC9D,mEAAmE;gBACnE,MAAM,EAAE,CAAC;qBACJ,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;qBAC/B,QAAQ,EAAE;qBACV,QAAQ,CACL,wDAAwD;oBACpD,oEAAoE;oBACpE,qEAAqE;oBACrE,sEAAsE;oBACtE,wEAAwE;oBACxE,yEAAyE;oBACzE,uEAAuE,CAC9E;gBACL,wDAAwD;gBACxD,OAAO,EAAE,CAAC;qBACL,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CACL,uEAAuE;oBACnE,mEAAmE;oBACnE,oEAAoE;oBACpE,mEAAmE,CAC1E;gBACL,2DAA2D;gBAC3D,WAAW,EAAE,CAAC;qBACT,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CACL,qEAAqE;oBACjE,8DAA8D;oBAC9D,iEAAiE;oBACjE,mEAAmE;oBACnE,6DAA6D;oBAC7D,6DAA6D;oBAC7D,uDAAuD,CAC9D;aACR;YACD,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC;YAClC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAC3C,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CACnF,iBAAiB,CACb,YAAY,CAAC,MAAM,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,EAC7D,kBAAkB,CAAC;gBACf,OAAO,EAAE,IAAI,CAAC,GAAG;gBACjB,gBAAgB,EAAE,IAAI,CAAC,WAAW;gBAClC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC;aAC9B,CAAC,CACL,CAAC;SACb,CAAC;QAEF,UAAU,CAAC;YACP,IAAI,EAAE,+BAA+B;YACrC,WAAW,EACP,yEAAyE;gBACzE,iFAAiF;gBACjF,iFAAiF;gBACjF,gFAAgF;gBAChF,oFAAoF;gBACpF,oFAAoF;YACxF,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,IAAI;gBACV,4DAA4D;gBAC5D,WAAW,EAAE,CAAC;qBACT,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CACL,sEAAsE;oBAClE,wEAAwE;oBACxE,sEAAsE;oBACtE,wEAAwE;oBACxE,gEAAgE;oBAChE,yEAAyE;oBACzE,0CAA0C,CACjD;aACR;YACD,yDAAyD;YACzD,yDAAyD;YACzD,uDAAuD;YACvD,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC;YACrC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAC3C,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,+BAA+B,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CACtF,iBAAiB,CACb,YAAY,CAAC,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,EAChE,kBAAkB,CAAC;gBACf,OAAO,EAAE,IAAI,CAAC,GAAG;gBACjB,gBAAgB,EAAE,IAAI,CAAC,WAAW;gBAClC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC;aAC9B,CAAC,CACL,CAAC;SACb,CAAC;QAEF,iEAAiE;QACjE,oEAAoE;QACpE,iEAAiE;QACjE,kEAAkE;QAClE,+DAA+D;QAC/D,qEAAqE;QACrE,UAAU,CAAC;YACP,IAAI,EAAE,oCAAoC;YAC1C,WAAW;YACP,6DAA6D;YAC7D,uEAAuE;gBACvE,2EAA2E;gBAC3E,0EAA0E;gBAC1E,+DAA+D;gBAC/D,wEAAwE;gBACxE,8CAA8C;gBAC9C,mEAAmE;gBACnE,0DAA0D;YAC9D,WAAW,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,CAAC;qBACF,MAAM,EAAE;qBACR,GAAG,CAAC,CAAC,CAAC;qBACN,QAAQ,CACL,+DAA+D;oBAC3D,uDAAuD;oBACvD,kEAAkE;oBAClE,+DAA+D;oBAC/D,8DAA8D,CACrE;gBACL,gEAAgE;gBAChE,gEAAgE;gBAChE,IAAI,EAAE,WAAW;gBACjB,oEAAoE;gBACpE,OAAO,EAAE,CAAC;qBACL,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CACL,gEAAgE;oBAC5D,gEAAgE;oBAChE,iEAAiE;oBACjE,gEAAgE;oBAChE,4DAA4D;oBAC5D,oEAAoE;oBACpE,mEAAmE,CAC1E;aACR;YACD,YAAY,EAAE,+BAA+B;YAC7C,WAAW,EAAE,QAAQ,CAAC,mBAAmB,CAAC;YAC1C,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAC3C,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,oCAAoC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAC3F,iBAAiB,CACb,YAAY,CAAC,MAAM,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,EACpE,kBAAkB,CAAC;gBACf,OAAO,EAAE,IAAI,CAAC,GAAG;gBACjB,gBAAgB,EAAE,IAAI,CAAC,WAAW;gBAClC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC;aAC9B,CAAC,CACL,CAAC;SACb,CAAC;QAEF,iEAAiE;QACjE,8DAA8D;QAC9D,+DAA+D;QAC/D,iDAAiD;QAEjD,UAAU,CAAC;YACP,IAAI,EAAE,+BAA+B;YACrC,WAAW,EACP,6EAA6E;gBAC7E,6EAA6E;gBAC7E,8EAA8E;gBAC9E,iFAAiF;gBACjF,mFAAmF;gBACnF,kFAAkF;gBAClF,qDAAqD;gBACrD,0DAA0D;YAC9D,WAAW,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,kBAAkB,EAAE;YAC/D,+DAA+D;YAC/D,mEAAmE;YACnE,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC;YACpC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAC3C,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,+BAA+B,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CACtF,iBAAiB,CACb,YAAY,CAAC,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,EAChE,kBAAkB,CAAC;gBACf,OAAO,EAAE,IAAI,CAAC,GAAG;gBACjB,2CAA2C;gBAC3C,iDAAiD;gBACjD,wCAAwC;gBACxC,gBAAgB,EAAE,IAAI;gBACtB,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC;aAC9B,CAAC,CACL,CAAC;SACb,CAAC;QAEF,iEAAiE;QACjE,+DAA+D;QAC/D,iEAAiE;QACjE,iEAAiE;QACjE,UAAU,CAAC;YACP,IAAI,EAAE,gCAAgC;YACtC,WAAW,EACP,iEAAiE;gBACjE,+DAA+D;gBAC/D,yDAAyD;gBACzD,qEAAqE;gBACrE,4EAA4E;gBAC5E,wDAAwD;gBACxD,6EAA6E;gBAC7E,mFAAmF;gBACnF,0DAA0D;YAC9D,WAAW,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,mBAAmB,EAAE;YAChE,6DAA6D;YAC7D,4DAA4D;YAC5D,gEAAgE;YAChE,uCAAuC;YACvC,WAAW,EAAE,QAAQ,CAAC,eAAe,CAAC;YACtC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAC3C,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,gCAAgC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CACvF,iBAAiB,CACb,YAAY,CAAC,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,EACjE,kBAAkB,CAAC;gBACf,OAAO,EAAE,IAAI,CAAC,GAAG;gBACjB,gBAAgB,EAAE,IAAI;gBACtB,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC;aAC9B,CAAC,CACL,CAAC;SACb,CAAC;QAEF,UAAU,CAAC;YACP,IAAI,EAAE,+BAA+B;YACrC,WAAW,EACP,+EAA+E;gBAC/E,mFAAmF;gBACnF,mFAAmF;gBACnF,mFAAmF;gBACnF,sFAAsF;YAC1F,WAAW,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,kBAAkB,EAAE;YAC/D,YAAY,EAAE,0BAA0B;YACxC,oEAAoE;YACpE,yEAAyE;YACzE,sEAAsE;YACtE,uEAAuE;YACvE,kCAAkC;YAClC,WAAW,EAAE,WAAW,CAAC,aAAa,CAAC;YACvC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAC3C,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,+BAA+B,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CACtF,YAAY,CAAC,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;SAC5E,CAAC;KACL,CAAC;AACN,CAAC"}
@@ -17,15 +17,113 @@
17
17
  */
18
18
  import type { RestClient } from '../../client.js';
19
19
  import { type ToolResult } from '../tool-builder.js';
20
+ import { type PagesTarget } from './target.js';
20
21
  /** Design §2 — the four check categories `checks[]` filters on. */
21
22
  type CheckCategory = 'seo' | 'structure' | 'content' | 'links';
23
+ /**
24
+ * The human-locatable address of ONE audit hit (B-3/B-5 — mirrors the PHP
25
+ * `FindingLocator::toArray()` wire shape verbatim).
26
+ *
27
+ * `path` stays the machine write address (RFC-6901 JSON-Pointer); the rest is
28
+ * what a HUMAN needs to find that element in the YOOtheme customizer. Per the
29
+ * PHP null-key policy the four always-meaningful fields (`path`, `breadcrumb`,
30
+ * `element_type`, `repeat`) are ALWAYS emitted — `element_type: ''` means "the
31
+ * path no longer resolves" — while the genuinely optional ones are OMITTED
32
+ * rather than sent as null. `prop` / `name` ride ALONGSIDE the locator fields
33
+ * on the checks that need them (which prop of a link element is empty, which
34
+ * anchor name collided).
35
+ */
36
+ export interface FindingLocator {
37
+ readonly path: string;
38
+ readonly breadcrumb: string;
39
+ readonly element_type: string;
40
+ readonly element_name?: string | null;
41
+ readonly heading_source?: string | null;
42
+ readonly content_snippet?: string | null;
43
+ readonly repeat: number;
44
+ readonly prop?: string | null;
45
+ readonly name?: string | null;
46
+ readonly [extra: string]: unknown;
47
+ }
48
+ /**
49
+ * PERF-4 / PROD-2 — the DEFAULT ceiling (chars of serialised JSON) on the
50
+ * `structuredContent` leg of one `pages_audit` result.
51
+ *
52
+ * There was NO ceiling at all: `applyMaxChars` clips only `content[0].text`
53
+ * (it says so in its own docblock), `max_chars` has no default, and the
54
+ * projection forwarded `findings` verbatim. Measured on this transport: **349.1
55
+ * KB (~89k tokens)** for a site sweep and **193.9 KB (~50k tokens)** for ONE
56
+ * busy page — against 12,000 chars for the identical request on the in-process
57
+ * native transport. A single tool result could eat most of a context window.
58
+ *
59
+ * WHY 48,000 and not the native handler's 12,000:
60
+ *
61
+ * - The two transports carry DIFFERENT things under that number. Native emits
62
+ * ONE payload — the audit JSON rendered as the text the model reads — so
63
+ * 12,000 chars is the whole result. Here the legs are separate: the text leg
64
+ * is independently bounded ({@link LOCATOR_LINES_PER_FINDING} = 15 locators
65
+ * per finding) and `structuredContent` is the MACHINE leg an agent drills
66
+ * into for the exact paths it is about to write to. Sharing one constant
67
+ * across that boundary would make each transport's budget wrong for the
68
+ * other's payload.
69
+ * - 48,000 chars ≈ 12k tokens at 4 chars/token — a bounded, predictable slice
70
+ * of a context window, and still a ~7× cut from the measured 349 KB.
71
+ * - It is above every realistic SINGLE-page audit (the headline case: ~100
72
+ * hits × ~250 chars of locator ≈ 25 KB), so the capability that motivated
73
+ * locators is never shed on a normal page — only pathological ones degrade.
74
+ *
75
+ * `max_chars` overrides it in BOTH directions (the schema's range is
76
+ * 200…100,000), which is why the `max_chars` describe on THIS tool states that
77
+ * it bounds both legs while the shared one still says text-only.
78
+ */
79
+ export declare const STRUCTURED_BUDGET_CHARS = 48000;
80
+ /**
81
+ * The per-page-entry keys the evidence rung KEEPS — mirrors
82
+ * `McpPagesAuditHandler::PAGE_IDENTITY_KEYS`, and is pinned against the value
83
+ * PHP derives from its own constant by
84
+ * `tests/contracts/audit-shrink-ladder.test.ts`.
85
+ *
86
+ * An allow-list, not a drop-list, on purpose: evidence keys are check-SPECIFIC
87
+ * (`paths`, `alt_paths`, `anchors`, `generic_alts`, `skips`, `dead_anchors`,
88
+ * `long_headings`, `first_headline_path`, `cluster_id`, `iterated`, …) and a
89
+ * new check on the HOST adds new ones this package has never heard of. A
90
+ * drop-list would silently stop shedding the day a host ships one; an
91
+ * allow-list keeps identity + counts protected by construction.
92
+ */
93
+ export declare const PAGE_IDENTITY_KEYS: readonly string[];
94
+ /**
95
+ * BUGS-2 — the raw per-hit evidence arrays that are a PROVABLE DUPLICATE of the
96
+ * locators riding on the same page entry, and may therefore be shed BEFORE a
97
+ * single locator is thinned. Mirrors
98
+ * `McpPagesAuditHandler::REDUNDANT_EVIDENCE_KEYS`; same contract test pins it.
99
+ *
100
+ * "Provable" means every field the array element carries also rides on the
101
+ * locator built from the SAME hit, host-side in `AuditCheckRegistry`:
102
+ * `paths` → path (+ the locator adds heading_source + repeat, which a bare
103
+ * pointer cannot express), `alt_paths` → path (+ prop), `dead_anchors` →
104
+ * {path,name}, `anchors` → {path,reason,text}, `generic_alts` →
105
+ * {path,prop,text}, `long_headings` → {path,length}.
106
+ *
107
+ * DELIBERATELY ABSENT: `skips` (heading-skip). Its elements are
108
+ * `{path, from, to}` and that check builds its locator with no from/to rider,
109
+ * so the jumped heading levels ride on that array and nothing else. It is shed
110
+ * by the allow-list rung instead.
111
+ *
112
+ * Being a DROP-list this one is allowed to be incomplete — a new host check's
113
+ * array simply is not shed EARLY, and the allow-list rung behind it still sheds
114
+ * everything. Opposite failure modes on purpose: this one under-sheds, the
115
+ * other cannot.
116
+ */
117
+ export declare const REDUNDANT_EVIDENCE_KEYS: readonly string[];
22
118
  export interface PagesAuditArgs {
23
119
  readonly types?: readonly string[];
24
120
  readonly checks?: readonly CheckCategory[];
25
121
  readonly thin_content_threshold?: number;
26
122
  readonly stale_after_months?: number;
27
123
  readonly max_chars?: number;
124
+ /** A-6: scope the sweep to ONE page (exactly one member — handler-validated). */
125
+ readonly target?: PagesTarget;
28
126
  }
29
- export declare function handlePagesAudit(client: RestClient, { types, checks, thin_content_threshold, stale_after_months, max_chars }: PagesAuditArgs): Promise<ToolResult>;
127
+ export declare function handlePagesAudit(client: RestClient, { types, checks, thin_content_threshold, stale_after_months, max_chars, target }: PagesAuditArgs): Promise<ToolResult>;
30
128
  export {};
31
129
  //# sourceMappingURL=handlers-audit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers-audit.d.ts","sourceRoot":"","sources":["../../../src/tools/pages/handlers-audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,EAAiC,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEpF,mEAAmE;AACnE,KAAK,aAAa,GAAG,KAAK,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;AA2D/D,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,UAAU,EAClB,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,SAAS,EAAE,EAAE,cAAc,GACzF,OAAO,CAAC,UAAU,CAAC,CAgErB"}
1
+ {"version":3,"file":"handlers-audit.d.ts","sourceRoot":"","sources":["../../../src/tools/pages/handlers-audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,EAAiC,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAUH,KAAK,WAAW,EACnB,MAAM,aAAa,CAAC;AAErB,mEAAmE;AACnE,KAAK,aAAa,GAAG,KAAK,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;AAE/D;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACrC;AAuND;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAQ9C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAU/C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAOpD,CAAC;AA0VF,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,iFAAiF;IACjF,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CACjC;AAED,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,UAAU,EAClB,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,cAAc,GACjG,OAAO,CAAC,UAAU,CAAC,CA0LrB"}