@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.
Files changed (111) hide show
  1. package/README.md +19 -10
  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 +14 -11
  13. package/dist/server.d.ts.map +1 -1
  14. package/dist/server.js +14 -11
  15. package/dist/server.js.map +1 -1
  16. package/dist/sites/tools/sites-list.d.ts.map +1 -1
  17. package/dist/sites/tools/sites-list.js +22 -2
  18. package/dist/sites/tools/sites-list.js.map +1 -1
  19. package/dist/tools/elements/builders.d.ts.map +1 -1
  20. package/dist/tools/elements/builders.js +69 -31
  21. package/dist/tools/elements/builders.js.map +1 -1
  22. package/dist/tools/elements/handlers-write.d.ts +2 -0
  23. package/dist/tools/elements/handlers-write.d.ts.map +1 -1
  24. package/dist/tools/elements/handlers-write.js +132 -9
  25. package/dist/tools/elements/handlers-write.js.map +1 -1
  26. package/dist/tools/elements/handlers.d.ts +7 -4
  27. package/dist/tools/elements/handlers.d.ts.map +1 -1
  28. package/dist/tools/elements/handlers.js +49 -8
  29. package/dist/tools/elements/handlers.js.map +1 -1
  30. package/dist/tools/elements/schema-validation.d.ts +18 -0
  31. package/dist/tools/elements/schema-validation.d.ts.map +1 -1
  32. package/dist/tools/elements/schema-validation.js +49 -5
  33. package/dist/tools/elements/schema-validation.js.map +1 -1
  34. package/dist/tools/format/sources-format.d.ts +12 -5
  35. package/dist/tools/format/sources-format.d.ts.map +1 -1
  36. package/dist/tools/format/sources-format.js +31 -6
  37. package/dist/tools/format/sources-format.js.map +1 -1
  38. package/dist/tools/health.d.ts.map +1 -1
  39. package/dist/tools/health.js +18 -5
  40. package/dist/tools/health.js.map +1 -1
  41. package/dist/tools/inspection.d.ts.map +1 -1
  42. package/dist/tools/inspection.js +81 -12
  43. package/dist/tools/inspection.js.map +1 -1
  44. package/dist/tools/layout-flatten.d.ts +7 -1
  45. package/dist/tools/layout-flatten.d.ts.map +1 -1
  46. package/dist/tools/layout-flatten.js +24 -13
  47. package/dist/tools/layout-flatten.js.map +1 -1
  48. package/dist/tools/library.d.ts +23 -0
  49. package/dist/tools/library.d.ts.map +1 -1
  50. package/dist/tools/library.js +213 -15
  51. package/dist/tools/library.js.map +1 -1
  52. package/dist/tools/local-content/builders.js +11 -11
  53. package/dist/tools/local-content/builders.js.map +1 -1
  54. package/dist/tools/local-content/handlers.d.ts.map +1 -1
  55. package/dist/tools/local-content/handlers.js +34 -5
  56. package/dist/tools/local-content/handlers.js.map +1 -1
  57. package/dist/tools/local-content/schemas.d.ts +9 -4
  58. package/dist/tools/local-content/schemas.d.ts.map +1 -1
  59. package/dist/tools/local-content/schemas.js +14 -6
  60. package/dist/tools/local-content/schemas.js.map +1 -1
  61. package/dist/tools/multi-items/builders.d.ts.map +1 -1
  62. package/dist/tools/multi-items/builders.js +11 -8
  63. package/dist/tools/multi-items/builders.js.map +1 -1
  64. package/dist/tools/pages/builders.d.ts.map +1 -1
  65. package/dist/tools/pages/builders.js +122 -46
  66. package/dist/tools/pages/builders.js.map +1 -1
  67. package/dist/tools/pages/handlers-audit.d.ts +129 -0
  68. package/dist/tools/pages/handlers-audit.d.ts.map +1 -0
  69. package/dist/tools/pages/handlers-audit.js +704 -0
  70. package/dist/tools/pages/handlers-audit.js.map +1 -0
  71. package/dist/tools/pages/handlers-read.d.ts +8 -3
  72. package/dist/tools/pages/handlers-read.d.ts.map +1 -1
  73. package/dist/tools/pages/handlers-read.js +172 -25
  74. package/dist/tools/pages/handlers-read.js.map +1 -1
  75. package/dist/tools/pages/handlers-write.d.ts +17 -3
  76. package/dist/tools/pages/handlers-write.d.ts.map +1 -1
  77. package/dist/tools/pages/handlers-write.js +79 -26
  78. package/dist/tools/pages/handlers-write.js.map +1 -1
  79. package/dist/tools/pages/index.d.ts +5 -1
  80. package/dist/tools/pages/index.d.ts.map +1 -1
  81. package/dist/tools/pages/index.js +5 -1
  82. package/dist/tools/pages/index.js.map +1 -1
  83. package/dist/tools/pages/schemas.d.ts +319 -1
  84. package/dist/tools/pages/schemas.d.ts.map +1 -1
  85. package/dist/tools/pages/schemas.js +340 -4
  86. package/dist/tools/pages/schemas.js.map +1 -1
  87. package/dist/tools/pages/target.d.ts +162 -0
  88. package/dist/tools/pages/target.d.ts.map +1 -0
  89. package/dist/tools/pages/target.js +239 -0
  90. package/dist/tools/pages/target.js.map +1 -0
  91. package/dist/tools/shared-schemas.d.ts +22 -0
  92. package/dist/tools/shared-schemas.d.ts.map +1 -1
  93. package/dist/tools/shared-schemas.js +22 -0
  94. package/dist/tools/shared-schemas.js.map +1 -1
  95. package/dist/tools/sources/builders.d.ts.map +1 -1
  96. package/dist/tools/sources/builders.js +46 -28
  97. package/dist/tools/sources/builders.js.map +1 -1
  98. package/dist/tools/sources/handlers-bind.d.ts +7 -8
  99. package/dist/tools/sources/handlers-bind.d.ts.map +1 -1
  100. package/dist/tools/sources/handlers-bind.js +106 -7
  101. package/dist/tools/sources/handlers-bind.js.map +1 -1
  102. package/dist/tools/sparse-fields.d.ts +12 -0
  103. package/dist/tools/sparse-fields.d.ts.map +1 -1
  104. package/dist/tools/sparse-fields.js +34 -2
  105. package/dist/tools/sparse-fields.js.map +1 -1
  106. package/dist/tools/tool-builder/results.d.ts.map +1 -1
  107. package/dist/tools/tool-builder/results.js +114 -0
  108. package/dist/tools/tool-builder/results.js.map +1 -1
  109. package/manifest.json +1 -1
  110. package/package.json +1 -1
  111. 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 published flow LIST source the one iterating column ' +
