@farming-labs/docs 0.2.83 → 0.2.85

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 (37) hide show
  1. package/dist/{agent-WS4GXGh6.d.mts → agent-2MWvWpJf.d.mts} +18 -3
  2. package/dist/{agent-Dze2Cy5B.mjs → agent-CTOUI2BK.mjs} +338 -296
  3. package/dist/{agent-Biyd8A98.mjs → agent-FyPQ2AZ4.mjs} +2 -2
  4. package/dist/{agent-evals-Burrzyam.mjs → agent-evals-DCptRrdP.mjs} +2 -2
  5. package/dist/{agent-export-whKAZQUI.mjs → agent-export-Di1Ofstb.mjs} +41 -25
  6. package/dist/agent-skills-bundle.d.mts +1 -1
  7. package/dist/{agent-skills-server-D5qYU19g.mjs → agent-skills-server-CwmzAzf_.mjs} +1 -1
  8. package/dist/{agent-skills-server-q4B9kRGg.d.mts → agent-skills-server-DNtmvTkv.d.mts} +2 -2
  9. package/dist/agent-skills-vite.d.mts +3 -3
  10. package/dist/agent-skills-vite.mjs +2 -2
  11. package/dist/{agents-B_980VCs.mjs → agents-DjUz5voa.mjs} +6 -6
  12. package/dist/cli/index.mjs +14 -14
  13. package/dist/client/react.d.mts +1 -1
  14. package/dist/{cloud-ask-ai-BQAeHkpZ.d.mts → cloud-ask-ai-Bx-qtqHL.d.mts} +1 -1
  15. package/dist/{content-change-hydration-DpQ0KdAD.mjs → content-change-hydration-DLBinuFR.mjs} +2 -1
  16. package/dist/docs-cloud-server.d.mts +2 -2
  17. package/dist/{doctor-WjuyRWYT.mjs → doctor-BPx6iAzQ.mjs} +10 -10
  18. package/dist/{golden-evaluations-B2GHnoFa.mjs → golden-evaluations-CQuiglEv.mjs} +8 -2
  19. package/dist/index.d.mts +29 -5
  20. package/dist/index.mjs +6 -6
  21. package/dist/{mcp-bhIsgqxy.mjs → mcp-lSrFDtwr.mjs} +6 -6
  22. package/dist/mcp.d.mts +3 -3
  23. package/dist/mcp.mjs +96 -6
  24. package/dist/{prompt-references-embiJdYt.mjs → prompt-references-B6gxePm8.mjs} +3 -3
  25. package/dist/{retrieval-digest-DRRHA1B3.d.mts → retrieval-digest-CfNbL70a.d.mts} +10 -7
  26. package/dist/{review-2e4TXoGS.mjs → review-CG2UApoQ.mjs} +6 -6
  27. package/dist/{robots-BIySk2gE.mjs → robots-BsOTGWiY.mjs} +3 -3
  28. package/dist/{robots-D96X6eVX.mjs → robots-DaU38DZw.mjs} +2 -2
  29. package/dist/{search-DfB3LQ4s.mjs → search-DEz_28y1.mjs} +6 -6
  30. package/dist/server.d.mts +6 -6
  31. package/dist/server.mjs +6 -6
  32. package/dist/{sitemap-server-BefXEox6.mjs → sitemap-server-Ds5z4WQB.mjs} +1 -1
  33. package/dist/{sitemap-AcwP8jIo.mjs → sitemap-vQbO76Vo.mjs} +6 -6
  34. package/dist/{standards-discovery-BKlEnK_H.mjs → standards-discovery-Ckx0tN7B.mjs} +342 -41
  35. package/dist/{standards-discovery-DPUEcUmb.d.mts → standards-discovery-CthpcXx2.d.mts} +5 -2
  36. package/dist/{types-lGEHcx_6.d.mts → types-DQl2dvDl.d.mts} +66 -1
  37. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
- import { B as findDocsMarkdownPage, at as renderDocsMarkdownDocument } from "./agent-Dze2Cy5B.mjs";
1
+ import { B as findDocsMarkdownPage, at as renderDocsMarkdownDocument } from "./agent-CTOUI2BK.mjs";
2
2
  import { v as normalizePageAgentFrontmatter, x as stripGeneratedPageAgentContractMarkdown } from "./markdown-sections-7OoA7ylx.mjs";
3
- import { c as hashGeneratedAgentContent, d as serializeGeneratedAgentDocument, s as GENERATED_AGENT_PROVENANCE_VERSION, u as parseGeneratedAgentDocument } from "./content-change-hydration-DpQ0KdAD.mjs";
3
+ import { c as hashGeneratedAgentContent, d as serializeGeneratedAgentDocument, s as GENERATED_AGENT_PROVENANCE_VERSION, u as parseGeneratedAgentDocument } from "./content-change-hydration-DLBinuFR.mjs";
4
4
  import { createFilesystemDocsMcpSource } from "./mcp.mjs";
5
5
  import { _ as resolveDocsContentDir, a as loadDocsConfigModule, c as loadProjectEnv, d as readNavTitle, f as readNumberProperty, g as resolveDocsConfigPath, h as readTopLevelStringProperty, l as readBooleanProperty, p as readStringProperty, t as extractNestedObjectLiteral, u as readEnvReferenceProperty } from "./config-Wcdj-D0a.mjs";
6
6
  import { createRequire } from "node:module";
