@wootsup/yt-builder-mcp 1.9.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.
- package/README.md +19 -10
- package/dist/gateway/advanced-read-tool.d.ts.map +1 -1
- package/dist/gateway/advanced-read-tool.js +14 -2
- package/dist/gateway/advanced-read-tool.js.map +1 -1
- package/dist/gateway/advanced-tool/domains.d.ts.map +1 -1
- package/dist/gateway/advanced-tool/domains.js +5 -0
- package/dist/gateway/advanced-tool/domains.js.map +1 -1
- package/dist/gateway/advanced-tool/execute.d.ts +7 -1
- package/dist/gateway/advanced-tool/execute.d.ts.map +1 -1
- package/dist/gateway/advanced-tool/execute.js +58 -4
- package/dist/gateway/advanced-tool/execute.js.map +1 -1
- package/dist/server.d.ts +14 -11
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +14 -11
- package/dist/server.js.map +1 -1
- package/dist/sites/tools/sites-list.d.ts.map +1 -1
- package/dist/sites/tools/sites-list.js +22 -2
- package/dist/sites/tools/sites-list.js.map +1 -1
- package/dist/tools/elements/builders.d.ts.map +1 -1
- package/dist/tools/elements/builders.js +69 -31
- package/dist/tools/elements/builders.js.map +1 -1
- package/dist/tools/elements/handlers-write.d.ts +2 -0
- package/dist/tools/elements/handlers-write.d.ts.map +1 -1
- package/dist/tools/elements/handlers-write.js +132 -9
- package/dist/tools/elements/handlers-write.js.map +1 -1
- package/dist/tools/elements/handlers.d.ts +7 -4
- package/dist/tools/elements/handlers.d.ts.map +1 -1
- package/dist/tools/elements/handlers.js +49 -8
- package/dist/tools/elements/handlers.js.map +1 -1
- package/dist/tools/elements/schema-validation.d.ts +18 -0
- package/dist/tools/elements/schema-validation.d.ts.map +1 -1
- package/dist/tools/elements/schema-validation.js +49 -5
- package/dist/tools/elements/schema-validation.js.map +1 -1
- package/dist/tools/format/sources-format.d.ts +12 -5
- package/dist/tools/format/sources-format.d.ts.map +1 -1
- package/dist/tools/format/sources-format.js +31 -6
- package/dist/tools/format/sources-format.js.map +1 -1
- package/dist/tools/health.d.ts.map +1 -1
- package/dist/tools/health.js +18 -5
- package/dist/tools/health.js.map +1 -1
- package/dist/tools/inspection.d.ts.map +1 -1
- package/dist/tools/inspection.js +81 -12
- package/dist/tools/inspection.js.map +1 -1
- package/dist/tools/layout-flatten.d.ts +7 -1
- package/dist/tools/layout-flatten.d.ts.map +1 -1
- package/dist/tools/layout-flatten.js +24 -13
- package/dist/tools/layout-flatten.js.map +1 -1
- package/dist/tools/library.d.ts +23 -0
- package/dist/tools/library.d.ts.map +1 -1
- package/dist/tools/library.js +213 -15
- package/dist/tools/library.js.map +1 -1
- package/dist/tools/local-content/builders.js +11 -11
- package/dist/tools/local-content/builders.js.map +1 -1
- package/dist/tools/local-content/handlers.d.ts.map +1 -1
- package/dist/tools/local-content/handlers.js +34 -5
- package/dist/tools/local-content/handlers.js.map +1 -1
- package/dist/tools/local-content/schemas.d.ts +9 -4
- package/dist/tools/local-content/schemas.d.ts.map +1 -1
- package/dist/tools/local-content/schemas.js +14 -6
- package/dist/tools/local-content/schemas.js.map +1 -1
- package/dist/tools/multi-items/builders.d.ts.map +1 -1
- package/dist/tools/multi-items/builders.js +11 -8
- package/dist/tools/multi-items/builders.js.map +1 -1
- package/dist/tools/pages/builders.d.ts.map +1 -1
- package/dist/tools/pages/builders.js +122 -46
- package/dist/tools/pages/builders.js.map +1 -1
- package/dist/tools/pages/handlers-audit.d.ts +129 -0
- package/dist/tools/pages/handlers-audit.d.ts.map +1 -0
- package/dist/tools/pages/handlers-audit.js +704 -0
- package/dist/tools/pages/handlers-audit.js.map +1 -0
- package/dist/tools/pages/handlers-read.d.ts +8 -3
- package/dist/tools/pages/handlers-read.d.ts.map +1 -1
- package/dist/tools/pages/handlers-read.js +172 -25
- package/dist/tools/pages/handlers-read.js.map +1 -1
- package/dist/tools/pages/handlers-write.d.ts +17 -3
- package/dist/tools/pages/handlers-write.d.ts.map +1 -1
- package/dist/tools/pages/handlers-write.js +79 -26
- package/dist/tools/pages/handlers-write.js.map +1 -1
- package/dist/tools/pages/index.d.ts +5 -1
- package/dist/tools/pages/index.d.ts.map +1 -1
- package/dist/tools/pages/index.js +5 -1
- package/dist/tools/pages/index.js.map +1 -1
- package/dist/tools/pages/schemas.d.ts +319 -1
- package/dist/tools/pages/schemas.d.ts.map +1 -1
- package/dist/tools/pages/schemas.js +340 -4
- package/dist/tools/pages/schemas.js.map +1 -1
- package/dist/tools/pages/target.d.ts +162 -0
- package/dist/tools/pages/target.d.ts.map +1 -0
- package/dist/tools/pages/target.js +239 -0
- package/dist/tools/pages/target.js.map +1 -0
- package/dist/tools/shared-schemas.d.ts +22 -0
- package/dist/tools/shared-schemas.d.ts.map +1 -1
- package/dist/tools/shared-schemas.js +22 -0
- package/dist/tools/shared-schemas.js.map +1 -1
- package/dist/tools/sources/builders.d.ts.map +1 -1
- package/dist/tools/sources/builders.js +46 -28
- package/dist/tools/sources/builders.js.map +1 -1
- package/dist/tools/sources/handlers-bind.d.ts +7 -8
- package/dist/tools/sources/handlers-bind.d.ts.map +1 -1
- package/dist/tools/sources/handlers-bind.js +106 -7
- package/dist/tools/sources/handlers-bind.js.map +1 -1
- package/dist/tools/sparse-fields.d.ts +12 -0
- package/dist/tools/sparse-fields.d.ts.map +1 -1
- package/dist/tools/sparse-fields.js +34 -2
- package/dist/tools/sparse-fields.js.map +1 -1
- package/dist/tools/tool-builder/results.d.ts.map +1 -1
- package/dist/tools/tool-builder/results.js +114 -0
- package/dist/tools/tool-builder/results.js.map +1 -1
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/skills/yt-builder-mcp/SKILL.md +735 -44
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* @license MIT
|
|
8
8
|
*/
|
|
9
9
|
import { z } from 'zod';
|
|
10
|
+
import { MAX_CHARS } from '../sparse-fields.js';
|
|
10
11
|
export const PAGES_LIST_OUTPUT_SCHEMA = z.object({
|
|
11
12
|
// F-Frontend-URL (2026-05-25): each row carries `frontend_url`,
|
|
12
13
|
// `frontend_url_template`, `frontend_url_description` so an MCP-agent
|
|
@@ -105,6 +106,16 @@ export const TEMPLATE_SUMMARY_OUTPUT_SCHEMA = z.object({
|
|
|
105
106
|
path: z.string(),
|
|
106
107
|
name: z.string(),
|
|
107
108
|
})),
|
|
109
|
+
// pages_audit impl plan Task 7 (2026-07-19): additive enrichment —
|
|
110
|
+
// heading-level census (h1-h6 + div — `div` counts `description_list`
|
|
111
|
+
// elements, the one type whose title_element defaults to div),
|
|
112
|
+
// unbound-image-alt-gap count, and disabled-element count. Reuses the
|
|
113
|
+
// SAME `LayoutAuditExtractor` pass `pages_audit` runs. `.optional()` so
|
|
114
|
+
// a NEW MCP client talking to an OLD (pre-1.10.0) host plugin — which
|
|
115
|
+
// doesn't emit these fields yet — still validates.
|
|
116
|
+
heading_levels: z.record(z.string(), z.number().int().nonnegative()).optional(),
|
|
117
|
+
images_missing_alt: z.number().int().nonnegative().optional(),
|
|
118
|
+
disabled_elements: z.number().int().nonnegative().optional(),
|
|
108
119
|
etag: z.string(),
|
|
109
120
|
});
|
|
110
121
|
// ─── C1 — pages_create + pages_delete (v1.2) ──────────────────────────
|
|
@@ -339,9 +350,11 @@ export const PAGE_DYNAMIZE_INPUT = {
|
|
|
339
350
|
.string()
|
|
340
351
|
.min(1)
|
|
341
352
|
.optional()
|
|
342
|
-
.describe('SINGLE-block path: the
|
|
343
|
-
'
|
|
344
|
-
'
|
|
353
|
+
.describe('SINGLE-block path: the LIST source the one iterating column query is rewritten ' +
|
|
354
|
+
'to. Accepts ANY list source — a published API Mapper flow ' +
|
|
355
|
+
'(apiMapperFlow…List, e.g. "apiMapperFlowAbcList") OR a native source/relation ' +
|
|
356
|
+
'(e.g. "posts.customPosts", "articles"). Provide THIS or `source_map` — exactly ' +
|
|
357
|
+
'one. Use yootheme_builder_sources_list to discover.'),
|
|
345
358
|
// F201 (multi-block): a section with SEVERAL source blocks (Played / Next /
|
|
346
359
|
// Later) dynamizes in ONE call. Each entry keys the EXISTING iterating
|
|
347
360
|
// column query (`match`) to its flow list source (`source_name`) + its own
|
|
@@ -426,6 +439,14 @@ export const PAGE_DYNAMIZE_INPUT = {
|
|
|
426
439
|
.optional()
|
|
427
440
|
.describe('Optimistic-lock ETag from yootheme_builder_get_etag. Optional; when provided, ' +
|
|
428
441
|
'412 on conflict. Recommended for collaborative edits.'),
|
|
442
|
+
// SOURCES_BINDING-27: preflight the dynamize without creating a page.
|
|
443
|
+
dry_run: z
|
|
444
|
+
.boolean()
|
|
445
|
+
.optional()
|
|
446
|
+
.describe('Preflight ONLY. When true, compute the dynamize and return {summary, ' +
|
|
447
|
+
'would_change, dry_run:true} WITHOUT creating a page — nothing persists ' +
|
|
448
|
+
'(etag == new_etag). Inspect summary.queries_swapped / unmatched_map_keys ' +
|
|
449
|
+
'before the real call.'),
|
|
429
450
|
};
|
|
430
451
|
/**
|
|
431
452
|
* Wire shape for `yootheme_builder_pages_delete` on success.
|
|
@@ -453,13 +474,97 @@ export const PAGES_DELETE_OUTPUT_SCHEMA = z
|
|
|
453
474
|
})
|
|
454
475
|
.refine((v) => typeof v.page_id === 'number' || typeof v.article_id === 'number', { message: 'response must contain either page_id (WP) or article_id (Joomla)' });
|
|
455
476
|
// ─── G-A (Track-C URL→layout) — pages_resolve ───────────────────────
|
|
477
|
+
// ─── A-6 (single-page audit plan, 2026-07-22-02) — semantic `target` ──────
|
|
478
|
+
//
|
|
479
|
+
// The shared addressing object BOTH `pages_resolve` and `pages_audit` accept.
|
|
480
|
+
// It is deliberately PERMISSIVE (every member optional, no `.refine`): the
|
|
481
|
+
// exactly-one-of contract is enforced in the HANDLERS as a typed
|
|
482
|
+
// `too_many_targets` result. F205 (`gateway/advanced-read-tool.ts`): an
|
|
483
|
+
// SDK-level zod rejection surfaces as a raw -32602 and bypasses every piece of
|
|
484
|
+
// typed steering the tool provides.
|
|
485
|
+
//
|
|
486
|
+
// The VOCABULARY lives in these field `.describe()` strings on purpose — the
|
|
487
|
+
// tool descriptions are pinned at MAX_DESCRIPTION_LENGTH=600 by
|
|
488
|
+
// `tests/gateway/description-length.test.ts` and pages_resolve already sits at
|
|
489
|
+
// 577, so there is no room there. Field describes carry no length pin.
|
|
490
|
+
/**
|
|
491
|
+
* The five addressing keys, in the order they are documented + put on the
|
|
492
|
+
* wire. SSOT for both the `matched_by` echo enum and the runtime iteration in
|
|
493
|
+
* `./target.ts`.
|
|
494
|
+
*/
|
|
495
|
+
export const TARGET_KEYS = ['template_id', 'post_id', 'url', 'special', 'title'];
|
|
496
|
+
/**
|
|
497
|
+
* The semantic-special vocabulary, byte-identical to PHP `SpecialTargetMap`'s
|
|
498
|
+
* key set. `date` is IN the vocabulary but unsupported on both platforms — it
|
|
499
|
+
* resolves to a clean `special_not_supported` error rather than "unknown
|
|
500
|
+
* special", which is why it is listed here.
|
|
501
|
+
*/
|
|
502
|
+
export const SPECIAL_TARGET_TOKENS = [
|
|
503
|
+
'home',
|
|
504
|
+
'front-page',
|
|
505
|
+
'blog',
|
|
506
|
+
'search',
|
|
507
|
+
'404',
|
|
508
|
+
'category',
|
|
509
|
+
'tag',
|
|
510
|
+
'author',
|
|
511
|
+
'archive',
|
|
512
|
+
'date',
|
|
513
|
+
];
|
|
514
|
+
export const PAGES_TARGET = z
|
|
515
|
+
.object({
|
|
516
|
+
template_id: z
|
|
517
|
+
.string()
|
|
518
|
+
.min(1)
|
|
519
|
+
.optional()
|
|
520
|
+
.describe('An exact template id (e.g. "page:4816", "article:12", "helpArchiveTpl").'),
|
|
521
|
+
post_id: z
|
|
522
|
+
.union([z.number().int().positive(), z.string().min(1)])
|
|
523
|
+
.optional()
|
|
524
|
+
.describe('The numeric WordPress post / Joomla article id (e.g. 4816).'),
|
|
525
|
+
url: z
|
|
526
|
+
.string()
|
|
527
|
+
.min(1)
|
|
528
|
+
.optional()
|
|
529
|
+
.describe('A public frontend URL (e.g. "https://site.com/schedule-demo/").'),
|
|
530
|
+
special: z
|
|
531
|
+
.enum(SPECIAL_TARGET_TOKENS)
|
|
532
|
+
.optional()
|
|
533
|
+
.describe('A semantic page role: "home" / "front-page" / "blog" (the configured ' +
|
|
534
|
+
'front page or posts page), "search", "404", "category", "tag", ' +
|
|
535
|
+
'"author" (Joomla: the Contact template), "archive" (the post ' +
|
|
536
|
+
'archive). "date" is recognised but not supported on either platform ' +
|
|
537
|
+
'yet and returns special_not_supported. DISCOVERY_AUDIT-17: a special ' +
|
|
538
|
+
'resolves ONLY when the site has a theme template assigned to that role, ' +
|
|
539
|
+
'so search/tag/author/archive availability is SITE-SPECIFIC — a role with ' +
|
|
540
|
+
'no template returns special_not_resolvable (e.g. "archive" resolves on ' +
|
|
541
|
+
'one site but not another).'),
|
|
542
|
+
title: z
|
|
543
|
+
.string()
|
|
544
|
+
.min(1)
|
|
545
|
+
.optional()
|
|
546
|
+
.describe('Case-insensitive substring of the page NAME/label (e.g. "SunWest"). ' +
|
|
547
|
+
'Zero matches → title_no_match; two or more → title_ambiguous with a ' +
|
|
548
|
+
'candidate list to choose from.'),
|
|
549
|
+
})
|
|
550
|
+
.describe('Address exactly ONE page. Supply exactly one of template_id / post_id / url / ' +
|
|
551
|
+
'special / title — supplying two returns a typed too_many_targets error, ' +
|
|
552
|
+
'supplying none runs the unscoped default.');
|
|
456
553
|
export const PAGES_RESOLVE_INPUT = {
|
|
554
|
+
// A-6: OPTIONAL since a target-only resolve must be expressible. The
|
|
555
|
+
// exactly-one-of(url, target) contract lives in `handlePagesResolve`
|
|
556
|
+
// (typed too_many_targets / missing_url), not in the schema.
|
|
457
557
|
url: z
|
|
458
558
|
.string()
|
|
459
559
|
.min(1)
|
|
560
|
+
.optional()
|
|
460
561
|
.describe('A public frontend URL of the page/article (e.g. ' +
|
|
461
562
|
'"https://site.com/schedule-demo/"). Resolved to the per-page ' +
|
|
462
|
-
'template_id that renders it — paste a URL, get a layout-addressable id.'
|
|
563
|
+
'template_id that renders it — paste a URL, get a layout-addressable id. ' +
|
|
564
|
+
'Omit when addressing the page via `target` instead.'),
|
|
565
|
+
target: PAGES_TARGET.optional().describe('Resolve a page WITHOUT knowing its URL — by template_id, post_id, url, a ' +
|
|
566
|
+
'semantic special ("home", "blog", "404", "search", "category", "tag", ' +
|
|
567
|
+
'"author", "archive") or a title substring. Mutually exclusive with `url`.'),
|
|
463
568
|
};
|
|
464
569
|
export const PAGES_RESOLVE_OUTPUT_SCHEMA = z.object({
|
|
465
570
|
// The read-tool-addressable id every read tool accepts as `template_id`
|
|
@@ -473,6 +578,11 @@ export const PAGES_RESOLVE_OUTPUT_SCHEMA = z.object({
|
|
|
473
578
|
// Content type — `get_post_type`/archive post-type/taxonomy on WP,
|
|
474
579
|
// "article"/"category" on Joomla.
|
|
475
580
|
type: z.string(),
|
|
581
|
+
// The page's human display name. Load-bearing for the fuzzy addresses: a
|
|
582
|
+
// `special`/`title` resolve is only checkable if the caller can see WHICH
|
|
583
|
+
// page it landed on without a second round-trip. `.optional()` because a
|
|
584
|
+
// host predating the label fill omits it and this is a STRICT object.
|
|
585
|
+
label: z.string().optional(),
|
|
476
586
|
// Canonical permalink (null when the platform cannot re-derive one).
|
|
477
587
|
frontend_url: z.string().nullable(),
|
|
478
588
|
// G-A2: the matched YT type/condition for a theme template
|
|
@@ -482,6 +592,11 @@ export const PAGES_RESOLVE_OUTPUT_SCHEMA = z.object({
|
|
|
482
592
|
// G-A2: which kind was resolved — a per-page layout vs. the governing theme
|
|
483
593
|
// template — so the agent knows it reached the right surface.
|
|
484
594
|
resolved_via: z.enum(['per_page', 'theme_template']),
|
|
595
|
+
// A-6: WHICH branch of the `target` object matched, echoed so the caller can
|
|
596
|
+
// tell the user how a fuzzy address (a title substring, a semantic special)
|
|
597
|
+
// was interpreted. `.optional()` is load-bearing: a `url` resolve and every
|
|
598
|
+
// host predating A-5 omit it, and this is a STRICT object.
|
|
599
|
+
matched_by: z.enum(TARGET_KEYS).optional(),
|
|
485
600
|
});
|
|
486
601
|
// ─── F5 + N5 (Glöckle HANDOFF-4/5) — render_preview ──────────────────
|
|
487
602
|
//
|
|
@@ -525,4 +640,225 @@ export const RENDER_PREVIEW_OUTPUT_SCHEMA = z.object({
|
|
|
525
640
|
matched: z.boolean().optional(),
|
|
526
641
|
snippet: z.string().nullable().optional(),
|
|
527
642
|
});
|
|
643
|
+
// ─── Task 6 (pages_audit design, 2026-07-19) — shared FINDING/QUICK_CHECK ──
|
|
644
|
+
//
|
|
645
|
+
// Defined ONCE here — referenced by `pages_audit`'s own output schema AND
|
|
646
|
+
// (Task 8) `page_publish` / `page_save`'s additive `quick_check` block, so
|
|
647
|
+
// the finding shape has exactly one source of truth across all three
|
|
648
|
+
// surfaces (design §5-§7). Mirrors the PHP wire shape verbatim
|
|
649
|
+
// (`PageAuditService::audit()` / `AuditCheck`'s partial-finding contract).
|
|
650
|
+
/**
|
|
651
|
+
* The human-locatable address of ONE audit hit (B-3/B-5) — mirrors the PHP
|
|
652
|
+
* `FindingLocator::toArray()` wire shape. `path` stays the machine write
|
|
653
|
+
* address; `breadcrumb`/`element_type`/`element_name` are what a HUMAN needs
|
|
654
|
+
* to find the element in the customizer. Per the PHP null-key policy the
|
|
655
|
+
* optional members are OMITTED rather than sent as null.
|
|
656
|
+
*
|
|
657
|
+
* FAIL-SOFT BY CONSTRUCTION. `pages[]` rows used to ride through
|
|
658
|
+
* `.catchall(z.unknown())` untyped; now that `locators` is a typed array, a
|
|
659
|
+
* mismatch is no longer stripped — the MCP SDK THROWS `McpError`
|
|
660
|
+
* (InvalidParams) on an outputSchema violation, which fails the WHOLE audit
|
|
661
|
+
* call. So the optional members are `.nullish()` (an explicit `null` from a
|
|
662
|
+
* host that does not honour the omit-nulls policy must not be fatal) and the
|
|
663
|
+
* object carries a `.catchall`, so a field a future host version adds can
|
|
664
|
+
* never hard-fail an otherwise perfectly good audit.
|
|
665
|
+
*
|
|
666
|
+
* `repeat` is the one deliberately STRICT member: PHP emits it clamped to
|
|
667
|
+
* `>= 1` (`repeat: 0` is meaningless — a hit that renders zero times is not a
|
|
668
|
+
* hit), so `min(1)` states the real contract rather than tolerating a value
|
|
669
|
+
* that could only mean a producer bug.
|
|
670
|
+
*/
|
|
671
|
+
export const FINDING_LOCATOR = z
|
|
672
|
+
.object({
|
|
673
|
+
path: z.string(),
|
|
674
|
+
breadcrumb: z.string(),
|
|
675
|
+
element_type: z.string(),
|
|
676
|
+
element_name: z.string().nullish(),
|
|
677
|
+
heading_source: z.string().nullish(),
|
|
678
|
+
content_snippet: z.string().nullish(),
|
|
679
|
+
repeat: z.number().int().min(1),
|
|
680
|
+
prop: z.string().nullish(),
|
|
681
|
+
name: z.string().nullish(),
|
|
682
|
+
})
|
|
683
|
+
.catchall(z.unknown());
|
|
684
|
+
/**
|
|
685
|
+
* One audit finding. `pages` carries per-page mini-evidence whose KEYS vary
|
|
686
|
+
* by check code (`first_headline_path`, `alt_paths`, `cluster_id`,
|
|
687
|
+
* `iterated`, `disabled_elements`, `elements_content`, ...) — `.catchall`
|
|
688
|
+
* keeps every row's base `{id, label}` typed while tolerating the
|
|
689
|
+
* check-specific extras without a per-code union.
|
|
690
|
+
*
|
|
691
|
+
* The ADDITIVE B-3/B-5 keys (`locators`, `hits_truncated`,
|
|
692
|
+
* `locators_stripped`, `builder_url`) are declared EXPLICITLY for
|
|
693
|
+
* self-documentation — the `.catchall` already tolerated them, but a named
|
|
694
|
+
* member states the contract. All stay `.optional()`: a host plugin predating
|
|
695
|
+
* B-3 emits none of them.
|
|
696
|
+
*
|
|
697
|
+
* `hits_truncated` and `locators_stripped` mean DIFFERENT things and are never
|
|
698
|
+
* interchangeable: the former says the upstream `hit_cap` dropped hits (so the
|
|
699
|
+
* raw `paths`/`alt_paths`/`skips`/`dead_anchors` arrays are incomplete), the
|
|
700
|
+
* latter says the transport's shrink-to-fit shed locator PROSE while leaving
|
|
701
|
+
* those arrays complete.
|
|
702
|
+
*
|
|
703
|
+
* FORWARD-COMPAT `.catchall`, for the same reason `FINDING_LOCATOR` carries one:
|
|
704
|
+
* the handler forwards each finding VERBATIM, and a strict object generates
|
|
705
|
+
* `additionalProperties:false`, so ONE additive field on the PHP side (an
|
|
706
|
+
* explicit hit total, a new evidence key) would make a strict host -32602-reject
|
|
707
|
+
* an otherwise perfect audit. Every declared member is still validated; only
|
|
708
|
+
* UNDECLARED ones ride through untyped.
|
|
709
|
+
*/
|
|
710
|
+
export const FINDING = z.object({
|
|
711
|
+
code: z.string(),
|
|
712
|
+
category: z.enum(['seo', 'structure', 'content', 'links']),
|
|
713
|
+
severity: z.enum(['critical', 'warning', 'info']),
|
|
714
|
+
title: z.string(),
|
|
715
|
+
count: z.number().int().nonnegative(),
|
|
716
|
+
pages: z.array(z
|
|
717
|
+
.object({
|
|
718
|
+
id: z.string(),
|
|
719
|
+
label: z.string(),
|
|
720
|
+
locators: z.array(FINDING_LOCATOR).optional(),
|
|
721
|
+
// NAME-2: `count` is ambiguous ACROSS levels on this wire — it
|
|
722
|
+
// means PAGES on the finding and HITS on a page entry. The host
|
|
723
|
+
// therefore emits an unambiguous `hits` alias next to a page
|
|
724
|
+
// entry's `count` whenever that count really is a hit tally.
|
|
725
|
+
// Declared (not merely tolerated via `.catchall`) so the field
|
|
726
|
+
// is part of the contract and `hitCountOf` may prefer it.
|
|
727
|
+
hits: z.number().int().nonnegative().optional(),
|
|
728
|
+
hits_truncated: z.boolean().optional(),
|
|
729
|
+
locators_stripped: z.boolean().optional(),
|
|
730
|
+
builder_url: z.string().nullable().optional(),
|
|
731
|
+
})
|
|
732
|
+
.catchall(z.unknown())),
|
|
733
|
+
pages_truncated: z.boolean(),
|
|
734
|
+
// Machine-executable remediation (design §5): absent for findings with
|
|
735
|
+
// NO safe auto-fix (duplicate-layout, title-collision — human decision).
|
|
736
|
+
fix_hint: z
|
|
737
|
+
.object({
|
|
738
|
+
tool: z.string(),
|
|
739
|
+
args_template: z.record(z.string(), z.unknown()),
|
|
740
|
+
note: z.string(),
|
|
741
|
+
})
|
|
742
|
+
.optional(),
|
|
743
|
+
}).catchall(z.unknown());
|
|
744
|
+
/**
|
|
745
|
+
* The advisory block `page_publish` (default on) / `page_save`
|
|
746
|
+
* (opt-in via `quick_check:true`) attach (Task 8). Design §7: `{clean:true}`
|
|
747
|
+
* on zero findings, else `{findings, note}` pointing at `pages_audit` for
|
|
748
|
+
* the site-wide (scope==='site') checks this per-page pass does not run.
|
|
749
|
+
*/
|
|
750
|
+
export const QUICK_CHECK = z.object({
|
|
751
|
+
clean: z.boolean().optional(),
|
|
752
|
+
findings: z.array(FINDING).optional(),
|
|
753
|
+
note: z.string().optional(),
|
|
754
|
+
});
|
|
755
|
+
/**
|
|
756
|
+
* Input shape for `yootheme_builder_pages_audit` (design §5). `site_id` is
|
|
757
|
+
* spread in separately by `builders.ts` (mirrors PAGES_RESOLVE_INPUT).
|
|
758
|
+
*/
|
|
759
|
+
export const PAGES_AUDIT_INPUT = {
|
|
760
|
+
// A-6: scope the whole sweep to ONE page. Omit for the site-wide default.
|
|
761
|
+
// Site-wide checks that compare pages against EACH OTHER (duplicate-layout,
|
|
762
|
+
// title-collision) cannot run on a single page and self-filter out; the
|
|
763
|
+
// response says so in its `note`.
|
|
764
|
+
target: PAGES_TARGET.optional().describe('Audit ONE page instead of the whole site — by template_id, post_id, url, a ' +
|
|
765
|
+
'semantic special ("home", "blog", "404", "search", "category", "tag", ' +
|
|
766
|
+
'"author", "archive") or a title substring. The response then carries ' +
|
|
767
|
+
'scope:"single" + resolved_target (which page was actually audited) and ' +
|
|
768
|
+
'per-hit locators. Cannot be combined with `types`.'),
|
|
769
|
+
types: z
|
|
770
|
+
.array(z.string().min(1))
|
|
771
|
+
.optional()
|
|
772
|
+
.describe('Filter the sweep to specific template types (e.g. ["page","article"] — the ' +
|
|
773
|
+
'same `type` values yootheme_builder_pages_list rows carry). Default: every ' +
|
|
774
|
+
'scanned template/page is included.'),
|
|
775
|
+
checks: z
|
|
776
|
+
.array(z.enum(['seo', 'structure', 'content', 'links']))
|
|
777
|
+
.optional()
|
|
778
|
+
.describe('Run only these check categories (default: all four). "seo" = title-collision, ' +
|
|
779
|
+
'non-pretty-url, stale-content. "structure" = empty-page, missing-h1, ' +
|
|
780
|
+
'multiple-h1, no-headings, heading-skip, long-heading. "content" = ' +
|
|
781
|
+
'images-missing-alt, generic-alt-text, thin-content, duplicate-layout. ' +
|
|
782
|
+
'"links" = dead-anchor, anchor-text-quality.'),
|
|
783
|
+
thin_content_threshold: z
|
|
784
|
+
.number()
|
|
785
|
+
.int()
|
|
786
|
+
.positive()
|
|
787
|
+
.optional()
|
|
788
|
+
.describe('CONTENT-element count (headline/text/image/... — excludes section/row/column/' +
|
|
789
|
+
'fragment wrappers) below which a page is flagged `thin-content`. Default: 8.'),
|
|
790
|
+
stale_after_months: z
|
|
791
|
+
.number()
|
|
792
|
+
.int()
|
|
793
|
+
.positive()
|
|
794
|
+
.optional()
|
|
795
|
+
.describe('Months since a page\'s `modified_at` after which it is flagged `stale-content`. ' +
|
|
796
|
+
'Pages with an empty modified_at are never flagged. Default: 24.'),
|
|
797
|
+
// PERF-4 / PROD-2: on THIS tool `max_chars` bounds BOTH legs — the shared
|
|
798
|
+
// describe's "structuredContent stays complete" is true everywhere else,
|
|
799
|
+
// but an audit's structured leg was measured at 349 KB (~89k tokens) for a
|
|
800
|
+
// site sweep, so it carries its own default ceiling
|
|
801
|
+
// ({@see STRUCTURED_BUDGET_CHARS}) that this argument raises or lowers.
|
|
802
|
+
max_chars: MAX_CHARS.describe('Optional cap (chars) on this result. Bounds BOTH the text leg and the ' +
|
|
803
|
+
'structuredContent payload (default: 48000 chars for structuredContent). ' +
|
|
804
|
+
'When the structured leg has to shrink, locator detail is shed before ' +
|
|
805
|
+
'evidence pages and the response carries structured_truncated:true. Raise ' +
|
|
806
|
+
'it for a complete pathological page, lower it on a tight context budget.'),
|
|
807
|
+
};
|
|
808
|
+
/**
|
|
809
|
+
* Wire shape for `yootheme_builder_pages_audit` (design §5). `scanned.by_type`
|
|
810
|
+
* is a `Record<string, number>` — the PHP side already normalizes an empty
|
|
811
|
+
* sweep to `(object) []` (`{}` over the wire), matching this schema without
|
|
812
|
+
* the array-vs-object workaround `template_summary` needed (Task #46).
|
|
813
|
+
*/
|
|
814
|
+
export const PAGES_AUDIT_OUTPUT_SCHEMA = z.object({
|
|
815
|
+
etag: z.string(),
|
|
816
|
+
// B-5 — the three single-target keys. `.optional()` is LOAD-BEARING, not
|
|
817
|
+
// decoration: this is a strict object, and both a site sweep and every
|
|
818
|
+
// host predating single-target mode omit all three, so a non-optional
|
|
819
|
+
// member would make every such (perfectly valid) response fail validation.
|
|
820
|
+
scope: z.string().optional(),
|
|
821
|
+
note: z.string().optional(),
|
|
822
|
+
// Every member of `PageQuery::descriptorFromRow()` /
|
|
823
|
+
// `augmentResolverDescriptor()` must be declared here — the audit handler
|
|
824
|
+
// forwards `resolved_target` VERBATIM, and this object generates
|
|
825
|
+
// `additionalProperties:false`, so an undeclared key makes a strict host
|
|
826
|
+
// -32602-reject a SUCCESSFUL call (W12-R2). All eight are `.optional()`
|
|
827
|
+
// because a host predating single-target mode sends none of them.
|
|
828
|
+
resolved_target: z
|
|
829
|
+
.object({
|
|
830
|
+
template_id: z.string().optional(),
|
|
831
|
+
post_id: z.union([z.number(), z.string()]).nullable().optional(),
|
|
832
|
+
type: z.string().optional(),
|
|
833
|
+
label: z.string().optional(),
|
|
834
|
+
frontend_url: z.string().nullable().optional(),
|
|
835
|
+
// The matched YT type/condition for a theme template
|
|
836
|
+
// (e.g. "taxonomy-category_faq"); null for a per-page layout.
|
|
837
|
+
context: z.string().nullable().optional(),
|
|
838
|
+
// `per_page` | `theme_template` — kept a plain string rather than an
|
|
839
|
+
// enum so a newer host's additional kind is forwarded, not rejected.
|
|
840
|
+
resolved_via: z.string().optional(),
|
|
841
|
+
matched_by: z.string().optional(),
|
|
842
|
+
})
|
|
843
|
+
.optional(),
|
|
844
|
+
scanned: z.object({
|
|
845
|
+
templates: z.number().int().nonnegative(),
|
|
846
|
+
by_type: z.record(z.string(), z.number().int().nonnegative()),
|
|
847
|
+
}),
|
|
848
|
+
summary: z.object({
|
|
849
|
+
critical: z.number().int().nonnegative(),
|
|
850
|
+
warning: z.number().int().nonnegative(),
|
|
851
|
+
info: z.number().int().nonnegative(),
|
|
852
|
+
}),
|
|
853
|
+
findings: z.array(FINDING),
|
|
854
|
+
disclaimer: z.string(),
|
|
855
|
+
// PERF-4 / PROD-2 — set by the TS handler (never by a host) when the shed
|
|
856
|
+
// ladder had to run to bring `structuredContent` under its char budget.
|
|
857
|
+
// Its PRESENCE is the whole signal: a complete payload omits the key
|
|
858
|
+
// entirely, so a reader can never mistake a shrunk audit for a full one.
|
|
859
|
+
// Which entries lost what is flagged in place — `locators_stripped` on the
|
|
860
|
+
// page rows whose locator prose went, `pages_truncated` on the findings
|
|
861
|
+
// whose evidence pages were capped or dropped.
|
|
862
|
+
structured_truncated: z.boolean().optional(),
|
|
863
|
+
});
|
|
528
864
|
//# sourceMappingURL=schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/tools/pages/schemas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/tools/pages/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `pages/target` — the shared SEMANTIC-TARGET wire helper (Task A-6 of the
|
|
3
|
+
* single-page-audit plan, 2026-07-22-02).
|
|
4
|
+
*
|
|
5
|
+
* `pages_audit` and `pages_resolve` both accept the same `target` object —
|
|
6
|
+
* exactly ONE of `template_id` | `post_id` | `url` | `special` | `title` — and
|
|
7
|
+
* both must put it on the wire in the ONE encoding the PHP side parses:
|
|
8
|
+
* BRACKET query params (`target[special]=home`). WordPress
|
|
9
|
+
* (`WP_REST_Request['target']`) and Joomla (`Input::get`) both inflate
|
|
10
|
+
* `target%5Bspecial%5D=home` into a nested array natively, and the native
|
|
11
|
+
* transports receive the structured object as-is — one name, byte-identical
|
|
12
|
+
* parity across all three transports.
|
|
13
|
+
*
|
|
14
|
+
* TWO rules are encoded here rather than in the Zod schema, deliberately:
|
|
15
|
+
*
|
|
16
|
+
* 1. NORMALIZATION mirrors PHP `PageQuery::normalizeTarget()` verbatim —
|
|
17
|
+
* non-scalar and blank members are DROPPED, so `{special: ''}` is "no
|
|
18
|
+
* target", not "an empty special". Without this the two sides disagree
|
|
19
|
+
* about how many targets were supplied.
|
|
20
|
+
* 2. EXACTLY-ONE-OF is validated in the HANDLER, never as a zod `.refine`.
|
|
21
|
+
* This is the F205 lesson (`gateway/advanced-read-tool.ts`): an
|
|
22
|
+
* SDK-level schema rejection surfaces as a raw `-32602` and bypasses
|
|
23
|
+
* every piece of typed steering the tool provides. A typed
|
|
24
|
+
* `too_many_targets` result keeps the agent in the loop.
|
|
25
|
+
*
|
|
26
|
+
* @license MIT
|
|
27
|
+
*/
|
|
28
|
+
import { type ToolResult } from '../tool-builder.js';
|
|
29
|
+
import { TARGET_KEYS } from './schemas.js';
|
|
30
|
+
export type TargetKey = (typeof TARGET_KEYS)[number];
|
|
31
|
+
/**
|
|
32
|
+
* The permissive `target` argument as the Zod input schema hands it over —
|
|
33
|
+
* every member optional (the exactly-one-of contract is a HANDLER rule, see
|
|
34
|
+
* the file docblock).
|
|
35
|
+
*/
|
|
36
|
+
export interface PagesTarget {
|
|
37
|
+
readonly template_id?: string;
|
|
38
|
+
readonly post_id?: number | string;
|
|
39
|
+
readonly url?: string;
|
|
40
|
+
readonly special?: string;
|
|
41
|
+
readonly title?: string;
|
|
42
|
+
}
|
|
43
|
+
/** A target reduced to its non-blank, scalar members (PHP-parity shape). */
|
|
44
|
+
export type NormalizedTarget = Partial<Record<TargetKey, string>>;
|
|
45
|
+
/**
|
|
46
|
+
* Drop non-scalar / blank members and stringify the rest — the TS mirror of
|
|
47
|
+
* PHP `PageQuery::normalizeTarget()`. An absent target and an all-blank target
|
|
48
|
+
* both normalize to `{}`, which every caller reads as "no target ⇒ site sweep".
|
|
49
|
+
*/
|
|
50
|
+
export declare function normalizeTarget(target: PagesTarget | undefined): NormalizedTarget;
|
|
51
|
+
/** The keys actually supplied, in canonical order (0 = no target). */
|
|
52
|
+
export declare function targetKeysOf(target: NormalizedTarget): TargetKey[];
|
|
53
|
+
/**
|
|
54
|
+
* BUG-4 — the typed "you SENT a target, but none of it survived normalisation"
|
|
55
|
+
* failure, or `null` when there is nothing to complain about. The TS half of
|
|
56
|
+
* PHP `PageQuery::malformedTargetError()`, with the SAME predicate, the SAME
|
|
57
|
+
* code and the SAME status, so the rule reads identically wherever it fires.
|
|
58
|
+
*
|
|
59
|
+
* {@see normalizeTarget} deliberately DROPS blank and non-scalar members, so
|
|
60
|
+
* `{special: ''}`, `{title: ' '}` and `{post_id: null}` all normalise to
|
|
61
|
+
* `{}`. Every caller reads `{}` as "no target ⇒ site sweep" — which for
|
|
62
|
+
* `pages_audit` meant answering a plainly single-page request with a 200 over
|
|
63
|
+
* the WHOLE SITE, carrying no scope marker and no error. The version-skew guard
|
|
64
|
+
* could not catch it either: that guard is itself gated on `hasTarget`, which
|
|
65
|
+
* this input makes false. An agent templating `target: { title: pageName }`
|
|
66
|
+
* where `pageName` resolved to `''` got the whole site back and presented it as
|
|
67
|
+
* the audit of the page it meant — the exact wrong-findings-wrong-page class
|
|
68
|
+
* `serverTooOldError` exists to prevent.
|
|
69
|
+
*
|
|
70
|
+
* An EMPTY OBJECT is NOT malformed: `target: {}` means "no target" by
|
|
71
|
+
* documented contract (PHP returns null for `$raw === []`, and a test pins it).
|
|
72
|
+
* Only a bag that HAS members, none of which is a usable address, is flagged.
|
|
73
|
+
*
|
|
74
|
+
* Kept next to `normalizeTarget` — the two belong together, and a per-handler
|
|
75
|
+
* copy is exactly the drift the shared front door exists to prevent.
|
|
76
|
+
*
|
|
77
|
+
* @param raw The caller's target bag, BEFORE normalisation.
|
|
78
|
+
* @param normalized The {@see normalizeTarget} result for that bag.
|
|
79
|
+
*/
|
|
80
|
+
export declare function malformedTargetError(raw: PagesTarget | undefined, normalized: NormalizedTarget, opts: {
|
|
81
|
+
context: Record<string, unknown>;
|
|
82
|
+
hint: string;
|
|
83
|
+
}): ToolResult | null;
|
|
84
|
+
/**
|
|
85
|
+
* Append the normalized target to a querystring as BRACKET params —
|
|
86
|
+
* `target[special]=home`. `URLSearchParams` percent-encodes the brackets
|
|
87
|
+
* (`target%5Bspecial%5D`); PHP url-decodes a parameter NAME before splitting
|
|
88
|
+
* it on `[`, so both CMSes inflate it into the nested array the controllers
|
|
89
|
+
* read.
|
|
90
|
+
*/
|
|
91
|
+
export declare function appendTargetParams(qs: URLSearchParams, target: NormalizedTarget): void;
|
|
92
|
+
/**
|
|
93
|
+
* Is this thrown value a TYPED target failure from the host's pages domain?
|
|
94
|
+
*
|
|
95
|
+
* Distinguishes a request-SHAPE answer (the address matched nothing / several
|
|
96
|
+
* things / an unsupported role) from a transport or capability failure. A WP
|
|
97
|
+
* `rest_no_route` 404 (the route does not exist — the plugin predates the
|
|
98
|
+
* feature) is deliberately NOT one of these: it carries WordPress's own code,
|
|
99
|
+
* not ours, so the "update the plugin" gate keeps firing for it.
|
|
100
|
+
*/
|
|
101
|
+
export declare function isTypedTargetError(e: unknown): boolean;
|
|
102
|
+
/**
|
|
103
|
+
* BUG-3 / MM-5 — the ONE recovery hint for a typed target failure, shared by
|
|
104
|
+
* `pages_resolve` and `pages_audit`.
|
|
105
|
+
*
|
|
106
|
+
* Hoisted here because the two tools answer the SAME error family and used to
|
|
107
|
+
* disagree: `pages_resolve` branched on `hasTarget` and said this, while
|
|
108
|
+
* `pages_audit` sent every typed failure into its generic catch — "Run
|
|
109
|
+
* yootheme_builder_diagnose to verify auth + that the host plugin is
|
|
110
|
+
* reachable". That points an agent at a connectivity problem when the fault is
|
|
111
|
+
* its own request shape (the failure mode `typesConflictsWithTargetError`'s
|
|
112
|
+
* docblock was written to prevent), costs a round-trip on a diagnose that comes
|
|
113
|
+
* back green, and leaves no steer toward the actual fix.
|
|
114
|
+
*/
|
|
115
|
+
export declare const TARGET_FAILURE_HINT: string;
|
|
116
|
+
/**
|
|
117
|
+
* The typed "you addressed more than one page" failure (F205: a handler
|
|
118
|
+
* error, never a schema rejection). Shared so `pages_audit` and
|
|
119
|
+
* `pages_resolve` fail with the SAME code and the same steer.
|
|
120
|
+
*
|
|
121
|
+
* `status: 400` is the status the PHP controllers return for the identical
|
|
122
|
+
* clash, so a caller that keys on status sees one contract whether the check
|
|
123
|
+
* fired locally or upstream.
|
|
124
|
+
*/
|
|
125
|
+
export declare function tooManyTargetsError(opts: {
|
|
126
|
+
supplied: readonly string[];
|
|
127
|
+
context: Record<string, unknown>;
|
|
128
|
+
}): ToolResult;
|
|
129
|
+
/**
|
|
130
|
+
* The typed "a single-target audit cannot also filter by `types`" failure
|
|
131
|
+
* (Key decision 11 — fail-explicit, never a silent winner).
|
|
132
|
+
*
|
|
133
|
+
* PHP `PageAuditService::audit()` refuses the same clash, so without a local
|
|
134
|
+
* pre-check the request went out, came back 400, and landed in the caller's
|
|
135
|
+
* GENERIC catch — whose hint reads "Run yootheme_builder_diagnose to verify
|
|
136
|
+
* auth + that the host plugin is reachable". That points an agent at a
|
|
137
|
+
* connectivity problem when the fault is its own request shape, and burns a
|
|
138
|
+
* round-trip to do it. Code and status mirror the PHP side exactly so a caller
|
|
139
|
+
* sees ONE contract wherever the check fired.
|
|
140
|
+
*/
|
|
141
|
+
export declare function typesConflictsWithTargetError(opts: {
|
|
142
|
+
context: Record<string, unknown>;
|
|
143
|
+
}): ToolResult;
|
|
144
|
+
/**
|
|
145
|
+
* The typed "this host predates single-target addressing" failure.
|
|
146
|
+
*
|
|
147
|
+
* The 404 capability gate does NOT cover this case: a host plugin that
|
|
148
|
+
* predates the feature IGNORES the unknown `target` query params and answers
|
|
149
|
+
* HTTP 200 with a FULL SITE SWEEP. Handing that back would report whole-site
|
|
150
|
+
* findings as "the audit of your homepage" — wrong findings attributed to the
|
|
151
|
+
* wrong page. So the caller REQUIRES positive proof of scoping and routes
|
|
152
|
+
* everything else here.
|
|
153
|
+
*
|
|
154
|
+
* `status: 426` (Upgrade Required) is SYNTHETIC — the transport call itself
|
|
155
|
+
* succeeded; the status names what has to happen, mirroring how the 404 gate
|
|
156
|
+
* turns a route-absent response into an update-the-plugin steer.
|
|
157
|
+
*/
|
|
158
|
+
export declare function serverTooOldError(opts: {
|
|
159
|
+
message: string;
|
|
160
|
+
context: Record<string, unknown>;
|
|
161
|
+
}): ToolResult;
|
|
162
|
+
//# sourceMappingURL=target.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target.d.ts","sourceRoot":"","sources":["../../../src/tools/pages/target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,4EAA4E;AAC5E,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAElE;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,gBAAgB,CAWjF;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,EAAE,CAElE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,oBAAoB,CAChC,GAAG,EAAE,WAAW,GAAG,SAAS,EAC5B,UAAU,EAAE,gBAAgB,EAC5B,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzD,UAAU,GAAG,IAAI,CAoBnB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAKtF;AAkBD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAEtD;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,QAGuC,CAAC;AAExE;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACtC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,UAAU,CAgBb;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAChD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,UAAU,CAeb;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,UAAU,CAcb"}
|