343
- 'query is rewritten to (e.g. "apiMapperFlowAbcList"). Provide THIS or ' +
344
- '`source_map` exactly one. Use yootheme_builder_sources_list to discover.'),
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":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,gEAAgE;IAChE,sEAAsE;IACtE,gEAAgE;IAChE,+DAA+D;IAC/D,wEAAwE;IACxE,sEAAsE;IACtE,yBAAyB;IACzB,kEAAkE;IAClE,uEAAuE;IACvE,4BAA4B;IAC5B,qEAAqE;IACrE,sEAAsE;IACtE,sDAAsD;IACtD,qEAAqE;IACrE,mEAAmE;IACnE,iEAAiE;IACjE,oEAAoE;IACpE,4DAA4D;IAC5D,EAAE;IACF,qEAAqE;IACrE,qEAAqE;IACrE,mEAAmE;IACnE,sEAAsE;IACtE,4DAA4D;IAC5D,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,iEAAiE;IACjE,qEAAqE;IACrE,oEAAoE;IACpE,iEAAiE;IACjE,2DAA2D;IAC3D,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC9C,sEAAsE;IACtE,oEAAoE;IACpE,uDAAuD;IACvD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,kEAAkE;IAClE,iEAAiE;IACjE,qEAAqE;IACrE,oEAAoE;IACpE,sDAAsD;IACtD,EAAE;IACF,mEAAmE;IACnE,2EAA2E;IAC3E,yEAAyE;IACzE,wEAAwE;IACxE,KAAK,EAAE,CAAC,CAAC,KAAK,CACV,CAAC;SACI,MAAM,CAAC;QACJ,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KACtC,CAAC;SACD,WAAW,EAAE,CACrB;IACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,oEAAoE;IACpE,kDAAkD;IAClD,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC9C,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAEH,qEAAqE;AACrE,kEAAkE;AAClE,oEAAoE;AACpE,sEAAsE;AACtE,wEAAwE;AACxE,qEAAqE;AACrE,qEAAqE;AACrE,uEAAuE;AACvE,yCAAyC;AACzC,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IACpE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACrC,cAAc,EAAE,CAAC,CAAC,KAAK,CACnB,CAAC,CAAC,MAAM,CAAC;QACL,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB,CAAC,CACL;IACD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,yEAAyE;AACzE,EAAE;AACF,wDAAwD;AACxD,4DAA4D;AAC5D,4DAA4D;AAC5D,EAAE;AACF,uEAAuE;AACvE,gEAAgE;AAEhE;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,KAAK,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,yDAAyD,CAAC;IACxE,IAAI,EAAE,CAAC;SACF,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6DAA6D,CAAC;IAC5E,MAAM,EAAE,CAAC;SACJ,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC1D,QAAQ,EAAE;SACV,QAAQ,CACL,0EAA0E;QACtE,0EAA0E;QAC1E,yEAAyE;QACzE,gCAAgC,CACvC;IACL,mEAAmE;IACnE,qEAAqE;IACrE,mEAAmE;IACnE,mEAAmE;IACnE,sEAAsE;IACtE,kEAAkE;IAClE,gEAAgE;IAChE,8BAA8B;IAC9B,SAAS,EAAE,CAAC;SACP,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACL,uEAAuE;QACnE,mEAAmE;QACnE,uEAAuE;QACvE,6DAA6D,CACpE;IACL,mEAAmE;IACnE,qEAAqE;IACrE,0DAA0D;IAC1D,qEAAqE;IACrE,4DAA4D;IAC5D,2DAA2D;IAC3D,uDAAuD;IACvD,SAAS,EAAE,CAAC;SACP,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;SAC/C,QAAQ,EAAE;SACV,QAAQ,CACL,8DAA8D;QAC1D,uDAAuD;QACvD,+DAA+D;QAC/D,+DAA+D,CACtE;IACL,MAAM,EAAE,CAAC;SACJ,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;SAC/B,QAAQ,EAAE;SACV,QAAQ,CACL,mEAAmE,CACtE;IACL,OAAO,EAAE,CAAC;SACL,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACL,6DAA6D,CAChE;IACL,wEAAwE;IACxE,6DAA6D;CAChE,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACtC,MAAM,CAAC;IACJ,qEAAqE;IACrE,wEAAwE;IACxE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,qEAAqE;IACrE,iEAAiE;IACjE,iEAAiE;IACjE,mEAAmE;IACnE,8DAA8D;IAC9D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,WAAW,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,CAAC,iFAAiF,CAAC;IAChG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,CAAC,kEAAkE,CAAC;CACpF,CAAC;KACD,MAAM,CACH,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,EACxE,EAAE,OAAO,EAAE,kEAAkE,EAAE,CAClF,CAAC;AAEN;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACxB,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,oGAAoG;QACpG,mBAAmB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAC;KAC1E,CAAC;IACF,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC;QACxB,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvC,qBAAqB,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC1C,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;KACxC,CAAC;IACF,0EAA0E;CAC7E,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,OAAO,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,CACL,4EAA4E;QACxE,kEAAkE,CACzE;IACL,OAAO,EAAE,CAAC;SACL,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACL,yDAAyD,CAC5D;IACL,KAAK,EAAE,CAAC;SACH,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACL,kFAAkF,CACrF;CACR,CAAC;AAEF,yEAAyE;AACzE,EAAE;AACF,yEAAyE;AACzE,4EAA4E;AAC5E,wEAAwE;AACxE,yEAAyE;AACzE,2EAA2E;AAC3E,oEAAoE;AAEpE;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC;IAChC,CAAC,CAAC,MAAM,EAAE;IACV,CAAC;SACI,MAAM,CAAC;QACJ,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QAC1E,OAAO,EAAE,CAAC;aACL,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/B,QAAQ,EAAE;aACV,QAAQ,CACL,0DAA0D;YACtD,mEAAmE;YACnE,yCAAyC,CAChD;KACR,CAAC;SACD,MAAM,EAAE;CAChB,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,WAAW,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACL,2DAA2D;QACvD,kFAAkF,CACzF;IACL,YAAY,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACL,+CAA+C;QAC3C,qEAAqE;QACrE,iFAAiF,CACxF;IACL,YAAY,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACL,yEAAyE;QACrE,+CAA+C,CACtD;IACL,gBAAgB,EAAE,CAAC;SACd,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACL,6EAA6E;QACzE,uEAAuE;QACvE,4EAA4E,CACnF;IACL,4EAA4E;IAC5E,uEAAuE;IACvE,2EAA2E;IAC3E,8DAA8D;IAC9D,UAAU,EAAE,CAAC;SACR,KAAK,CACF,CAAC;SACI,MAAM,CAAC;QACJ,KAAK,EAAE,CAAC;aACH,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CAAC,yEAAyE,CAAC;QACxF,WAAW,EAAE,CAAC;aACT,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CAAC,mFAAmF,CAAC;QAClG,QAAQ,EAAE,CAAC;aACN,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC;aACvC,QAAQ,EAAE;aACV,QAAQ,CAAC,2EAA2E,CAAC;KAC7F,CAAC;SACD,MAAM,EAAE,CAChB;SACA,QAAQ,EAAE;SACV,QAAQ,CACL,iFAAiF;QAC7E,6EAA6E;QAC7E,gEAAgE,CACvE;IACL,QAAQ,EAAE,CAAC;SACN,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC;SACvC,QAAQ,EAAE;SACV,QAAQ,CACL,wEAAwE;QACpE,kDAAkD;QAClD,4EAA4E;QAC5E,4EAA4E;QAC5E,4EAA4E;QAC5E,6EAA6E;QAC7E,8EAA8E;QAC9E,+EAA+E;QAC/E,gFAAgF;QAChF,mBAAmB,CAC1B;IACL,UAAU,EAAE,CAAC;SACR,MAAM,CACH,CAAC,CAAC,MAAM,EAAE,EACV,CAAC;SACI,MAAM,CAAC;QACJ,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QAC5E,OAAO,EAAE,CAAC;aACL,MAAM,CAAC;YACJ,SAAS,EAAE,CAAC;iBACP,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;iBACjB,QAAQ,CAAC,wEAAwE,CAAC;SAC1F,CAAC;aACD,QAAQ,CAAC,0BAA0B,CAAC;KAC5C,CAAC;SACD,MAAM,EAAE,CAChB;SACA,QAAQ,EAAE;SACV,QAAQ,CACL,uEAAuE;QACnE,oEAAoE,CAC3E;IACL,aAAa,EAAE,CAAC;SACX,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACxB,QAAQ,EAAE;SACV,QAAQ,CACL,kFAAkF;QAC9E,6EAA6E;QAC7E,sEAAsE,CAC7E;IACL,IAAI,EAAE,CAAC;SACF,MAAM,CAAC;QACJ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAC/D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACtE,SAAS,EAAE,CAAC;aACP,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,yEAAyE,CAAC;QACxF,MAAM,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;aAC1D,QAAQ,EAAE;aACV,QAAQ,CAAC,wDAAwD,CAAC;QACvE,SAAS,EAAE,CAAC;aACP,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;aAC/C,QAAQ,EAAE;aACV,QAAQ,CAAC,6EAA6E,CAAC;KAC/F,CAAC;SACD,QAAQ,CAAC,mFAAmF,CAAC;IAClG,IAAI,EAAE,CAAC;SACF,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACL,gFAAgF;QAC5E,uDAAuD,CAC9D;CACR,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACtC,MAAM,CAAC;IACJ,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACxB,+EAA+E;IAC/E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClD,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,sEAAsE;IACtE,uEAAuE;IACvE,8DAA8D;IAC9D,8DAA8D;IAC9D,qEAAqE;IACrE,iEAAiE;IACjE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAChD,CAAC;KACD,MAAM,CACH,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,EACxE,EAAE,OAAO,EAAE,kEAAkE,EAAE,CAClF,CAAC;AAEN,uEAAuE;AAEvE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,GAAG,EAAE,CAAC;SACD,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACL,kDAAkD;QAC9C,+DAA+D;QAC/D,yEAAyE,CAChF;CACC,CAAC;AAEX,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,wEAAwE;IACxE,sEAAsE;IACtE,kEAAkE;IAClE,8DAA8D;IAC9D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,yEAAyE;IACzE,4EAA4E;IAC5E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,mEAAmE;IACnE,kCAAkC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,qEAAqE;IACrE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,2DAA2D;IAC3D,2EAA2E;IAC3E,mBAAmB;IACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,4EAA4E;IAC5E,8DAA8D;IAC9D,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;CACvD,CAAC,CAAC;AAEH,wEAAwE;AACxE,EAAE;AACF,mEAAmE;AACnE,8EAA8E;AAC9E,2EAA2E;AAC3E,gEAAgE;AAEhE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC1C,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;IAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,0EAA0E;IAC1E,4EAA4E;IAC5E,4EAA4E;IAC5E,8EAA8E;IAC9E,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC"}
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"}