@@ -1,6 +1,6 @@
1
- import { An as normalizeAgentFramework, Dn as agentVersionConstraintGroupsOverlap, Mn as normalizeAgentScopeValues, Nn as normalizeAgentVersion, On as agentVersionConstraintMatches, Zt as buildDocsAskAIContext, bn as resolveSearchRequestConfig, dn as performDocsSearch, jn as normalizeAgentLocale, kn as agentVersionConstraintsOverlap, un as normalizeDocsSearchFilters } from "./agent-Dze2Cy5B.mjs";
1
+ import { An as normalizeAgentFramework, Dn as agentVersionConstraintGroupsOverlap, Mn as normalizeAgentScopeValues, Nn as normalizeAgentVersion, On as agentVersionConstraintMatches, Zt as buildDocsAskAIContext, bn as resolveSearchRequestConfig, dn as performDocsSearch, jn as normalizeAgentLocale, kn as agentVersionConstraintsOverlap, un as normalizeDocsSearchFilters } from "./agent-CTOUI2BK.mjs";
2
2
  import { S as upsertPageAgentContractMarkdown, l as stripDocsGeneratedAgentContractMarkers, o as findDocsMarkdownSection } from "./markdown-sections-7OoA7ylx.mjs";
3
- import { t as getDocsAgentSkillsConfiguredPaths } from "./agent-skills-server-D5qYU19g.mjs";
3
+ import { t as getDocsAgentSkillsConfiguredPaths } from "./agent-skills-server-CwmzAzf_.mjs";
4
4
  import { buildDocsMcpContext } from "./mcp.mjs";
5
5
  import { i as validateCodeBlockPlans, n as planCodeBlockTargets, r as resolveDocsCodeBlocksValidateConfig, t as extractCodeBlocksFromMarkdown } from "./code-blocks-0wjOsqdJ.mjs";
6
6
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
@@ -1,12 +1,12 @@
1
- import { A as buildDocsAgentDiscoverySpec, Ft as renderDocsSitemapXml, It as resolveDocsSitemapConfig, Pt as renderDocsSitemapMarkdown, S as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, a as DEFAULT_AGENT_MD_ROUTE, at as renderDocsMarkdownDocument, c as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, g as DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, h as DEFAULT_LLMS_FULL_TXT_ROUTE, it as renderDocsLlmsTxt, jt as buildDocsSitemapManifest, l as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, lt as resolveDocsAgentFeedbackConfig, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, o as DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, rt as renderDocsAgentsDocument, st as renderDocsSkillDocument, t as DEFAULT_AGENTS_MD_ROUTE, v as DEFAULT_LLMS_TXT_ROUTE, wt as toDocsMarkdownUrl, x as DEFAULT_SKILL_MD_ROUTE, y as DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE } from "./agent-Dze2Cy5B.mjs";
1
+ import { A as buildDocsAgentDiscoverySpec, Ft as renderDocsSitemapXml, It as resolveDocsSitemapConfig, Pt as renderDocsSitemapMarkdown, S as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, a as DEFAULT_AGENT_MD_ROUTE, at as renderDocsMarkdownDocument, c as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, g as DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, h as DEFAULT_LLMS_FULL_TXT_ROUTE, it as renderDocsLlmsTxt, jt as buildDocsSitemapManifest, l as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, lt as resolveDocsAgentFeedbackConfig, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, o as DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, rt as renderDocsAgentsDocument, st as renderDocsSkillDocument, t as DEFAULT_AGENTS_MD_ROUTE, v as DEFAULT_LLMS_TXT_ROUTE, wt as toDocsMarkdownUrl, x as DEFAULT_SKILL_MD_ROUTE, y as DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE } from "./agent-CTOUI2BK.mjs";
2
2
  import "./markdown-sections-7OoA7ylx.mjs";
3
- import { A as buildDocsLegacySkillsIndex, D as buildDocsA2AAgentCard, L as resolveDocsPublishedAgentSkill, O as buildDocsAgentSkillsIndex, a as DEFAULT_A2A_AGENT_CARD_ROUTE, b as DEFAULT_LEGACY_SKILLS_INDEX_ROUTE, f as DEFAULT_AGENT_SKILLS_ROUTE_PREFIX, u as DEFAULT_AGENT_SKILLS_INDEX_ROUTE, x as DEFAULT_LEGACY_SKILLS_ROUTE_PREFIX } from "./standards-discovery-BKlEnK_H.mjs";
4
- import "./content-change-hydration-DpQ0KdAD.mjs";
3
+ import { A as buildDocsLegacySkillsIndex, D as buildDocsA2AAgentCard, L as resolveDocsPublishedAgentSkill, O as buildDocsAgentSkillsIndex, V as formatDocsContentDigest, W as resolveDocsHttpDate, a as DEFAULT_A2A_AGENT_CARD_ROUTE, b as DEFAULT_LEGACY_SKILLS_INDEX_ROUTE, f as DEFAULT_AGENT_SKILLS_ROUTE_PREFIX, u as DEFAULT_AGENT_SKILLS_INDEX_ROUTE, x as DEFAULT_LEGACY_SKILLS_ROUTE_PREFIX } from "./standards-discovery-Ckx0tN7B.mjs";
4
+ import "./content-change-hydration-DLBinuFR.mjs";
5
5
  import { t as resolveDocsI18n } from "./i18n-hHVWcflJ.mjs";
6
- import { c as renderDocsRobotsGeneratedBlock, f as upsertDocsRobotsGeneratedBlock, i as DOCS_ROBOTS_GENERATED_BLOCK_START, r as DOCS_ROBOTS_GENERATED_BLOCK_END, u as resolveDocsRobotsConfig } from "./robots-D96X6eVX.mjs";
7
- import "./sitemap-server-BefXEox6.mjs";
8
- import { r as resolveConfiguredAgentSkills } from "./agent-skills-server-D5qYU19g.mjs";
9
- import "./agent-evals-Burrzyam.mjs";
6
+ import { c as renderDocsRobotsGeneratedBlock, f as upsertDocsRobotsGeneratedBlock, i as DOCS_ROBOTS_GENERATED_BLOCK_START, r as DOCS_ROBOTS_GENERATED_BLOCK_END, u as resolveDocsRobotsConfig } from "./robots-DaU38DZw.mjs";
7
+ import "./sitemap-server-Ds5z4WQB.mjs";
8
+ import { r as resolveConfiguredAgentSkills } from "./agent-skills-server-CwmzAzf_.mjs";
9
+ import "./agent-evals-DCptRrdP.mjs";
10
10
  import { createFilesystemDocsMcpSource, resolveDocsMcpConfig } from "./mcp.mjs";
11
11
  import "./code-blocks-0wjOsqdJ.mjs";
12
12
  import "./server.mjs";
@@ -341,7 +341,7 @@ function formatDateOnly(value) {
341
341
  }
342
342
  function pageGitLastmod(rootDir, page) {
343
343
  if (page.sourcePath) try {
344
- const lastmod = formatDateOnly(execFileSync("git", [
344
+ const output = execFileSync("git", [
345
345
  "log",
346
346
  "-1",
347
347
  "--format=%cI",
@@ -355,8 +355,9 @@ function pageGitLastmod(rootDir, page) {
355
355
  "pipe",
356
356
  "ignore"
357
357
  ]
358
- }).trim());
359
- if (lastmod) return lastmod;
358
+ }).trim();
359
+ const parsed = new Date(output);
360
+ if (!Number.isNaN(parsed.getTime())) return parsed.toISOString();
360
361
  } catch {}
361
362
  }
362
363
  function deterministicSitemapManifest(options) {
@@ -399,7 +400,7 @@ function addOutput(outputs, publicDir, route, kind, mediaType, content, managed
399
400
  if (absolutePath === publicFilePath(publicDir, AGENT_BUNDLE_MANIFEST_ROUTE)) throw new Error(`Agent Bundle output collision at ${route} (reserved bundle manifest). Change the conflicting docs slug or configured route.`);
400
401
  const collision = outputs.find((output) => output.absolutePath === absolutePath);
401
402
  if (collision) throw new Error(`Agent Bundle output collision at ${route} (${collision.kind} and ${kind}). Change the conflicting docs slug or configured route.`);
402
- outputs.push({
403
+ const output = {
403
404
  absolutePath,
404
405
  publicPath: publicRelativePath(publicDir, absolutePath),
405
406
  route,
@@ -407,7 +408,9 @@ function addOutput(outputs, publicDir, route, kind, mediaType, content, managed
407
408
  mediaType,
408
409
  content: typeof content === "string" && normalizeText ? normalizeContent(content) : content,
409
410
  managed
410
- });
411
+ };
412
+ outputs.push(output);
413
+ return output;
411
414
  }
412
415
  function assertOutputPathsDoNotCollide(options) {
413
416
  const claimed = new Map([[options.publicManifestPath, "public Agent Bundle manifest"], [options.internalManifestPath, "internal Agent Bundle manifest"]]);
@@ -430,7 +433,8 @@ function resolveUserOwnedAgentsOutputs(outputs) {
430
433
  return {
431
434
  ...output,
432
435
  content: normalizeContent(current),
433
- managed: false
436
+ managed: false,
437
+ lastModified: void 0
434
438
  };
435
439
  });
436
440
  }
@@ -453,7 +457,8 @@ function resolveUserOwnedOverrides(outputs, previous) {
453
457
  return {
454
458
  ...output,
455
459
  content: normalizeContent(current),
456
- managed: false
460
+ managed: false,
461
+ lastModified: void 0
457
462
  };
458
463
  });
459
464
  }
@@ -490,18 +495,22 @@ function resolveRobotsOutput(publicDir, entry, sitemap, robots, agentCard = fals
490
495
  };
491
496
  }
492
497
  function toManifestFile(output) {
498
+ const digest = sha256(output.content);
493
499
  return {
494
500
  path: output.publicPath,
495
501
  route: output.route,
496
502
  kind: output.kind,
497
503
  mediaType: output.mediaType,
498
504
  bytes: byteLength(output.content),
499
- sha256: sha256(output.content),
505
+ sha256: digest,
506
+ etag: `"${digest}"`,
507
+ contentDigest: formatDocsContentDigest(digest),
508
+ lastModified: output.lastModified,
500
509
  managed: output.managed
501
510
  };
502
511
  }
503
512
  function buildAgentBundleManifest(options) {
504
- const files = [...options.outputs.map(toManifestFile), ...options.orphanedFiles].sort((left, right) => left.path.localeCompare(right.path));
513
+ const files = [...options.outputs.map((output) => toManifestFile(output)), ...options.orphanedFiles].sort((left, right) => left.path.localeCompare(right.path));
505
514
  const internalFiles = [...options.internalOutputs.map((output) => ({
506
515
  path: output.path,
507
516
  kind: output.kind,
@@ -564,10 +573,14 @@ function preservedStaleManifestFiles(publicDir, previous, outputs) {
564
573
  if (!existsSync(filePath)) return [];
565
574
  const current = readFileSync(filePath);
566
575
  if (file.orphaned !== true && sha256(current) === file.sha256) return [];
576
+ const digest = sha256(current);
567
577
  return [{
568
578
  ...file,
569
579
  bytes: byteLength(current),
570
- sha256: sha256(current),
580
+ sha256: digest,
581
+ etag: `"${digest}"`,
582
+ contentDigest: formatDocsContentDigest(digest),
583
+ lastModified: void 0,
571
584
  managed: false,
572
585
  orphaned: true
573
586
  }];
@@ -712,14 +725,17 @@ async function exportAgentBundle(options = {}) {
712
725
  const configuredAgentSkills = await resolveConfiguredAgentSkills(config?.agent?.skills, { rootDir });
713
726
  let outputs = [];
714
727
  const internalOutputs = [];
715
- for (const { page } of localizedPages) addOutput(outputs, publicDir, staticMarkdownRoute(page, sourceEntry, routeEntry), "page", "text/markdown", renderDocsMarkdownDocument({
716
- ...page,
717
- markdownUrl: staticMarkdownRoute(page, sourceEntry, routeEntry)
718
- }, {
719
- llms,
720
- origin: baseUrl,
721
- sitemap: sitemapInput
722
- }));
728
+ for (const { page } of localizedPages) {
729
+ const output = addOutput(outputs, publicDir, staticMarkdownRoute(page, sourceEntry, routeEntry), "page", "text/markdown", renderDocsMarkdownDocument({
730
+ ...page,
731
+ markdownUrl: staticMarkdownRoute(page, sourceEntry, routeEntry)
732
+ }, {
733
+ llms,
734
+ origin: baseUrl,
735
+ sitemap: sitemapInput
736
+ }));
737
+ output.lastModified = resolveDocsHttpDate(page.lastModified);
738
+ }
723
739
  if (llmsEnabled) {
724
740
  const llmsContent = renderDocsLlmsTxt(pages.map((page) => ({
725
741
  url: page.url,
@@ -1,4 +1,4 @@
1
- import { z as DocsPublishedAgentSkill } from "./standards-discovery-DPUEcUmb.mjs";
1
+ import { z as DocsPublishedAgentSkill } from "./standards-discovery-CthpcXx2.mjs";
2
2
 
3
3
  //#region src/agent-skills-bundle.d.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { f as DEFAULT_AGENT_SKILLS_ROUTE_PREFIX, j as buildDocsPublishedAgentSkill } from "./standards-discovery-BKlEnK_H.mjs";
1
+ import { f as DEFAULT_AGENT_SKILLS_ROUTE_PREFIX, j as buildDocsPublishedAgentSkill } from "./standards-discovery-Ckx0tN7B.mjs";
2
2
  import { existsSync, lstatSync, readFileSync, readdirSync, realpathSync, statSync } from "node:fs";
3
3
  import path from "node:path";
4
4
  import { createHash } from "node:crypto";
@@ -1,5 +1,5 @@
1
- import { tt as DocsAgentSkillsInput } from "./types-lGEHcx_6.mjs";
2
- import { z as DocsPublishedAgentSkill } from "./standards-discovery-DPUEcUmb.mjs";
1
+ import { tt as DocsAgentSkillsInput } from "./types-DQl2dvDl.mjs";
2
+ import { z as DocsPublishedAgentSkill } from "./standards-discovery-CthpcXx2.mjs";
3
3
 
4
4
  //#region src/agent-skills-server.d.ts
5
5
  interface ResolveConfiguredAgentSkillsOptions {
@@ -1,6 +1,6 @@
1
- import { tt as DocsAgentSkillsInput } from "./types-lGEHcx_6.mjs";
2
- import { z as DocsPublishedAgentSkill } from "./standards-discovery-DPUEcUmb.mjs";
3
- import { t as ResolveConfiguredAgentSkillsOptions } from "./agent-skills-server-q4B9kRGg.mjs";
1
+ import { tt as DocsAgentSkillsInput } from "./types-DQl2dvDl.mjs";
2
+ import { z as DocsPublishedAgentSkill } from "./standards-discovery-CthpcXx2.mjs";
3
+ import { t as ResolveConfiguredAgentSkillsOptions } from "./agent-skills-server-DNtmvTkv.mjs";
4
4
 
5
5
  //#region src/agent-skills-vite.d.ts
6
6
  declare const DOCS_AGENT_SKILLS_BUNDLE_MODULE = "@farming-labs/docs/agent-skills-bundle";
@@ -1,5 +1,5 @@
1
- import "./standards-discovery-BKlEnK_H.mjs";
2
- import { r as resolveConfiguredAgentSkills } from "./agent-skills-server-D5qYU19g.mjs";
1
+ import "./standards-discovery-Ckx0tN7B.mjs";
2
+ import { r as resolveConfiguredAgentSkills } from "./agent-skills-server-CwmzAzf_.mjs";
3
3
 
4
4
  //#region src/agent-skills-vite.ts
5
5
  const DOCS_AGENT_SKILLS_BUNDLE_MODULE = "@farming-labs/docs/agent-skills-bundle";
@@ -1,10 +1,10 @@
1
- import { a as DEFAULT_AGENT_MD_ROUTE, lt as resolveDocsAgentFeedbackConfig, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, o as DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, rt as renderDocsAgentsDocument, t as DEFAULT_AGENTS_MD_ROUTE } from "./agent-Dze2Cy5B.mjs";
1
+ import { a as DEFAULT_AGENT_MD_ROUTE, lt as resolveDocsAgentFeedbackConfig, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, o as DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, rt as renderDocsAgentsDocument, t as DEFAULT_AGENTS_MD_ROUTE } from "./agent-CTOUI2BK.mjs";
2
2
  import "./markdown-sections-7OoA7ylx.mjs";
3
- import "./standards-discovery-BKlEnK_H.mjs";
4
- import "./content-change-hydration-DpQ0KdAD.mjs";
5
- import { C as resolveApiReferenceOpenApiDiscovery } from "./sitemap-server-BefXEox6.mjs";
6
- import "./agent-skills-server-D5qYU19g.mjs";
7
- import "./agent-evals-Burrzyam.mjs";
3
+ import "./standards-discovery-Ckx0tN7B.mjs";
4
+ import "./content-change-hydration-DLBinuFR.mjs";
5
+ import { C as resolveApiReferenceOpenApiDiscovery } from "./sitemap-server-Ds5z4WQB.mjs";
6
+ import "./agent-skills-server-CwmzAzf_.mjs";
7
+ import "./agent-evals-DCptRrdP.mjs";
8
8
  import { resolveDocsMcpConfig } from "./mcp.mjs";
9
9
  import "./code-blocks-0wjOsqdJ.mjs";
10
10
  import "./server.mjs";
@@ -141,10 +141,10 @@ async function main() {
141
141
  printCloudHelp();
142
142
  process.exit(1);
143
143
  } else if (parsedCommand.command === "mcp") {
144
- const { runMcp } = await import("../mcp-bhIsgqxy.mjs");
144
+ const { runMcp } = await import("../mcp-lSrFDtwr.mjs");
145
145
  await runMcp(mcpOptions);
146
146
  } else if (parsedCommand.command === "agent" && subcommand === "compact") {
147
- const { compactAgentDocs, parseAgentCompactArgs, printAgentCompactHelp } = await import("../agent-Biyd8A98.mjs").then((n) => n.t);
147
+ const { compactAgentDocs, parseAgentCompactArgs, printAgentCompactHelp } = await import("../agent-FyPQ2AZ4.mjs").then((n) => n.t);
148
148
  const agentCompactOptions = parseAgentCompactArgs(args.slice(2));
149
149
  if (agentCompactOptions.help) {
150
150
  printAgentCompactHelp();
@@ -152,7 +152,7 @@ async function main() {
152
152
  }
153
153
  await compactAgentDocs(agentCompactOptions);
154
154
  } else if (parsedCommand.command === "agent" && subcommand === "export") {
155
- const { exportAgentBundle, parseAgentExportArgs, printAgentExportHelp } = await import("../agent-export-whKAZQUI.mjs");
155
+ const { exportAgentBundle, parseAgentExportArgs, printAgentExportHelp } = await import("../agent-export-Di1Ofstb.mjs");
156
156
  const agentExportOptions = parseAgentExportArgs(args.slice(2));
157
157
  if (agentExportOptions.help) {
158
158
  printAgentExportHelp();
@@ -162,13 +162,13 @@ async function main() {
162
162
  } else if (parsedCommand.command === "agent") {
163
163
  console.error(pc.red(`Unknown agent subcommand: ${subcommand ?? "(missing)"}`));
164
164
  console.error();
165
- const { printAgentCompactHelp } = await import("../agent-Biyd8A98.mjs").then((n) => n.t);
166
- const { printAgentExportHelp } = await import("../agent-export-whKAZQUI.mjs");
165
+ const { printAgentCompactHelp } = await import("../agent-FyPQ2AZ4.mjs").then((n) => n.t);
166
+ const { printAgentExportHelp } = await import("../agent-export-Di1Ofstb.mjs");
167
167
  printAgentCompactHelp();
168
168
  printAgentExportHelp();
169
169
  process.exit(1);
170
170
  } else if (parsedCommand.command === "agents" && subcommand === "generate") {
171
- const { generateAgents, parseAgentsGenerateArgs, printAgentsGenerateHelp } = await import("../agents-B_980VCs.mjs");
171
+ const { generateAgents, parseAgentsGenerateArgs, printAgentsGenerateHelp } = await import("../agents-DjUz5voa.mjs");
172
172
  const agentsOptions = parseAgentsGenerateArgs(args.slice(2));
173
173
  if (agentsOptions.help) {
174
174
  printAgentsGenerateHelp();
@@ -178,11 +178,11 @@ async function main() {
178
178
  } else if (parsedCommand.command === "agents") {
179
179
  console.error(pc.red(`Unknown agents subcommand: ${subcommand ?? "(missing)"}`));
180
180
  console.error();
181
- const { printAgentsGenerateHelp } = await import("../agents-B_980VCs.mjs");
181
+ const { printAgentsGenerateHelp } = await import("../agents-DjUz5voa.mjs");
182
182
  printAgentsGenerateHelp();
183
183
  process.exit(1);
184
184
  } else if (parsedCommand.command === "doctor") {
185
- const { parseDoctorArgs, printDoctorHelp, runDoctor } = await import("../doctor-WjuyRWYT.mjs");
185
+ const { parseDoctorArgs, printDoctorHelp, runDoctor } = await import("../doctor-BPx6iAzQ.mjs");
186
186
  const doctorOptions = parseDoctorArgs(args.slice(1));
187
187
  if (doctorOptions.help) {
188
188
  printDoctorHelp();
@@ -190,7 +190,7 @@ async function main() {
190
190
  }
191
191
  await runDoctor(doctorOptions);
192
192
  } else if (parsedCommand.command === "review") {
193
- const { parseReviewArgs, printReviewHelp, runReview } = await import("../review-2e4TXoGS.mjs");
193
+ const { parseReviewArgs, printReviewHelp, runReview } = await import("../review-CG2UApoQ.mjs");
194
194
  const reviewOptions = parseReviewArgs(args.slice(1));
195
195
  if (reviewOptions.help) {
196
196
  printReviewHelp();
@@ -212,7 +212,7 @@ async function main() {
212
212
  printCodeBlocksValidateHelp();
213
213
  process.exit(1);
214
214
  } else if (parsedCommand.command === "search" && subcommand === "sync") {
215
- const { syncSearch } = await import("../search-DfB3LQ4s.mjs");
215
+ const { syncSearch } = await import("../search-DEz_28y1.mjs");
216
216
  await syncSearch(searchSyncOptions);
217
217
  } else if (parsedCommand.command === "search") {
218
218
  console.error(pc.red(`Unknown search subcommand: ${subcommand ?? "(missing)"}`));
@@ -220,7 +220,7 @@ async function main() {
220
220
  printHelp();
221
221
  process.exit(1);
222
222
  } else if (parsedCommand.command === "sitemap" && subcommand === "generate") {
223
- const { generateSitemap, parseSitemapGenerateArgs, printSitemapGenerateHelp } = await import("../sitemap-AcwP8jIo.mjs");
223
+ const { generateSitemap, parseSitemapGenerateArgs, printSitemapGenerateHelp } = await import("../sitemap-vQbO76Vo.mjs");
224
224
  const sitemapOptions = parseSitemapGenerateArgs(args.slice(2));
225
225
  if (sitemapOptions.help) {
226
226
  printSitemapGenerateHelp();
@@ -230,11 +230,11 @@ async function main() {
230
230
  } else if (parsedCommand.command === "sitemap") {
231
231
  console.error(pc.red(`Unknown sitemap subcommand: ${subcommand ?? "(missing)"}`));
232
232
  console.error();
233
- const { printSitemapGenerateHelp } = await import("../sitemap-AcwP8jIo.mjs");
233
+ const { printSitemapGenerateHelp } = await import("../sitemap-vQbO76Vo.mjs");
234
234
  printSitemapGenerateHelp();
235
235
  process.exit(1);
236
236
  } else if (parsedCommand.command === "robots" && subcommand === "generate") {
237
- const { generateRobots, parseRobotsGenerateArgs, printRobotsGenerateHelp } = await import("../robots-BIySk2gE.mjs");
237
+ const { generateRobots, parseRobotsGenerateArgs, printRobotsGenerateHelp } = await import("../robots-BsOTGWiY.mjs");
238
238
  const robotsOptions = parseRobotsGenerateArgs(args.slice(2));
239
239
  if (robotsOptions.help) {
240
240
  printRobotsGenerateHelp();
@@ -244,7 +244,7 @@ async function main() {
244
244
  } else if (parsedCommand.command === "robots") {
245
245
  console.error(pc.red(`Unknown robots subcommand: ${subcommand ?? "(missing)"}`));
246
246
  console.error();
247
- const { printRobotsGenerateHelp } = await import("../robots-BIySk2gE.mjs");
247
+ const { printRobotsGenerateHelp } = await import("../robots-BsOTGWiY.mjs");
248
248
  printRobotsGenerateHelp();
249
249
  process.exit(1);
250
250
  } else if (parsedCommand.command === "downgrade") {
@@ -1,4 +1,4 @@
1
- import { ot as DocsAnalyticsConfig } from "../types-lGEHcx_6.mjs";
1
+ import { ot as DocsAnalyticsConfig } from "../types-DQl2dvDl.mjs";
2
2
  import { ReactNode } from "react";
3
3
 
4
4
  //#region src/docs-cloud-client.d.ts
@@ -1,4 +1,4 @@
1
- import { bt as DocsCloudConfig, ot as DocsAnalyticsConfig, t as AIConfig } from "./types-lGEHcx_6.mjs";
1
+ import { bt as DocsCloudConfig, ot as DocsAnalyticsConfig, t as AIConfig } from "./types-DQl2dvDl.mjs";
2
2
 
3
3
  //#region src/cloud-ask-ai.d.ts
4
4
  interface DocsCloudAskAIConfig {
@@ -1,5 +1,6 @@
1
- import { $t as buildDocsRetrievalDigestProjection, Fn as createDocsPaginationCursor, G as isDocsAgentDiscoveryRequest, Jt as resolveDocsContentChangesConfig, K as isDocsAgentsRequest, Ln as resolveDocsPaginationOffset, Pn as DocsPaginationCursorError, Q as isDocsSkillRequest, Rn as digestDocsRetrievalContent, _t as resolveDocsMarkdownRequest, dt as resolveDocsAgentsFormat, lt as resolveDocsAgentFeedbackConfig, pt as resolveDocsLlmsTxtRequest, qt as isDocsContentChangesRequest, ut as resolveDocsAgentFeedbackRequest, xt as resolveDocsSkillFormat } from "./agent-Dze2Cy5B.mjs";
1
+ import { $t as buildDocsRetrievalDigestProjection, Fn as createDocsPaginationCursor, G as isDocsAgentDiscoveryRequest, Jt as resolveDocsContentChangesConfig, K as isDocsAgentsRequest, Ln as resolveDocsPaginationOffset, Pn as DocsPaginationCursorError, Q as isDocsSkillRequest, _t as resolveDocsMarkdownRequest, dt as resolveDocsAgentsFormat, lt as resolveDocsAgentFeedbackConfig, pt as resolveDocsLlmsTxtRequest, qt as isDocsContentChangesRequest, ut as resolveDocsAgentFeedbackRequest, xt as resolveDocsSkillFormat } from "./agent-CTOUI2BK.mjs";
2
2
  import { s as parseDocsMarkdownSections } from "./markdown-sections-7OoA7ylx.mjs";
3
+ import { K as digestDocsRetrievalContent } from "./standards-discovery-Ckx0tN7B.mjs";
3
4
  import matter from "gray-matter";
4
5
 
5
6
  //#region src/telemetry.ts
@@ -1,5 +1,5 @@
1
- import { ct as DocsAnalyticsEventInput, ot as DocsAnalyticsConfig, st as DocsAnalyticsEvent } from "./types-lGEHcx_6.mjs";
2
- import { n as DocsCloudAskAIResponseOptions, t as DocsCloudAskAIConfig } from "./cloud-ask-ai-BQAeHkpZ.mjs";
1
+ import { ct as DocsAnalyticsEventInput, ot as DocsAnalyticsConfig, st as DocsAnalyticsEvent } from "./types-DQl2dvDl.mjs";
2
+ import { n as DocsCloudAskAIResponseOptions, t as DocsCloudAskAIConfig } from "./cloud-ask-ai-Bx-qtqHL.mjs";
3
3
 
4
4
  //#region src/docs-cloud-server.d.ts
5
5
  type DocsCloudRuntimeValue<T = string> = T | undefined | null | (() => T | undefined | null);
@@ -1,21 +1,21 @@
1
- import { i as scanDocsPageTargets, n as compactAgentDocs, r as inspectAgentCompactionState } from "./agent-Biyd8A98.mjs";
2
- import { d as httpLinkHeaderHasTargetRelation, f as AGENT_SKILL_ARCHIVE_MAX_UNCOMPRESSED_BYTES, p as readAgentSkillDocumentFromTar } from "./prompt-references-embiJdYt.mjs";
3
- import { A as buildDocsAgentDiscoverySpec, At as DEFAULT_SITEMAP_XML_ROUTE, F as buildDocsMcpEndpointCandidates, Gn as DEFAULT_MCP_WELL_KNOWN_ROUTE, It as resolveDocsSitemapConfig, M as buildDocsConfigMap, Ot as DEFAULT_SITEMAP_MD_ROUTE, S as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, T as DOCS_CONFIG_MAP_TOP_LEVEL_KEYS, Un as DEFAULT_MCP_PUBLIC_ROUTE, Xn as isDocsMcpOAuthScopeToken, c as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, er as normalizeDocsMcpAuthorizationServerUrls, h as DEFAULT_LLMS_FULL_TXT_ROUTE, i as DEFAULT_AGENT_FEEDBACK_ROUTE, kt as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, l as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, pn as resolveAskAISearchRequestConfig, qn as getDocsMcpProtectedResourceMetadataRoutes, t as DEFAULT_AGENTS_MD_ROUTE, v as DEFAULT_LLMS_TXT_ROUTE, x as DEFAULT_SKILL_MD_ROUTE } from "./agent-Dze2Cy5B.mjs";
1
+ import { i as scanDocsPageTargets, n as compactAgentDocs, r as inspectAgentCompactionState } from "./agent-FyPQ2AZ4.mjs";
2
+ import { d as httpLinkHeaderHasTargetRelation, f as AGENT_SKILL_ARCHIVE_MAX_UNCOMPRESSED_BYTES, p as readAgentSkillDocumentFromTar } from "./prompt-references-B6gxePm8.mjs";
3
+ import { A as buildDocsAgentDiscoverySpec, At as DEFAULT_SITEMAP_XML_ROUTE, F as buildDocsMcpEndpointCandidates, Gn as getDocsMcpProtectedResourceMetadataRoutes, It as resolveDocsSitemapConfig, Jn as isDocsMcpOAuthScopeToken, M as buildDocsConfigMap, Ot as DEFAULT_SITEMAP_MD_ROUTE, Qn as normalizeDocsMcpAuthorizationServerUrls, S as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, T as DOCS_CONFIG_MAP_TOP_LEVEL_KEYS, Un as DEFAULT_MCP_WELL_KNOWN_ROUTE, Vn as DEFAULT_MCP_PUBLIC_ROUTE, c as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, h as DEFAULT_LLMS_FULL_TXT_ROUTE, i as DEFAULT_AGENT_FEEDBACK_ROUTE, kt as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, l as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, pn as resolveAskAISearchRequestConfig, t as DEFAULT_AGENTS_MD_ROUTE, v as DEFAULT_LLMS_TXT_ROUTE, x as DEFAULT_SKILL_MD_ROUTE } from "./agent-CTOUI2BK.mjs";
4
4
  import { f as PAGE_AGENT_CONTRACT_FIELDS } from "./markdown-sections-7OoA7ylx.mjs";
5
+ import { I as resolveDocsDiscoveryApiRoute, _ as DEFAULT_API_CATALOG_FORMAT, d as DEFAULT_AGENT_SKILLS_ROUTE_PATTERN, f as DEFAULT_AGENT_SKILLS_ROUTE_PREFIX, h as DEFAULT_AGENT_SKILL_FORMAT, l as DEFAULT_AGENT_SKILLS_INDEX_FORMAT, n as API_CATALOG_MEDIA_TYPE, r as API_CATALOG_PROFILE_URI, t as AGENT_SKILLS_DISCOVERY_SCHEMA_URI, u as DEFAULT_AGENT_SKILLS_INDEX_ROUTE, v as DEFAULT_API_CATALOG_ROUTE } from "./standards-discovery-Ckx0tN7B.mjs";
5
6
  import { isDocsAgentSkillName, validateDocsAgentSkillFrontmatter } from "./agent-skills-spec.mjs";
6
- import { I as resolveDocsDiscoveryApiRoute, _ as DEFAULT_API_CATALOG_FORMAT, d as DEFAULT_AGENT_SKILLS_ROUTE_PATTERN, f as DEFAULT_AGENT_SKILLS_ROUTE_PREFIX, h as DEFAULT_AGENT_SKILL_FORMAT, l as DEFAULT_AGENT_SKILLS_INDEX_FORMAT, n as API_CATALOG_MEDIA_TYPE, r as API_CATALOG_PROFILE_URI, t as AGENT_SKILLS_DISCOVERY_SCHEMA_URI, u as DEFAULT_AGENT_SKILLS_INDEX_ROUTE, v as DEFAULT_API_CATALOG_ROUTE } from "./standards-discovery-BKlEnK_H.mjs";
7
- import "./content-change-hydration-DpQ0KdAD.mjs";
8
- import { a as analyzeDocsRobotsTxt, n as DEFAULT_ROBOTS_TXT_ROUTE, u as resolveDocsRobotsConfig } from "./robots-D96X6eVX.mjs";
7
+ import "./content-change-hydration-DLBinuFR.mjs";
8
+ import { a as analyzeDocsRobotsTxt, n as DEFAULT_ROBOTS_TXT_ROUTE, u as resolveDocsRobotsConfig } from "./robots-DaU38DZw.mjs";
9
9
  import { a as resolveDocsMetadataBaseUrl } from "./metadata-N252j5_a.mjs";
10
- import "./sitemap-server-BefXEox6.mjs";
11
- import { r as resolveConfiguredAgentSkills } from "./agent-skills-server-D5qYU19g.mjs";
12
- import { t as runDocsGoldenTasks } from "./agent-evals-Burrzyam.mjs";
10
+ import "./sitemap-server-Ds5z4WQB.mjs";
11
+ import { r as resolveConfiguredAgentSkills } from "./agent-skills-server-CwmzAzf_.mjs";
12
+ import { t as runDocsGoldenTasks } from "./agent-evals-DCptRrdP.mjs";
13
13
  import { createFilesystemDocsMcpSource, getDocsConfigSchema, resolveDocsMcpConfig } from "./mcp.mjs";
14
14
  import "./code-blocks-0wjOsqdJ.mjs";
15
15
  import "./server.mjs";
16
16
  import { _ as resolveDocsContentDir, d as readNavTitle, g as resolveDocsConfigPath, h as readTopLevelStringProperty, l as readBooleanProperty, r as extractTopLevelConfigObject, s as loadDocsConfigModuleResultWithProjectEnv, t as extractNestedObjectLiteral } from "./config-Wcdj-D0a.mjs";
17
17
  import { t as detectFramework } from "./utils-DpiIioYb.mjs";
18
- import { a as createAgentUsefulnessPagesFromMcp, i as analyzeAgentUsefulness, n as analyzeConfiguredAgentSkillsProgressiveDisclosure, r as analyzeAgentSurfaceDrift, t as resolveGoldenEvaluationInput } from "./golden-evaluations-B2GHnoFa.mjs";
18
+ import { a as createAgentUsefulnessPagesFromMcp, i as analyzeAgentUsefulness, n as analyzeConfiguredAgentSkillsProgressiveDisclosure, r as analyzeAgentSurfaceDrift, t as resolveGoldenEvaluationInput } from "./golden-evaluations-CQuiglEv.mjs";
19
19
  import { existsSync, lstatSync, readFileSync, readdirSync } from "node:fs";
20
20
  import path from "node:path";
21
21
  import { createHash } from "node:crypto";
@@ -1,7 +1,7 @@
1
- import { An as normalizeAgentFramework, Cn as findDocsAudienceMdxTags, En as resolveDocsAudienceMdxContent, Nn as normalizeAgentVersion, kn as agentVersionConstraintsOverlap } from "./agent-Dze2Cy5B.mjs";
1
+ import { An as normalizeAgentFramework, Cn as findDocsAudienceMdxTags, En as resolveDocsAudienceMdxContent, Nn as normalizeAgentVersion, kn as agentVersionConstraintsOverlap } from "./agent-CTOUI2BK.mjs";
2
2
  import { _ as hasStructuredPageAgentContract, v as normalizePageAgentFrontmatter } from "./markdown-sections-7OoA7ylx.mjs";
3
3
  import { validateDocsAgentSkillFrontmatter } from "./agent-skills-spec.mjs";
4
- import { n as resolveConfiguredAgentSkillPathsSync } from "./agent-skills-server-D5qYU19g.mjs";
4
+ import { n as resolveConfiguredAgentSkillPathsSync } from "./agent-skills-server-CwmzAzf_.mjs";
5
5
  import { t as extractCodeBlocksFromMarkdown } from "./code-blocks-0wjOsqdJ.mjs";
6
6
  import { existsSync, lstatSync, readFileSync, readdirSync } from "node:fs";
7
7
  import path from "node:path";
@@ -1685,13 +1685,19 @@ function analyzeAgentSurfaceDrift(options) {
1685
1685
  compareExpectedValue(issues, options.discovery, "search-audience-mismatch", "search.supportedAudiences", ["human", "agent"], "Discovery search.supportedAudiences");
1686
1686
  const expectedStructuredAgentSearchEndpoint = expectedAgentSearchEndpoint === null ? null : `${expectedAgentSearchEndpoint}&response=structured`;
1687
1687
  const expectedSearchFacetsEndpoint = expectedAgentSearchEndpoint === null ? null : expectedAgentSearchEndpoint.replace("query={query}&audience=agent", "audience=agent&response=facets");
1688
+ const expectedExplainedAgentSearchEndpoint = expectedStructuredAgentSearchEndpoint === null ? null : `${expectedStructuredAgentSearchEndpoint}&explain=true`;
1688
1689
  for (const [path, expected] of [
1689
1690
  ["search.structuredAgentEndpoint", expectedStructuredAgentSearchEndpoint],
1691
+ ["search.explainedAgentEndpoint", expectedExplainedAgentSearchEndpoint],
1690
1692
  ["search.facetsEndpoint", expectedSearchFacetsEndpoint],
1691
1693
  ["search.responseParam", "response"],
1692
1694
  ["search.structuredResponseValue", "structured"],
1693
1695
  ["search.facetsResponseValue", "facets"],
1694
1696
  ["search.responseFormat", "docs-search.v1"],
1697
+ ["search.explainParam", "explain"],
1698
+ ["search.explainValue", "true"],
1699
+ ["search.explanationField", "explanation"],
1700
+ ["search.explanationFormat", "docs-search-explanation.v1"],
1695
1701
  ["search.facetsResponseFormat", "docs-search-facets.v1"],
1696
1702
  ["search.filterParams", {
1697
1703
  framework: "framework",