@farming-labs/docs 0.1.130 → 0.1.132

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.
@@ -1,9 +1,9 @@
1
1
  import "./reading-time-DPAazAGu.mjs";
2
2
  import "./search-BL7o2rXk.mjs";
3
- import "./agent-KnE4AKMx.mjs";
4
- import "./robots-hoWDvtta.mjs";
3
+ import "./agent-xmep0HVx.mjs";
4
+ import "./robots-B-1XRFFz.mjs";
5
5
  import "./sitemap-server-idLUrmmU.mjs";
6
6
  import "./config-CBoixmrv.mjs";
7
- import { a as readPageTokenBudget, i as printAgentCompactHelp, n as inspectAgentCompactionState, o as scanDocsPageTargets, r as parseAgentCompactArgs, t as compactAgentDocs } from "./codeblocks-D-XUELrh.mjs";
7
+ import { a as readPageTokenBudget, i as printAgentCompactHelp, n as inspectAgentCompactionState, o as scanDocsPageTargets, r as parseAgentCompactArgs, t as compactAgentDocs } from "./codeblocks-d2G0laKv.mjs";
8
8
 
9
9
  export { compactAgentDocs, parseAgentCompactArgs, printAgentCompactHelp };
@@ -739,7 +739,171 @@ function getDocsMarkdownVaryHeader(request) {
739
739
  }
740
740
  return values.size > 0 ? Array.from(values).join(", ") : null;
741
741
  }
742
- function renderDocsMarkdownNotFound({ entry = "docs", requestedPath, sitemap }) {
742
+ const DOCS_MARKDOWN_RECOVERY_MATCH_LIMIT = 5;
743
+ const DOCS_MARKDOWN_RECOVERY_REDIRECT_CONFIDENCE = .99;
744
+ const DOCS_MARKDOWN_RECOVERY_SLUG_MAX_LENGTH = 256;
745
+ function normalizeDocsRecoveryText(value) {
746
+ return value.toLowerCase().replace(/\.md$/i, "").replace(/[#?].*$/g, "").replace(/['"`]/g, "").replace(/[^a-z0-9]+/g, " ").trim();
747
+ }
748
+ function normalizeDocsRecoverySlug(entry, value) {
749
+ const withoutHash = value.split("#", 1)[0] ?? value;
750
+ const withoutMarkdown = (withoutHash.split("?", 1)[0] ?? withoutHash).replace(/\.md$/i, "");
751
+ const normalizedPath = normalizeDocsUrlPath(withoutMarkdown.startsWith("/") ? withoutMarkdown : `/${withoutMarkdown}`);
752
+ const normalizedEntry = `/${normalizeDocsPathSegment(entry) || "docs"}`;
753
+ if (normalizedPath === normalizedEntry) return "";
754
+ if (normalizedPath.startsWith(`${normalizedEntry}/`)) return normalizeDocsPathSegment(normalizedPath.slice(normalizedEntry.length + 1));
755
+ return normalizeDocsPathSegment(normalizedPath);
756
+ }
757
+ function limitDocsRecoverySlug(value) {
758
+ return value.slice(0, DOCS_MARKDOWN_RECOVERY_SLUG_MAX_LENGTH);
759
+ }
760
+ function tokenizeDocsRecoveryText(value) {
761
+ return normalizeDocsRecoveryText(value).split(/\s+/).filter((token) => token.length > 1);
762
+ }
763
+ function levenshteinDistance(a, b) {
764
+ if (a === b) return 0;
765
+ if (!a) return b.length;
766
+ if (!b) return a.length;
767
+ let previous = Array.from({ length: b.length + 1 }, (_, index) => index);
768
+ let current = new Array(b.length + 1);
769
+ for (let i = 1; i <= a.length; i += 1) {
770
+ current[0] = i;
771
+ for (let j = 1; j <= b.length; j += 1) {
772
+ const substitution = previous[j - 1] + (a[i - 1] === b[j - 1] ? 0 : 1);
773
+ current[j] = Math.min(previous[j] + 1, current[j - 1] + 1, substitution);
774
+ }
775
+ [previous, current] = [current, previous];
776
+ }
777
+ return previous[b.length] ?? Math.max(a.length, b.length);
778
+ }
779
+ function normalizedEditSimilarity(a, b) {
780
+ if (!a || !b) return 0;
781
+ if (a === b) return 1;
782
+ const maxLength = Math.max(a.length, b.length);
783
+ if (maxLength === 0) return 1;
784
+ return Math.max(0, 1 - levenshteinDistance(a, b) / maxLength);
785
+ }
786
+ function tokenOverlapScore(requestedTokens, candidateTokens) {
787
+ if (requestedTokens.length === 0 || candidateTokens.length === 0) return 0;
788
+ const candidates = new Set(candidateTokens);
789
+ return requestedTokens.filter((token) => candidates.has(token)).length / requestedTokens.length;
790
+ }
791
+ function sameDocsRecoveryParent(a, b) {
792
+ const aParts = a.split("/").filter(Boolean);
793
+ const bParts = b.split("/").filter(Boolean);
794
+ if (aParts.length !== bParts.length || aParts.length === 0) return false;
795
+ return aParts.slice(0, -1).join("/") === bParts.slice(0, -1).join("/");
796
+ }
797
+ function scoreDocsMarkdownRecoveryMatch({ entry, requestedPath, page }) {
798
+ const requestedSlug = limitDocsRecoverySlug(normalizeDocsRecoverySlug(entry, requestedPath));
799
+ const pageSlug = limitDocsRecoverySlug(normalizeDocsRecoverySlug(entry, page.url));
800
+ const requestedLast = requestedSlug.split("/").filter(Boolean).at(-1) ?? requestedSlug;
801
+ const pageLast = pageSlug.split("/").filter(Boolean).at(-1) ?? pageSlug;
802
+ const title = normalizeDocsRecoveryText(page.title);
803
+ const requestedText = normalizeDocsRecoveryText(requestedSlug.replace(/\//g, " "));
804
+ const requestedTokens = tokenizeDocsRecoveryText(requestedText);
805
+ const candidateTokens = tokenizeDocsRecoveryText([
806
+ pageSlug.replace(/\//g, " "),
807
+ page.title,
808
+ page.description ?? ""
809
+ ].join(" "));
810
+ const pathDistance = levenshteinDistance(requestedSlug, pageSlug);
811
+ const segmentDistance = levenshteinDistance(requestedLast, pageLast);
812
+ if (requestedSlug && pageSlug && (sameDocsRecoveryParent(requestedSlug, pageSlug) && segmentDistance <= 1 || pathDistance <= 1)) return .995;
813
+ const pathSimilarity = normalizedEditSimilarity(requestedSlug, pageSlug);
814
+ const segmentSimilarity = normalizedEditSimilarity(requestedLast, pageLast);
815
+ const titleSimilarity = normalizedEditSimilarity(requestedText, title);
816
+ const overlap = tokenOverlapScore(requestedTokens, candidateTokens);
817
+ const substringBoost = requestedText && (pageSlug.includes(requestedSlug) || title.includes(requestedText) || requestedText.includes(title)) ? .12 : 0;
818
+ return Math.min(.98, Math.max(pathSimilarity * .86, segmentSimilarity * .8, titleSimilarity * .72, overlap * .75) + substringBoost);
819
+ }
820
+ function resolveDocsMarkdownRecovery({ entry = "docs", requestedPath, pages = [] }) {
821
+ const normalizedEntry = normalizeDocsPathSegment(entry) || "docs";
822
+ const matches = pages.map((page) => ({
823
+ page,
824
+ confidence: scoreDocsMarkdownRecoveryMatch({
825
+ entry: normalizedEntry,
826
+ requestedPath,
827
+ page
828
+ })
829
+ })).filter((item) => item.confidence >= .35).sort((a, b) => {
830
+ if (b.confidence !== a.confidence) return b.confidence - a.confidence;
831
+ return a.page.url.localeCompare(b.page.url);
832
+ }).slice(0, DOCS_MARKDOWN_RECOVERY_MATCH_LIMIT).map(({ page, confidence }) => ({
833
+ title: page.title,
834
+ url: normalizeDocsUrlPath(page.url),
835
+ markdownUrl: toDocsMarkdownUrl(page.url),
836
+ description: page.description,
837
+ confidence
838
+ }));
839
+ return {
840
+ matches,
841
+ redirect: matches[0] && matches[0].confidence >= DOCS_MARKDOWN_RECOVERY_REDIRECT_CONFIDENCE ? matches[0] : void 0
842
+ };
843
+ }
844
+ function renderDocsMarkdownSitemapFooter(sitemap) {
845
+ const sitemapConfig = resolveDocsSitemapConfig(sitemap);
846
+ const lines = ["## Sitemap", ""];
847
+ if (sitemapConfig.enabled && sitemapConfig.markdown.enabled) {
848
+ lines.push(`See the full [sitemap](${sitemapConfig.markdown.route}) for all pages.`);
849
+ if (sitemapConfig.markdown.docsRoute) lines.push(`Docs-scoped sitemap: [${sitemapConfig.markdown.docsRoute}](${sitemapConfig.markdown.docsRoute}).`);
850
+ lines.push(`Well-known sitemap: [${sitemapConfig.markdown.wellKnownRoute}](${sitemapConfig.markdown.wellKnownRoute}).`);
851
+ } else if (sitemapConfig.enabled && sitemapConfig.xml.enabled) lines.push(`See the XML [sitemap](${sitemapConfig.xml.route}) for all pages.`);
852
+ else lines.push("Sitemap discovery is not enabled for this deployment.");
853
+ return lines.join("\n");
854
+ }
855
+ function appendDocsMarkdownSitemapFooter(markdown, sitemap) {
856
+ if (/^##\s+Sitemap\s*$/im.test(markdown)) return markdown;
857
+ return `${markdown.replace(/\s+$/g, "")}\n\n${renderDocsMarkdownSitemapFooter(sitemap)}\n`;
858
+ }
859
+ function toDocsMarkdownYamlString(value) {
860
+ return JSON.stringify(value);
861
+ }
862
+ function normalizeDocsMarkdownLastUpdated(value) {
863
+ if (!value) return void 0;
864
+ const trimmed = value.trim();
865
+ const dateOnly = trimmed.match(/^\d{4}-\d{2}-\d{2}/)?.[0];
866
+ if (dateOnly) return dateOnly;
867
+ const date = new Date(trimmed);
868
+ if (Number.isNaN(date.getTime())) return void 0;
869
+ return date.toISOString().slice(0, 10);
870
+ }
871
+ function resolveDocsMarkdownMetadataUrl(value, origin) {
872
+ if (!origin) return value;
873
+ try {
874
+ return new URL(value, origin).toString();
875
+ } catch {
876
+ return value;
877
+ }
878
+ }
879
+ function renderDocsMarkdownFrontmatter({ title, description, canonicalUrl, markdownUrl, lastUpdated }) {
880
+ return [
881
+ "---",
882
+ `title: ${toDocsMarkdownYamlString(title)}`,
883
+ ...description ? [`description: ${toDocsMarkdownYamlString(description)}`] : [],
884
+ `canonical_url: ${toDocsMarkdownYamlString(canonicalUrl)}`,
885
+ `markdown_url: ${toDocsMarkdownYamlString(markdownUrl)}`,
886
+ ...lastUpdated ? [`last_updated: ${toDocsMarkdownYamlString(lastUpdated)}`] : [],
887
+ "---"
888
+ ].join("\n");
889
+ }
890
+ function hasDocsMarkdownFrontmatter(markdown) {
891
+ return /^---\r?\n[\s\S]*?\r?\n---(?:\r?\n|$)/.test(markdown);
892
+ }
893
+ function prependDocsMarkdownFrontmatter(markdown, metadata) {
894
+ if (hasDocsMarkdownFrontmatter(markdown)) return markdown;
895
+ return `${renderDocsMarkdownFrontmatter(metadata)}\n\n${markdown.replace(/^\r?\n+/, "")}`;
896
+ }
897
+ function resolveDocsMarkdownPageMetadata(page, options) {
898
+ return {
899
+ title: page.title,
900
+ description: page.description,
901
+ canonicalUrl: resolveDocsMarkdownMetadataUrl(page.url, options?.origin),
902
+ markdownUrl: resolveDocsMarkdownMetadataUrl(toDocsMarkdownUrl(page.url), options?.origin),
903
+ lastUpdated: normalizeDocsMarkdownLastUpdated(page.lastmod ?? page.lastModified)
904
+ };
905
+ }
906
+ function renderDocsMarkdownNotFound({ entry = "docs", requestedPath, origin, pages, sitemap }) {
743
907
  const normalizedEntry = normalizeDocsPathSegment(entry) || "docs";
744
908
  const normalizedRequest = normalizeRequestedMarkdownPath(normalizedEntry, requestedPath);
745
909
  const slugPrefix = `/${normalizedEntry}/`;
@@ -748,21 +912,24 @@ function renderDocsMarkdownNotFound({ entry = "docs", requestedPath, sitemap })
748
912
  const requestedMarkdownRoute = toDocsMarkdownUrl(normalizedRequest);
749
913
  const requestedApiRoute = requestedSlug ? `${DEFAULT_DOCS_API_ROUTE}?format=markdown&path=${encodedRequestedSlug}` : `${DEFAULT_DOCS_API_ROUTE}?format=markdown`;
750
914
  const sitemapConfig = resolveDocsSitemapConfig(sitemap);
915
+ const recovery = resolveDocsMarkdownRecovery({
916
+ entry: normalizedEntry,
917
+ requestedPath,
918
+ pages
919
+ });
751
920
  const lines = [
752
921
  "# Docs Page Not Found",
753
922
  "",
754
- `Could not find a markdown page for \`${requestedMarkdownRoute}\`.`,
755
- "",
756
- "Use these discovery routes to find the right page:",
757
- "",
758
- `- Agent discovery spec: \`${DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE}\``,
759
- `- Agent discovery fallback: \`${DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE}\``,
760
- `- Agent discovery API: \`${DEFAULT_AGENT_SPEC_ROUTE}\``,
761
- `- Agent instructions: \`${DEFAULT_AGENTS_MD_ROUTE}\``,
762
- `- Search endpoint: \`${DEFAULT_DOCS_API_ROUTE}?query={query}\``,
763
- `- Docs index markdown: \`/${normalizedEntry}.md\``,
764
- `- Requested markdown API route: \`${requestedApiRoute}\``
923
+ `Could not find a markdown page for \`${requestedMarkdownRoute}\`.`
765
924
  ];
925
+ if (recovery.matches.length > 0) {
926
+ lines.push("", "## Closest Matches", "");
927
+ for (const match of recovery.matches) {
928
+ const confidence = `${Math.round(match.confidence * 1e3) / 10}%`;
929
+ lines.push(`- [${match.title}](${match.markdownUrl}) (${confidence} confidence)${match.description ? ` - ${match.description}` : ""}`);
930
+ }
931
+ }
932
+ lines.push("", "## Recovery", "", "- If a closest match looks right, fetch that markdown URL directly.", "- If the match is uncertain, search the docs first and then fetch the smallest page that answers the task.", "- Use the sitemap routes below to browse the full docs index before guessing another slug.", "", "## Discovery Routes", "", "Use these discovery routes to find the right page:", "", `- Agent discovery spec: \`${DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE}\``, `- Agent discovery fallback: \`${DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE}\``, `- Agent discovery API: \`${DEFAULT_AGENT_SPEC_ROUTE}\``, `- Agent instructions: \`${DEFAULT_AGENTS_MD_ROUTE}\``, `- Search endpoint: \`${DEFAULT_DOCS_API_ROUTE}?query={query}\``, `- Docs index markdown: \`/${normalizedEntry}.md\``, `- Requested markdown API route: \`${requestedApiRoute}\``);
766
933
  if (sitemapConfig.enabled) {
767
934
  if (sitemapConfig.markdown.enabled) {
768
935
  lines.push(`- Semantic sitemap: \`${sitemapConfig.markdown.route}\``);
@@ -772,7 +939,12 @@ function renderDocsMarkdownNotFound({ entry = "docs", requestedPath, sitemap })
772
939
  if (sitemapConfig.xml.enabled) lines.push(`- XML sitemap: \`${sitemapConfig.xml.route}\``);
773
940
  } else lines.push(`- Sitemap discovery, if enabled: \`${DEFAULT_SITEMAP_MD_ROUTE}\`, \`${DEFAULT_SITEMAP_MD_DOCS_ROUTE}\`, \`${DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE}\`, or \`${DEFAULT_SITEMAP_XML_ROUTE}\``);
774
941
  lines.push("", "The agent discovery spec is the safest first step because it lists the active markdown, sitemap, robots, search, MCP, and feedback routes for this deployment.");
775
- return lines.join("\n");
942
+ return appendDocsMarkdownSitemapFooter(prependDocsMarkdownFrontmatter(lines.join("\n"), {
943
+ title: "Docs Page Not Found",
944
+ description: `Could not find a markdown page for ${requestedMarkdownRoute}.`,
945
+ canonicalUrl: resolveDocsMarkdownMetadataUrl(normalizedRequest, origin),
946
+ markdownUrl: resolveDocsMarkdownMetadataUrl(requestedMarkdownRoute, origin)
947
+ }), sitemap);
776
948
  }
777
949
  function findDocsMarkdownPage(entry, pages, requestedPath) {
778
950
  const normalizedRequest = normalizeRequestedMarkdownPath(entry, requestedPath);
@@ -907,14 +1079,14 @@ function appendDocsAgentPublicRouteLines(lines, context, variant) {
907
1079
  appendDocsMcpRouteLines(lines, context);
908
1080
  }
909
1081
  function renderDocsMarkdownDocument(page, options) {
910
- if (page.agentRawContent !== void 0) return page.agentRawContent;
1082
+ if (page.agentRawContent !== void 0) return appendDocsMarkdownSitemapFooter(prependDocsMarkdownFrontmatter(page.agentRawContent, resolveDocsMarkdownPageMetadata(page, options)), options?.sitemap);
911
1083
  const relatedLines = renderDocsRelatedMarkdownLines(page.related);
912
1084
  const lines = [`# ${page.title}`, `URL: ${page.url}`];
913
1085
  if (shouldRenderLlmsDirective(options)) lines.push(DOCS_LLMS_TXT_DIRECTIVE_LINE);
914
1086
  if (page.description) lines.push(`Description: ${page.description}`);
915
1087
  lines.push(...relatedLines);
916
1088
  lines.push("", page.agentFallbackRawContent ?? page.rawContent ?? page.content);
917
- return lines.join("\n");
1089
+ return appendDocsMarkdownSitemapFooter(prependDocsMarkdownFrontmatter(lines.join("\n"), resolveDocsMarkdownPageMetadata(page, options)), options?.sitemap);
918
1090
  }
919
1091
  function renderDocsSkillDocument(options) {
920
1092
  const { origin } = options;
@@ -949,7 +1121,7 @@ function renderDocsAgentsDocument(options) {
949
1121
  if (context.siteDescription) lines.push(`Description: ${context.siteDescription}`);
950
1122
  lines.push("", "## Start Here");
951
1123
  appendDocsAgentStartHereLines(lines, context, "agents");
952
- lines.push("", "## Working Rules", "- Prefer markdown routes, llms.txt, sitemap.md, OpenAPI schemas, and MCP tools over scraping rendered HTML.", "- Treat generated context files as discovery aids, then fetch the smallest page or section that answers the task.", "- Preserve canonical docs URLs when citing pages back to humans.", "- If a route returns a markdown 404, use the sitemap and discovery spec before guessing a slug.", "", "## Public Routes");
1124
+ lines.push("", "## Working Rules", "- Prefer markdown routes, llms.txt, sitemap.md, OpenAPI schemas, and MCP tools over scraping rendered HTML.", "- Treat generated context files as discovery aids, then fetch the smallest page or section that answers the task.", "- Preserve canonical docs URLs when citing pages back to humans.", "- If a markdown route returns a recovery page, use its closest matches, sitemap, and discovery spec before guessing another slug.", "", "## Public Routes");
953
1125
  appendDocsAgentPublicRouteLines(lines, context, "agents");
954
1126
  lines.push("", "## Framework Maintenance", "- For @farming-labs/docs projects, keep the framework package current before debugging missing agent surfaces.", "", "```sh", "npx @farming-labs/docs@latest upgrade --latest", "```", "", "- For framework setup, configuration, CLI, Ask AI, page actions, or theme work, install the reusable Skills pack:", "", "```sh", "npx skills add farming-labs/docs", "```");
955
1127
  return lines.join("\n");
@@ -1265,4 +1437,4 @@ function toYamlString(value) {
1265
1437
  }
1266
1438
 
1267
1439
  //#endregion
1268
- export { resolveDocsAgentsFormat as $, findDocsMarkdownPage as A, isDocsSkillRequest as B, DOCS_BOT_LIKE_USER_AGENT_HEADER_PATTERN as C, buildDocsAgentFeedbackSchema as D, buildDocsAgentDiscoverySpec as E, isDocsAgentDiscoveryRequest as F, renderDocsAgentsDocument as G, normalizeDocsPathSegment as H, isDocsAgentsRequest as I, renderDocsMarkdownNotFound as J, renderDocsLlmsTxt as K, isDocsLlmsTxtPublicRequest as L, getDocsMarkdownCanonicalLinkHeader as M, getDocsMarkdownVaryHeader as N, buildDocsMcpEndpointCandidates as O, hasDocsMarkdownSignatureAgent as P, resolveDocsAgentMdxContent as Q, isDocsMcpRequest as R, DOCS_AI_AGENT_USER_AGENT_HEADER_PATTERN as S, DOCS_TRADITIONAL_BOT_USER_AGENT_HEADER_PATTERN as T, normalizeDocsUrlPath as U, matchesDocsLlmsTxtSection as V, parseDocsAgentFeedbackData as W, resolveDocsAgentFeedbackConfig as X, renderDocsSkillDocument as Y, resolveDocsAgentFeedbackRequest as Z, DEFAULT_MCP_ROUTE as _, DEFAULT_AGENT_MD_ROUTE as a, resolveDocsOpenApiDiscoveryConfig as at, DEFAULT_SKILL_MD_ROUTE as b, DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE as c, toDocsMarkdownUrl as ct, DEFAULT_LLMS_FULL_TXT_ROUTE as d, resolveDocsLlmsTxtFormat as et, DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE as f, DEFAULT_MCP_PUBLIC_ROUTE as g, DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE as h, DEFAULT_AGENT_FEEDBACK_ROUTE as i, resolveDocsMarkdownRequest as it, getDocsLlmsTxtMaxCharsIssue as j, detectDocsMarkdownAgentRequest as k, DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE as l, validateDocsAgentFeedbackPayload as lt, DEFAULT_LLMS_TXT_ROUTE as m, DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE as n, resolveDocsLlmsTxtSections as nt, DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE as o, resolveDocsSkillFormat as ot, DEFAULT_LLMS_TXT_MAX_CHARS as p, renderDocsMarkdownDocument as q, DEFAULT_AGENT_FEEDBACK_PAYLOAD_SCHEMA as r, resolveDocsMarkdownCanonicalUrl as rt, DEFAULT_AGENT_SPEC_ROUTE as s, selectDocsLlmsTxtContent as st, DEFAULT_AGENTS_MD_ROUTE as t, resolveDocsLlmsTxtRequest as tt, DEFAULT_DOCS_API_ROUTE as u, DEFAULT_MCP_WELL_KNOWN_ROUTE as v, DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER as w, DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE as x, DEFAULT_OPENAPI_SCHEMA_ROUTE as y, isDocsPublicGetRequest as z };
1440
+ export { resolveDocsAgentsFormat as $, findDocsMarkdownPage as A, isDocsSkillRequest as B, DOCS_BOT_LIKE_USER_AGENT_HEADER_PATTERN as C, buildDocsAgentFeedbackSchema as D, buildDocsAgentDiscoverySpec as E, isDocsAgentDiscoveryRequest as F, renderDocsAgentsDocument as G, normalizeDocsPathSegment as H, isDocsAgentsRequest as I, renderDocsMarkdownNotFound as J, renderDocsLlmsTxt as K, isDocsLlmsTxtPublicRequest as L, getDocsMarkdownCanonicalLinkHeader as M, getDocsMarkdownVaryHeader as N, buildDocsMcpEndpointCandidates as O, hasDocsMarkdownSignatureAgent as P, resolveDocsAgentMdxContent as Q, isDocsMcpRequest as R, DOCS_AI_AGENT_USER_AGENT_HEADER_PATTERN as S, DOCS_TRADITIONAL_BOT_USER_AGENT_HEADER_PATTERN as T, normalizeDocsUrlPath as U, matchesDocsLlmsTxtSection as V, parseDocsAgentFeedbackData as W, resolveDocsAgentFeedbackConfig as X, renderDocsSkillDocument as Y, resolveDocsAgentFeedbackRequest as Z, DEFAULT_MCP_ROUTE as _, DEFAULT_AGENT_MD_ROUTE as a, resolveDocsMarkdownRequest as at, DEFAULT_SKILL_MD_ROUTE as b, DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE as c, selectDocsLlmsTxtContent as ct, DEFAULT_LLMS_FULL_TXT_ROUTE as d, resolveDocsLlmsTxtFormat as et, DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE as f, DEFAULT_MCP_PUBLIC_ROUTE as g, DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE as h, DEFAULT_AGENT_FEEDBACK_ROUTE as i, resolveDocsMarkdownRecovery as it, getDocsLlmsTxtMaxCharsIssue as j, detectDocsMarkdownAgentRequest as k, DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE as l, toDocsMarkdownUrl as lt, DEFAULT_LLMS_TXT_ROUTE as m, DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE as n, resolveDocsLlmsTxtSections as nt, DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE as o, resolveDocsOpenApiDiscoveryConfig as ot, DEFAULT_LLMS_TXT_MAX_CHARS as p, renderDocsMarkdownDocument as q, DEFAULT_AGENT_FEEDBACK_PAYLOAD_SCHEMA as r, resolveDocsMarkdownCanonicalUrl as rt, DEFAULT_AGENT_SPEC_ROUTE as s, resolveDocsSkillFormat as st, DEFAULT_AGENTS_MD_ROUTE as t, resolveDocsLlmsTxtRequest as tt, DEFAULT_DOCS_API_ROUTE as u, validateDocsAgentFeedbackPayload as ut, DEFAULT_MCP_WELL_KNOWN_ROUTE as v, DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER as w, DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE as x, DEFAULT_OPENAPI_SCHEMA_ROUTE as y, isDocsPublicGetRequest as z };
@@ -1,5 +1,5 @@
1
1
  import "./search-BL7o2rXk.mjs";
2
- import { G as renderDocsAgentsDocument, X as resolveDocsAgentFeedbackConfig, a as DEFAULT_AGENT_MD_ROUTE, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, o as DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, t as DEFAULT_AGENTS_MD_ROUTE, y as DEFAULT_OPENAPI_SCHEMA_ROUTE } from "./agent-KnE4AKMx.mjs";
2
+ import { G as renderDocsAgentsDocument, X as resolveDocsAgentFeedbackConfig, a as DEFAULT_AGENT_MD_ROUTE, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, o as DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, t as DEFAULT_AGENTS_MD_ROUTE, y as DEFAULT_OPENAPI_SCHEMA_ROUTE } from "./agent-xmep0HVx.mjs";
3
3
  import { S as resolveApiReferenceConfig } from "./sitemap-server-idLUrmmU.mjs";
4
4
  import { resolveDocsMcpConfig } from "./mcp.mjs";
5
5
  import "./server.mjs";
@@ -108,7 +108,7 @@ async function main() {
108
108
  const { runMcp } = await import("../mcp-CUAR3XfW.mjs");
109
109
  await runMcp(mcpOptions);
110
110
  } else if (parsedCommand.command === "agent" && subcommand === "compact") {
111
- const { compactAgentDocs, parseAgentCompactArgs, printAgentCompactHelp } = await import("../agent-DAtlIRSm.mjs");
111
+ const { compactAgentDocs, parseAgentCompactArgs, printAgentCompactHelp } = await import("../agent-nf_jCPfU.mjs");
112
112
  const agentCompactOptions = parseAgentCompactArgs(args.slice(2));
113
113
  if (agentCompactOptions.help) {
114
114
  printAgentCompactHelp();
@@ -118,11 +118,11 @@ async function main() {
118
118
  } else if (parsedCommand.command === "agent") {
119
119
  console.error(pc.red(`Unknown agent subcommand: ${subcommand ?? "(missing)"}`));
120
120
  console.error();
121
- const { printAgentCompactHelp } = await import("../agent-DAtlIRSm.mjs");
121
+ const { printAgentCompactHelp } = await import("../agent-nf_jCPfU.mjs");
122
122
  printAgentCompactHelp();
123
123
  process.exit(1);
124
124
  } else if (parsedCommand.command === "agents" && subcommand === "generate") {
125
- const { generateAgents, parseAgentsGenerateArgs, printAgentsGenerateHelp } = await import("../agents-CgKH6C6x.mjs");
125
+ const { generateAgents, parseAgentsGenerateArgs, printAgentsGenerateHelp } = await import("../agents-CdPlpyiG.mjs");
126
126
  const agentsOptions = parseAgentsGenerateArgs(args.slice(2));
127
127
  if (agentsOptions.help) {
128
128
  printAgentsGenerateHelp();
@@ -132,11 +132,11 @@ async function main() {
132
132
  } else if (parsedCommand.command === "agents") {
133
133
  console.error(pc.red(`Unknown agents subcommand: ${subcommand ?? "(missing)"}`));
134
134
  console.error();
135
- const { printAgentsGenerateHelp } = await import("../agents-CgKH6C6x.mjs");
135
+ const { printAgentsGenerateHelp } = await import("../agents-CdPlpyiG.mjs");
136
136
  printAgentsGenerateHelp();
137
137
  process.exit(1);
138
138
  } else if (parsedCommand.command === "doctor") {
139
- const { parseDoctorArgs, printDoctorHelp, runDoctor } = await import("../doctor-BnthZVEj.mjs");
139
+ const { parseDoctorArgs, printDoctorHelp, runDoctor } = await import("../doctor-Bhi2c8cu.mjs");
140
140
  const doctorOptions = parseDoctorArgs(args.slice(1));
141
141
  if (doctorOptions.help) {
142
142
  printDoctorHelp();
@@ -152,7 +152,7 @@ async function main() {
152
152
  }
153
153
  await runReview(reviewOptions);
154
154
  } else if ((parsedCommand.command === "codeblocks" || parsedCommand.command === "code-blocks") && subcommand === "validate") {
155
- const { parseCodeBlocksValidateArgs, printCodeBlocksValidateHelp, runCodeBlocksValidate } = await import("../codeblocks-D-XUELrh.mjs");
155
+ const { parseCodeBlocksValidateArgs, printCodeBlocksValidateHelp, runCodeBlocksValidate } = await import("../codeblocks-d2G0laKv.mjs");
156
156
  const codeBlocksOptions = parseCodeBlocksValidateArgs(args.slice(2));
157
157
  if (codeBlocksOptions.help) {
158
158
  printCodeBlocksValidateHelp();
@@ -162,7 +162,7 @@ async function main() {
162
162
  } else if (parsedCommand.command === "codeblocks" || parsedCommand.command === "code-blocks") {
163
163
  console.error(pc.red(`Unknown codeblocks subcommand: ${subcommand ?? "(missing)"}`));
164
164
  console.error();
165
- const { printCodeBlocksValidateHelp } = await import("../codeblocks-D-XUELrh.mjs");
165
+ const { printCodeBlocksValidateHelp } = await import("../codeblocks-d2G0laKv.mjs");
166
166
  printCodeBlocksValidateHelp();
167
167
  process.exit(1);
168
168
  } else if (parsedCommand.command === "search" && subcommand === "sync") {
@@ -188,7 +188,7 @@ async function main() {
188
188
  printSitemapGenerateHelp();
189
189
  process.exit(1);
190
190
  } else if (parsedCommand.command === "robots" && subcommand === "generate") {
191
- const { generateRobots, parseRobotsGenerateArgs, printRobotsGenerateHelp } = await import("../robots-M6dFmZCV.mjs");
191
+ const { generateRobots, parseRobotsGenerateArgs, printRobotsGenerateHelp } = await import("../robots-C9yxX1DG.mjs");
192
192
  const robotsOptions = parseRobotsGenerateArgs(args.slice(2));
193
193
  if (robotsOptions.help) {
194
194
  printRobotsGenerateHelp();
@@ -198,7 +198,7 @@ async function main() {
198
198
  } else if (parsedCommand.command === "robots") {
199
199
  console.error(pc.red(`Unknown robots subcommand: ${subcommand ?? "(missing)"}`));
200
200
  console.error();
201
- const { printRobotsGenerateHelp } = await import("../robots-M6dFmZCV.mjs");
201
+ const { printRobotsGenerateHelp } = await import("../robots-C9yxX1DG.mjs");
202
202
  printRobotsGenerateHelp();
203
203
  process.exit(1);
204
204
  } else if (parsedCommand.command === "downgrade") {
@@ -1,5 +1,5 @@
1
1
  import { _ as parseGeneratedAgentDocument, h as hashGeneratedAgentContent, m as GENERATED_AGENT_PROVENANCE_VERSION, v as serializeGeneratedAgentDocument } from "./search-BL7o2rXk.mjs";
2
- import { A as findDocsMarkdownPage, q as renderDocsMarkdownDocument } from "./agent-KnE4AKMx.mjs";
2
+ import { A as findDocsMarkdownPage, q as renderDocsMarkdownDocument } from "./agent-xmep0HVx.mjs";
3
3
  import "./index.mjs";
4
4
  import { createFilesystemDocsMcpSource } from "./mcp.mjs";
5
5
  import "./server.mjs";
@@ -1,14 +1,14 @@
1
1
  import "./reading-time-DPAazAGu.mjs";
2
2
  import "./search-BL7o2rXk.mjs";
3
3
  import { a as DEFAULT_SITEMAP_XML_ROUTE, d as resolveDocsSitemapConfig, i as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, r as DEFAULT_SITEMAP_MD_ROUTE } from "./sitemap-CMNj0Pt3.mjs";
4
- import { O as buildDocsMcpEndpointCandidates, b as DEFAULT_SKILL_MD_ROUTE, c as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, d as DEFAULT_LLMS_FULL_TXT_ROUTE, g as DEFAULT_MCP_PUBLIC_ROUTE, i as DEFAULT_AGENT_FEEDBACK_ROUTE, l as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, m as DEFAULT_LLMS_TXT_ROUTE, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, t as DEFAULT_AGENTS_MD_ROUTE, v as DEFAULT_MCP_WELL_KNOWN_ROUTE, x as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE } from "./agent-KnE4AKMx.mjs";
5
- import { a as analyzeDocsRobotsTxt, n as DEFAULT_ROBOTS_TXT_ROUTE, u as resolveDocsRobotsConfig } from "./robots-hoWDvtta.mjs";
4
+ import { O as buildDocsMcpEndpointCandidates, b as DEFAULT_SKILL_MD_ROUTE, c as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, d as DEFAULT_LLMS_FULL_TXT_ROUTE, g as DEFAULT_MCP_PUBLIC_ROUTE, i as DEFAULT_AGENT_FEEDBACK_ROUTE, l as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, m as DEFAULT_LLMS_TXT_ROUTE, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, t as DEFAULT_AGENTS_MD_ROUTE, v as DEFAULT_MCP_WELL_KNOWN_ROUTE, x as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE } from "./agent-xmep0HVx.mjs";
5
+ import { a as analyzeDocsRobotsTxt, n as DEFAULT_ROBOTS_TXT_ROUTE, u as resolveDocsRobotsConfig } from "./robots-B-1XRFFz.mjs";
6
6
  import "./sitemap-server-idLUrmmU.mjs";
7
7
  import { createFilesystemDocsMcpSource, resolveDocsMcpConfig } from "./mcp.mjs";
8
8
  import "./server.mjs";
9
9
  import { a as loadProjectEnv, c as readNavTitle, f as readTopLevelStringProperty, i as loadDocsConfigModule, m as resolveDocsContentDir, o as readBooleanProperty, p as resolveDocsConfigPath, r as extractTopLevelConfigObject, t as extractNestedObjectLiteral } from "./config-CBoixmrv.mjs";
10
10
  import { t as detectFramework } from "./utils-x5EtYWjC.mjs";
11
- import { n as inspectAgentCompactionState, o as scanDocsPageTargets } from "./codeblocks-D-XUELrh.mjs";
11
+ import { n as inspectAgentCompactionState, o as scanDocsPageTargets } from "./codeblocks-d2G0laKv.mjs";
12
12
  import { existsSync, lstatSync, readFileSync, readdirSync } from "node:fs";
13
13
  import path from "node:path";
14
14
  import { LATEST_PROTOCOL_VERSION } from "@modelcontextprotocol/sdk/types.js";
package/dist/index.d.mts CHANGED
@@ -356,6 +356,8 @@ interface DocsMarkdownPage {
356
356
  url: string;
357
357
  title: string;
358
358
  description?: string;
359
+ lastModified?: string;
360
+ lastmod?: string;
359
361
  related?: ResolvedDocsRelatedLink[];
360
362
  content: string;
361
363
  rawContent?: string;
@@ -366,12 +368,27 @@ interface DocsMarkdownPage {
366
368
  }
367
369
  interface DocsMarkdownDocumentOptions {
368
370
  llms?: boolean | DocsLlmsDiscoveryConfig | LlmsTxtConfig;
371
+ origin?: string;
372
+ sitemap?: boolean | DocsSitemapConfig;
369
373
  }
370
374
  interface DocsMarkdownNotFoundOptions {
371
375
  entry?: string;
372
376
  requestedPath: string;
377
+ origin?: string;
378
+ pages?: DocsMarkdownPage[];
373
379
  sitemap?: boolean | DocsSitemapConfig;
374
380
  }
381
+ interface DocsMarkdownRecoveryMatch {
382
+ title: string;
383
+ url: string;
384
+ markdownUrl: string;
385
+ description?: string;
386
+ confidence: number;
387
+ }
388
+ interface DocsMarkdownRecoveryResult {
389
+ matches: DocsMarkdownRecoveryMatch[];
390
+ redirect?: DocsMarkdownRecoveryMatch;
391
+ }
375
392
  interface DocsMarkdownCanonicalUrlOptions {
376
393
  origin: string;
377
394
  entry?: string;
@@ -434,9 +451,16 @@ type DocsMarkdownAgentDetection = {
434
451
  };
435
452
  declare function detectDocsMarkdownAgentRequest(request: Request): DocsMarkdownAgentDetection;
436
453
  declare function getDocsMarkdownVaryHeader(request: Request): string | null;
454
+ declare function resolveDocsMarkdownRecovery({
455
+ entry,
456
+ requestedPath,
457
+ pages
458
+ }: DocsMarkdownNotFoundOptions): DocsMarkdownRecoveryResult;
437
459
  declare function renderDocsMarkdownNotFound({
438
460
  entry,
439
461
  requestedPath,
462
+ origin,
463
+ pages,
440
464
  sitemap
441
465
  }: DocsMarkdownNotFoundOptions): string;
442
466
  declare function findDocsMarkdownPage<T extends DocsMarkdownPage>(entry: string, pages: T[], requestedPath: string): T | null;
@@ -679,4 +703,4 @@ declare function renderDocsRobotsGeneratedBlock(options?: DocsRobotsRenderOption
679
703
  declare function upsertDocsRobotsGeneratedBlock(existing: string, block: string): string;
680
704
  declare function analyzeDocsRobotsTxt(content: string, options?: DocsRobotsRenderOptions): DocsRobotsAnalysis;
681
705
  //#endregion
682
- export { type AIConfig, type AgentFeedbackConfig, type AlgoliaDocsSearchConfig, type ApiReferenceConfig, type ApiReferenceRenderer, type BreadcrumbConfig, type ChangelogConfig, type ChangelogEntrySummary, type ChangelogFrontmatter, type CodeBlockCopyData, type CopyMarkdownConfig, type CustomDocsSearchConfig, DEFAULT_AGENTS_MD_ROUTE, DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, DEFAULT_AGENT_FEEDBACK_PAYLOAD_SCHEMA, DEFAULT_AGENT_FEEDBACK_ROUTE, DEFAULT_AGENT_MD_ROUTE, DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, DEFAULT_AGENT_SPEC_ROUTE, DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, DEFAULT_DOCS_AI_ROBOTS_USER_AGENTS, DEFAULT_DOCS_API_ROUTE, DEFAULT_LLMS_FULL_TXT_ROUTE, DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, DEFAULT_LLMS_TXT_MAX_CHARS, DEFAULT_LLMS_TXT_ROUTE, DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE, DEFAULT_MCP_PUBLIC_ROUTE, DEFAULT_MCP_ROUTE, DEFAULT_MCP_WELL_KNOWN_ROUTE, DEFAULT_OPENAPI_SCHEMA_ROUTE, DEFAULT_ROBOTS_TXT_ROUTE, DEFAULT_SITEMAP_MANIFEST_PATH, DEFAULT_SITEMAP_MD_DOCS_ROUTE, DEFAULT_SITEMAP_MD_ROUTE, DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, DEFAULT_SITEMAP_XML_ROUTE, DEFAULT_SKILL_MD_ROUTE, DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, DOCS_AGENT_TRACE_EVENT_TYPES, DOCS_AI_AGENT_USER_AGENT_HEADER_PATTERN, DOCS_BOT_LIKE_USER_AGENT_HEADER_PATTERN, DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER, DOCS_ROBOTS_GENERATED_BLOCK_END, DOCS_ROBOTS_GENERATED_BLOCK_START, DOCS_TRADITIONAL_BOT_USER_AGENT_HEADER_PATTERN, type DocsAgentDiscoverySpecOptions, type DocsAgentFeedbackContext, type DocsAgentFeedbackData, type DocsAgentFeedbackDiscoveryConfig, type DocsAgentFeedbackRequest, type DocsAgentFeedbackResolvedConfig, type DocsAgentTraceContext, type DocsAgentTraceEventInput, type DocsAgentTraceEventType, type DocsAgentTraceStatus, type DocsAgentsDocumentOptions, type DocsAnalyticsConfig, type DocsAnalyticsEvent, type DocsAnalyticsEventInput, type DocsAnalyticsEventType, type DocsAnalyticsInput, type DocsAnalyticsSource, type DocsAskAIActionData, type DocsAskAIActionType, type DocsAskAIFeedbackConfig, type DocsAskAIFeedbackData, type DocsAskAIFeedbackMessage, type DocsAskAIFeedbackValue, type DocsAskAIMcpConfig, type DocsCloudAnalyticsOptions, type DocsCloudApiKeyConfig, type DocsCloudConfig, type DocsCloudFeatureConfig, type DocsCloudPreviewConfig, type DocsCloudPublishConfig, type DocsCodeBlocksConfig, type DocsCodeBlocksPlannerConfig, type DocsCodeBlocksPlannerProvider, type DocsCodeBlocksRunnerConfig, type DocsCodeBlocksRunnerProvider, type DocsCodeBlocksValidateConfig, type DocsCodeBlocksValidationMode, type DocsCodeBlocksValidationPolicy, type DocsConfig, type DocsFeedbackData, type DocsFeedbackValue, type DocsI18nConfig, type DocsLlmsDiscoveryConfig, type DocsLlmsTxtGeneratedContent, type DocsLlmsTxtGeneratedSection, type DocsLlmsTxtMaxCharsIssue, type DocsLlmsTxtPageInput, type DocsLlmsTxtRequest, type DocsLlmsTxtResolvedMaxChars, type DocsLlmsTxtResolvedSection, type DocsLlmsTxtSelectedContent, type DocsMarkdownAgentDetection, type DocsMarkdownPage, type DocsMcpConfig, type DocsMcpEndpointCandidate, type DocsMcpEndpointCandidateOptions, type DocsMcpToolsConfig, type DocsMetadata, type DocsNav, type DocsObservabilityConfig, type DocsObservabilityEvent, type DocsObservabilityEventInput, type DocsOpenApiDiscoveryConfig, type DocsOpenApiResolvedDiscoveryConfig, type DocsPageStructuredDataInput, type DocsPathMatch, type DocsRelatedItem, type DocsReviewCiConfig, type DocsReviewCiMode, type DocsReviewConfig, type DocsReviewRulesConfig, type DocsReviewScoreConfig, type DocsReviewSeverity, type DocsRobotsConfig, type DocsRobotsRenderOptions, type DocsRobotsResolvedConfig, type DocsRobotsRule, type DocsSearchAdapter, type DocsSearchAdapterContext, type DocsSearchAdapterFactory, type DocsSearchChunkingConfig, type DocsSearchConfig, type DocsSearchDocument, type DocsSearchEmbeddingsConfig, type DocsSearchQuery, type DocsSearchResult, type DocsSearchResultType, type DocsSearchSourcePage, type DocsSitemapConfig, type DocsSitemapFormat, type DocsSitemapManifest, type DocsSitemapManifestPage, type DocsSitemapPageInput, type DocsSitemapResolvedConfig, type DocsSkillDocumentOptions, type DocsStructuredDataBreadcrumb, type DocsTheme, type FeedbackConfig, type FontStyle, GENERATED_AGENT_PROVENANCE_MARKER, GENERATED_AGENT_PROVENANCE_VERSION, type GeneratedAgentProvenance, type GeneratedAgentSourceKind, type GithubConfig, type LastUpdatedConfig, type LlmsTxtConfig, type LlmsTxtMaxCharsConfig, type LlmsTxtMaxCharsMode, type LlmsTxtSectionConfig, type McpDocsSearchConfig, type OGConfig, type OpenDocsConfig, type OpenDocsProvider, type OpenDocsProviderConfig, type OpenDocsProviderId, type OpenDocsTarget, type OpenGraphImage, type OrderingItem, type PageActionsConfig, type PageFrontmatter, type PageOpenGraph, type PageSidebarFrontmatter, type PageTwitter, type PromptAction, type PromptProviderChoice, type ReadingTimeConfig, type ResolvedChangelogConfig, type ResolvedDocsAnalyticsConfig, type ResolvedDocsI18n, type ResolvedDocsObservabilityConfig, type ResolvedDocsRelatedLink, type SerializeOpenDocsProviderOptions, type SerializedOpenDocsProvider, type SidebarComponentProps, type SidebarConfig, type SidebarFolderIndexBehavior, type SidebarFolderNode, type SidebarNode, type SidebarPageNode, type SidebarTree, type SimpleDocsSearchConfig, type ThemeToggleConfig, type TypesenseDocsSearchConfig, type TypographyConfig, type UIConfig, analyzeDocsRobotsTxt, applySidebarFolderIndexBehavior, buildDocsAgentDiscoverySpec, buildDocsAgentFeedbackSchema, buildDocsAskAIContext, buildDocsMcpEndpointCandidates, buildDocsPageStructuredData, buildDocsSearchDocuments, buildDocsSitemapManifest, buildPageOpenGraph, buildPageTwitter, createAlgoliaSearchAdapter, createCustomSearchAdapter, createDocsAgentTraceContext, createDocsAgentTraceId, createDocsCloudAnalytics, createDocsRobotsResponse, createDocsSitemapResponse, createMcpSearchAdapter, createSimpleSearchAdapter, createTheme, createTypesenseSearchAdapter, deepMerge, defineDocs, detectDocsMarkdownAgentRequest, emitDocsAgentTraceEvent, emitDocsAnalyticsEvent, emitDocsObservabilityEvent, estimateReadingTimeMinutes, extendTheme, findDocsMarkdownPage, formatDocsAskAIPackageHints, getDocsLlmsTxtMaxCharsIssue, getDocsMarkdownCanonicalLinkHeader, getDocsMarkdownVaryHeader, getDocsRobotsAllowRoutes, hasDocsMarkdownSignatureAgent, hashGeneratedAgentContent, inferDocsAskAIPackageHints, isDocsAgentDiscoveryRequest, isDocsAgentsRequest, isDocsLlmsTxtPublicRequest, isDocsMcpRequest, isDocsPublicGetRequest, isDocsSkillRequest, matchesDocsLlmsTxtSection, normalizeDocsPathSegment, normalizeDocsRelated, normalizeDocsUrlPath, normalizeGeneratedAgentContent, parseDocsAgentFeedbackData, parseGeneratedAgentDocument, performDocsSearch, readDocsSitemapManifestFromContentMap, renderDocsAgentsDocument, renderDocsLlmsTxt, renderDocsMarkdownDocument, renderDocsMarkdownNotFound, renderDocsPageStructuredDataJson, renderDocsRelatedMarkdownLines, renderDocsRobotsGeneratedBlock, renderDocsRobotsTxt, renderDocsSitemapMarkdown, renderDocsSitemapXml, renderDocsSkillDocument, resolveAskAISearchRequestConfig, resolveChangelogConfig, resolveDocsAgentFeedbackConfig, resolveDocsAgentFeedbackRequest, resolveDocsAgentMdxContent, resolveDocsAgentsFormat, resolveDocsAnalyticsConfig, resolveDocsI18n, resolveDocsLlmsTxtFormat, resolveDocsLlmsTxtRequest, resolveDocsLlmsTxtSections, resolveDocsLocale, resolveDocsMarkdownCanonicalUrl, resolveDocsMarkdownRequest, resolveDocsMetadataBaseUrl, resolveDocsObservabilityConfig, resolveDocsOpenApiDiscoveryConfig, resolveDocsPath, resolveDocsRobotsConfig, resolveDocsRobotsRequest, resolveDocsSitemapConfig, resolveDocsSitemapPageLastmod, resolveDocsSitemapRequest, resolveDocsSkillFormat, resolveOGImage, resolvePageReadingTime, resolvePageSidebarFolderIndexBehavior, resolveReadingTimeFromContent, resolveReadingTimeFromSource, resolveReadingTimeOptions, resolveSearchRequestConfig, resolveSidebarFolderIndexBehavior, resolveSidebarFolderIndexBehaviorForPath, resolveTitle, selectDocsLlmsTxtContent, serializeGeneratedAgentDocument, stripGeneratedAgentProvenance, toDocsMarkdownUrl, toDocsSitemapMarkdownUrl, upsertDocsRobotsGeneratedBlock, validateDocsAgentFeedbackPayload };
706
+ export { type AIConfig, type AgentFeedbackConfig, type AlgoliaDocsSearchConfig, type ApiReferenceConfig, type ApiReferenceRenderer, type BreadcrumbConfig, type ChangelogConfig, type ChangelogEntrySummary, type ChangelogFrontmatter, type CodeBlockCopyData, type CopyMarkdownConfig, type CustomDocsSearchConfig, DEFAULT_AGENTS_MD_ROUTE, DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, DEFAULT_AGENT_FEEDBACK_PAYLOAD_SCHEMA, DEFAULT_AGENT_FEEDBACK_ROUTE, DEFAULT_AGENT_MD_ROUTE, DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, DEFAULT_AGENT_SPEC_ROUTE, DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, DEFAULT_DOCS_AI_ROBOTS_USER_AGENTS, DEFAULT_DOCS_API_ROUTE, DEFAULT_LLMS_FULL_TXT_ROUTE, DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, DEFAULT_LLMS_TXT_MAX_CHARS, DEFAULT_LLMS_TXT_ROUTE, DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE, DEFAULT_MCP_PUBLIC_ROUTE, DEFAULT_MCP_ROUTE, DEFAULT_MCP_WELL_KNOWN_ROUTE, DEFAULT_OPENAPI_SCHEMA_ROUTE, DEFAULT_ROBOTS_TXT_ROUTE, DEFAULT_SITEMAP_MANIFEST_PATH, DEFAULT_SITEMAP_MD_DOCS_ROUTE, DEFAULT_SITEMAP_MD_ROUTE, DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, DEFAULT_SITEMAP_XML_ROUTE, DEFAULT_SKILL_MD_ROUTE, DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, DOCS_AGENT_TRACE_EVENT_TYPES, DOCS_AI_AGENT_USER_AGENT_HEADER_PATTERN, DOCS_BOT_LIKE_USER_AGENT_HEADER_PATTERN, DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER, DOCS_ROBOTS_GENERATED_BLOCK_END, DOCS_ROBOTS_GENERATED_BLOCK_START, DOCS_TRADITIONAL_BOT_USER_AGENT_HEADER_PATTERN, type DocsAgentDiscoverySpecOptions, type DocsAgentFeedbackContext, type DocsAgentFeedbackData, type DocsAgentFeedbackDiscoveryConfig, type DocsAgentFeedbackRequest, type DocsAgentFeedbackResolvedConfig, type DocsAgentTraceContext, type DocsAgentTraceEventInput, type DocsAgentTraceEventType, type DocsAgentTraceStatus, type DocsAgentsDocumentOptions, type DocsAnalyticsConfig, type DocsAnalyticsEvent, type DocsAnalyticsEventInput, type DocsAnalyticsEventType, type DocsAnalyticsInput, type DocsAnalyticsSource, type DocsAskAIActionData, type DocsAskAIActionType, type DocsAskAIFeedbackConfig, type DocsAskAIFeedbackData, type DocsAskAIFeedbackMessage, type DocsAskAIFeedbackValue, type DocsAskAIMcpConfig, type DocsCloudAnalyticsOptions, type DocsCloudApiKeyConfig, type DocsCloudConfig, type DocsCloudFeatureConfig, type DocsCloudPreviewConfig, type DocsCloudPublishConfig, type DocsCodeBlocksConfig, type DocsCodeBlocksPlannerConfig, type DocsCodeBlocksPlannerProvider, type DocsCodeBlocksRunnerConfig, type DocsCodeBlocksRunnerProvider, type DocsCodeBlocksValidateConfig, type DocsCodeBlocksValidationMode, type DocsCodeBlocksValidationPolicy, type DocsConfig, type DocsFeedbackData, type DocsFeedbackValue, type DocsI18nConfig, type DocsLlmsDiscoveryConfig, type DocsLlmsTxtGeneratedContent, type DocsLlmsTxtGeneratedSection, type DocsLlmsTxtMaxCharsIssue, type DocsLlmsTxtPageInput, type DocsLlmsTxtRequest, type DocsLlmsTxtResolvedMaxChars, type DocsLlmsTxtResolvedSection, type DocsLlmsTxtSelectedContent, type DocsMarkdownAgentDetection, type DocsMarkdownPage, type DocsMarkdownRecoveryMatch, type DocsMarkdownRecoveryResult, type DocsMcpConfig, type DocsMcpEndpointCandidate, type DocsMcpEndpointCandidateOptions, type DocsMcpToolsConfig, type DocsMetadata, type DocsNav, type DocsObservabilityConfig, type DocsObservabilityEvent, type DocsObservabilityEventInput, type DocsOpenApiDiscoveryConfig, type DocsOpenApiResolvedDiscoveryConfig, type DocsPageStructuredDataInput, type DocsPathMatch, type DocsRelatedItem, type DocsReviewCiConfig, type DocsReviewCiMode, type DocsReviewConfig, type DocsReviewRulesConfig, type DocsReviewScoreConfig, type DocsReviewSeverity, type DocsRobotsConfig, type DocsRobotsRenderOptions, type DocsRobotsResolvedConfig, type DocsRobotsRule, type DocsSearchAdapter, type DocsSearchAdapterContext, type DocsSearchAdapterFactory, type DocsSearchChunkingConfig, type DocsSearchConfig, type DocsSearchDocument, type DocsSearchEmbeddingsConfig, type DocsSearchQuery, type DocsSearchResult, type DocsSearchResultType, type DocsSearchSourcePage, type DocsSitemapConfig, type DocsSitemapFormat, type DocsSitemapManifest, type DocsSitemapManifestPage, type DocsSitemapPageInput, type DocsSitemapResolvedConfig, type DocsSkillDocumentOptions, type DocsStructuredDataBreadcrumb, type DocsTheme, type FeedbackConfig, type FontStyle, GENERATED_AGENT_PROVENANCE_MARKER, GENERATED_AGENT_PROVENANCE_VERSION, type GeneratedAgentProvenance, type GeneratedAgentSourceKind, type GithubConfig, type LastUpdatedConfig, type LlmsTxtConfig, type LlmsTxtMaxCharsConfig, type LlmsTxtMaxCharsMode, type LlmsTxtSectionConfig, type McpDocsSearchConfig, type OGConfig, type OpenDocsConfig, type OpenDocsProvider, type OpenDocsProviderConfig, type OpenDocsProviderId, type OpenDocsTarget, type OpenGraphImage, type OrderingItem, type PageActionsConfig, type PageFrontmatter, type PageOpenGraph, type PageSidebarFrontmatter, type PageTwitter, type PromptAction, type PromptProviderChoice, type ReadingTimeConfig, type ResolvedChangelogConfig, type ResolvedDocsAnalyticsConfig, type ResolvedDocsI18n, type ResolvedDocsObservabilityConfig, type ResolvedDocsRelatedLink, type SerializeOpenDocsProviderOptions, type SerializedOpenDocsProvider, type SidebarComponentProps, type SidebarConfig, type SidebarFolderIndexBehavior, type SidebarFolderNode, type SidebarNode, type SidebarPageNode, type SidebarTree, type SimpleDocsSearchConfig, type ThemeToggleConfig, type TypesenseDocsSearchConfig, type TypographyConfig, type UIConfig, analyzeDocsRobotsTxt, applySidebarFolderIndexBehavior, buildDocsAgentDiscoverySpec, buildDocsAgentFeedbackSchema, buildDocsAskAIContext, buildDocsMcpEndpointCandidates, buildDocsPageStructuredData, buildDocsSearchDocuments, buildDocsSitemapManifest, buildPageOpenGraph, buildPageTwitter, createAlgoliaSearchAdapter, createCustomSearchAdapter, createDocsAgentTraceContext, createDocsAgentTraceId, createDocsCloudAnalytics, createDocsRobotsResponse, createDocsSitemapResponse, createMcpSearchAdapter, createSimpleSearchAdapter, createTheme, createTypesenseSearchAdapter, deepMerge, defineDocs, detectDocsMarkdownAgentRequest, emitDocsAgentTraceEvent, emitDocsAnalyticsEvent, emitDocsObservabilityEvent, estimateReadingTimeMinutes, extendTheme, findDocsMarkdownPage, formatDocsAskAIPackageHints, getDocsLlmsTxtMaxCharsIssue, getDocsMarkdownCanonicalLinkHeader, getDocsMarkdownVaryHeader, getDocsRobotsAllowRoutes, hasDocsMarkdownSignatureAgent, hashGeneratedAgentContent, inferDocsAskAIPackageHints, isDocsAgentDiscoveryRequest, isDocsAgentsRequest, isDocsLlmsTxtPublicRequest, isDocsMcpRequest, isDocsPublicGetRequest, isDocsSkillRequest, matchesDocsLlmsTxtSection, normalizeDocsPathSegment, normalizeDocsRelated, normalizeDocsUrlPath, normalizeGeneratedAgentContent, parseDocsAgentFeedbackData, parseGeneratedAgentDocument, performDocsSearch, readDocsSitemapManifestFromContentMap, renderDocsAgentsDocument, renderDocsLlmsTxt, renderDocsMarkdownDocument, renderDocsMarkdownNotFound, renderDocsPageStructuredDataJson, renderDocsRelatedMarkdownLines, renderDocsRobotsGeneratedBlock, renderDocsRobotsTxt, renderDocsSitemapMarkdown, renderDocsSitemapXml, renderDocsSkillDocument, resolveAskAISearchRequestConfig, resolveChangelogConfig, resolveDocsAgentFeedbackConfig, resolveDocsAgentFeedbackRequest, resolveDocsAgentMdxContent, resolveDocsAgentsFormat, resolveDocsAnalyticsConfig, resolveDocsI18n, resolveDocsLlmsTxtFormat, resolveDocsLlmsTxtRequest, resolveDocsLlmsTxtSections, resolveDocsLocale, resolveDocsMarkdownCanonicalUrl, resolveDocsMarkdownRecovery, resolveDocsMarkdownRequest, resolveDocsMetadataBaseUrl, resolveDocsObservabilityConfig, resolveDocsOpenApiDiscoveryConfig, resolveDocsPath, resolveDocsRobotsConfig, resolveDocsRobotsRequest, resolveDocsSitemapConfig, resolveDocsSitemapPageLastmod, resolveDocsSitemapRequest, resolveDocsSkillFormat, resolveOGImage, resolvePageReadingTime, resolvePageSidebarFolderIndexBehavior, resolveReadingTimeFromContent, resolveReadingTimeFromSource, resolveReadingTimeOptions, resolveSearchRequestConfig, resolveSidebarFolderIndexBehavior, resolveSidebarFolderIndexBehaviorForPath, resolveTitle, selectDocsLlmsTxtContent, serializeGeneratedAgentDocument, stripGeneratedAgentProvenance, toDocsMarkdownUrl, toDocsSitemapMarkdownUrl, upsertDocsRobotsGeneratedBlock, validateDocsAgentFeedbackPayload };
package/dist/index.mjs CHANGED
@@ -2,7 +2,7 @@ import { _ as extendTheme, a as resolveReadingTimeOptions, b as defineDocs, c as
2
2
  import { A as resolveDocsAnalyticsConfig, C as resolveSidebarFolderIndexBehaviorForPath, D as emitDocsAgentTraceEvent, E as createDocsAgentTraceId, M as createDocsCloudAnalytics, O as emitDocsAnalyticsEvent, S as resolveSidebarFolderIndexBehavior, T as createDocsAgentTraceContext, _ as parseGeneratedAgentDocument, a as createMcpSearchAdapter, b as applySidebarFolderIndexBehavior, c as formatDocsAskAIPackageHints, d as resolveAskAISearchRequestConfig, f as resolveSearchRequestConfig, g as normalizeGeneratedAgentContent, h as hashGeneratedAgentContent, i as createCustomSearchAdapter, j as resolveDocsObservabilityConfig, k as emitDocsObservabilityEvent, l as inferDocsAskAIPackageHints, m as GENERATED_AGENT_PROVENANCE_VERSION, n as buildDocsSearchDocuments, o as createSimpleSearchAdapter, p as GENERATED_AGENT_PROVENANCE_MARKER, r as createAlgoliaSearchAdapter, s as createTypesenseSearchAdapter, t as buildDocsAskAIContext, u as performDocsSearch, v as serializeGeneratedAgentDocument, w as DOCS_AGENT_TRACE_EVENT_TYPES, x as resolvePageSidebarFolderIndexBehavior, y as stripGeneratedAgentProvenance } from "./search-BL7o2rXk.mjs";
3
3
  import { n as renderDocsRelatedMarkdownLines, t as normalizeDocsRelated } from "./related-BNj_NdHq.mjs";
4
4
  import { a as DEFAULT_SITEMAP_XML_ROUTE, c as readDocsSitemapManifestFromContentMap, d as resolveDocsSitemapConfig, f as resolveDocsSitemapPageLastmod, i as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, l as renderDocsSitemapMarkdown, m as toDocsSitemapMarkdownUrl, n as DEFAULT_SITEMAP_MD_DOCS_ROUTE, o as buildDocsSitemapManifest, p as resolveDocsSitemapRequest, r as DEFAULT_SITEMAP_MD_ROUTE, s as createDocsSitemapResponse, t as DEFAULT_SITEMAP_MANIFEST_PATH, u as renderDocsSitemapXml } from "./sitemap-CMNj0Pt3.mjs";
5
- import { $ as resolveDocsAgentsFormat, A as findDocsMarkdownPage, B as isDocsSkillRequest, C as DOCS_BOT_LIKE_USER_AGENT_HEADER_PATTERN, D as buildDocsAgentFeedbackSchema, E as buildDocsAgentDiscoverySpec, F as isDocsAgentDiscoveryRequest, G as renderDocsAgentsDocument, H as normalizeDocsPathSegment, I as isDocsAgentsRequest, J as renderDocsMarkdownNotFound, K as renderDocsLlmsTxt, L as isDocsLlmsTxtPublicRequest, M as getDocsMarkdownCanonicalLinkHeader, N as getDocsMarkdownVaryHeader, O as buildDocsMcpEndpointCandidates, P as hasDocsMarkdownSignatureAgent, Q as resolveDocsAgentMdxContent, R as isDocsMcpRequest, S as DOCS_AI_AGENT_USER_AGENT_HEADER_PATTERN, T as DOCS_TRADITIONAL_BOT_USER_AGENT_HEADER_PATTERN, U as normalizeDocsUrlPath, V as matchesDocsLlmsTxtSection, W as parseDocsAgentFeedbackData, X as resolveDocsAgentFeedbackConfig, Y as renderDocsSkillDocument, Z as resolveDocsAgentFeedbackRequest, _ as DEFAULT_MCP_ROUTE, a as DEFAULT_AGENT_MD_ROUTE, at as resolveDocsOpenApiDiscoveryConfig, b as DEFAULT_SKILL_MD_ROUTE, c as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, ct as toDocsMarkdownUrl, d as DEFAULT_LLMS_FULL_TXT_ROUTE, et as resolveDocsLlmsTxtFormat, f as DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, g as DEFAULT_MCP_PUBLIC_ROUTE, h as DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE, i as DEFAULT_AGENT_FEEDBACK_ROUTE, it as resolveDocsMarkdownRequest, j as getDocsLlmsTxtMaxCharsIssue, k as detectDocsMarkdownAgentRequest, l as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, lt as validateDocsAgentFeedbackPayload, m as DEFAULT_LLMS_TXT_ROUTE, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, nt as resolveDocsLlmsTxtSections, o as DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, ot as resolveDocsSkillFormat, p as DEFAULT_LLMS_TXT_MAX_CHARS, q as renderDocsMarkdownDocument, r as DEFAULT_AGENT_FEEDBACK_PAYLOAD_SCHEMA, rt as resolveDocsMarkdownCanonicalUrl, s as DEFAULT_AGENT_SPEC_ROUTE, st as selectDocsLlmsTxtContent, t as DEFAULT_AGENTS_MD_ROUTE, tt as resolveDocsLlmsTxtRequest, u as DEFAULT_DOCS_API_ROUTE, v as DEFAULT_MCP_WELL_KNOWN_ROUTE, w as DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER, x as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, y as DEFAULT_OPENAPI_SCHEMA_ROUTE, z as isDocsPublicGetRequest } from "./agent-KnE4AKMx.mjs";
6
- import { a as analyzeDocsRobotsTxt, c as renderDocsRobotsGeneratedBlock, d as resolveDocsRobotsRequest, f as upsertDocsRobotsGeneratedBlock, i as DOCS_ROBOTS_GENERATED_BLOCK_START, l as renderDocsRobotsTxt, n as DEFAULT_ROBOTS_TXT_ROUTE, o as createDocsRobotsResponse, r as DOCS_ROBOTS_GENERATED_BLOCK_END, s as getDocsRobotsAllowRoutes, t as DEFAULT_DOCS_AI_ROBOTS_USER_AGENTS, u as resolveDocsRobotsConfig } from "./robots-hoWDvtta.mjs";
5
+ import { $ as resolveDocsAgentsFormat, A as findDocsMarkdownPage, B as isDocsSkillRequest, C as DOCS_BOT_LIKE_USER_AGENT_HEADER_PATTERN, D as buildDocsAgentFeedbackSchema, E as buildDocsAgentDiscoverySpec, F as isDocsAgentDiscoveryRequest, G as renderDocsAgentsDocument, H as normalizeDocsPathSegment, I as isDocsAgentsRequest, J as renderDocsMarkdownNotFound, K as renderDocsLlmsTxt, L as isDocsLlmsTxtPublicRequest, M as getDocsMarkdownCanonicalLinkHeader, N as getDocsMarkdownVaryHeader, O as buildDocsMcpEndpointCandidates, P as hasDocsMarkdownSignatureAgent, Q as resolveDocsAgentMdxContent, R as isDocsMcpRequest, S as DOCS_AI_AGENT_USER_AGENT_HEADER_PATTERN, T as DOCS_TRADITIONAL_BOT_USER_AGENT_HEADER_PATTERN, U as normalizeDocsUrlPath, V as matchesDocsLlmsTxtSection, W as parseDocsAgentFeedbackData, X as resolveDocsAgentFeedbackConfig, Y as renderDocsSkillDocument, Z as resolveDocsAgentFeedbackRequest, _ as DEFAULT_MCP_ROUTE, a as DEFAULT_AGENT_MD_ROUTE, at as resolveDocsMarkdownRequest, b as DEFAULT_SKILL_MD_ROUTE, c as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, ct as selectDocsLlmsTxtContent, d as DEFAULT_LLMS_FULL_TXT_ROUTE, et as resolveDocsLlmsTxtFormat, f as DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, g as DEFAULT_MCP_PUBLIC_ROUTE, h as DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE, i as DEFAULT_AGENT_FEEDBACK_ROUTE, it as resolveDocsMarkdownRecovery, j as getDocsLlmsTxtMaxCharsIssue, k as detectDocsMarkdownAgentRequest, l as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, lt as toDocsMarkdownUrl, m as DEFAULT_LLMS_TXT_ROUTE, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, nt as resolveDocsLlmsTxtSections, o as DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, ot as resolveDocsOpenApiDiscoveryConfig, p as DEFAULT_LLMS_TXT_MAX_CHARS, q as renderDocsMarkdownDocument, r as DEFAULT_AGENT_FEEDBACK_PAYLOAD_SCHEMA, rt as resolveDocsMarkdownCanonicalUrl, s as DEFAULT_AGENT_SPEC_ROUTE, st as resolveDocsSkillFormat, t as DEFAULT_AGENTS_MD_ROUTE, tt as resolveDocsLlmsTxtRequest, u as DEFAULT_DOCS_API_ROUTE, ut as validateDocsAgentFeedbackPayload, v as DEFAULT_MCP_WELL_KNOWN_ROUTE, w as DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER, x as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, y as DEFAULT_OPENAPI_SCHEMA_ROUTE, z as isDocsPublicGetRequest } from "./agent-xmep0HVx.mjs";
6
+ import { a as analyzeDocsRobotsTxt, c as renderDocsRobotsGeneratedBlock, d as resolveDocsRobotsRequest, f as upsertDocsRobotsGeneratedBlock, i as DOCS_ROBOTS_GENERATED_BLOCK_START, l as renderDocsRobotsTxt, n as DEFAULT_ROBOTS_TXT_ROUTE, o as createDocsRobotsResponse, r as DOCS_ROBOTS_GENERATED_BLOCK_END, s as getDocsRobotsAllowRoutes, t as DEFAULT_DOCS_AI_ROBOTS_USER_AGENTS, u as resolveDocsRobotsConfig } from "./robots-B-1XRFFz.mjs";
7
7
 
8
- export { DEFAULT_AGENTS_MD_ROUTE, DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, DEFAULT_AGENT_FEEDBACK_PAYLOAD_SCHEMA, DEFAULT_AGENT_FEEDBACK_ROUTE, DEFAULT_AGENT_MD_ROUTE, DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, DEFAULT_AGENT_SPEC_ROUTE, DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, DEFAULT_DOCS_AI_ROBOTS_USER_AGENTS, DEFAULT_DOCS_API_ROUTE, DEFAULT_LLMS_FULL_TXT_ROUTE, DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, DEFAULT_LLMS_TXT_MAX_CHARS, DEFAULT_LLMS_TXT_ROUTE, DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE, DEFAULT_MCP_PUBLIC_ROUTE, DEFAULT_MCP_ROUTE, DEFAULT_MCP_WELL_KNOWN_ROUTE, DEFAULT_OPENAPI_SCHEMA_ROUTE, DEFAULT_ROBOTS_TXT_ROUTE, DEFAULT_SITEMAP_MANIFEST_PATH, DEFAULT_SITEMAP_MD_DOCS_ROUTE, DEFAULT_SITEMAP_MD_ROUTE, DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, DEFAULT_SITEMAP_XML_ROUTE, DEFAULT_SKILL_MD_ROUTE, DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, DOCS_AGENT_TRACE_EVENT_TYPES, DOCS_AI_AGENT_USER_AGENT_HEADER_PATTERN, DOCS_BOT_LIKE_USER_AGENT_HEADER_PATTERN, DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER, DOCS_ROBOTS_GENERATED_BLOCK_END, DOCS_ROBOTS_GENERATED_BLOCK_START, DOCS_TRADITIONAL_BOT_USER_AGENT_HEADER_PATTERN, GENERATED_AGENT_PROVENANCE_MARKER, GENERATED_AGENT_PROVENANCE_VERSION, analyzeDocsRobotsTxt, applySidebarFolderIndexBehavior, buildDocsAgentDiscoverySpec, buildDocsAgentFeedbackSchema, buildDocsAskAIContext, buildDocsMcpEndpointCandidates, buildDocsPageStructuredData, buildDocsSearchDocuments, buildDocsSitemapManifest, buildPageOpenGraph, buildPageTwitter, createAlgoliaSearchAdapter, createCustomSearchAdapter, createDocsAgentTraceContext, createDocsAgentTraceId, createDocsCloudAnalytics, createDocsRobotsResponse, createDocsSitemapResponse, createMcpSearchAdapter, createSimpleSearchAdapter, createTheme, createTypesenseSearchAdapter, deepMerge, defineDocs, detectDocsMarkdownAgentRequest, emitDocsAgentTraceEvent, emitDocsAnalyticsEvent, emitDocsObservabilityEvent, estimateReadingTimeMinutes, extendTheme, findDocsMarkdownPage, formatDocsAskAIPackageHints, getDocsLlmsTxtMaxCharsIssue, getDocsMarkdownCanonicalLinkHeader, getDocsMarkdownVaryHeader, getDocsRobotsAllowRoutes, hasDocsMarkdownSignatureAgent, hashGeneratedAgentContent, inferDocsAskAIPackageHints, isDocsAgentDiscoveryRequest, isDocsAgentsRequest, isDocsLlmsTxtPublicRequest, isDocsMcpRequest, isDocsPublicGetRequest, isDocsSkillRequest, matchesDocsLlmsTxtSection, normalizeDocsPathSegment, normalizeDocsRelated, normalizeDocsUrlPath, normalizeGeneratedAgentContent, parseDocsAgentFeedbackData, parseGeneratedAgentDocument, performDocsSearch, readDocsSitemapManifestFromContentMap, renderDocsAgentsDocument, renderDocsLlmsTxt, renderDocsMarkdownDocument, renderDocsMarkdownNotFound, renderDocsPageStructuredDataJson, renderDocsRelatedMarkdownLines, renderDocsRobotsGeneratedBlock, renderDocsRobotsTxt, renderDocsSitemapMarkdown, renderDocsSitemapXml, renderDocsSkillDocument, resolveAskAISearchRequestConfig, resolveChangelogConfig, resolveDocsAgentFeedbackConfig, resolveDocsAgentFeedbackRequest, resolveDocsAgentMdxContent, resolveDocsAgentsFormat, resolveDocsAnalyticsConfig, resolveDocsI18n, resolveDocsLlmsTxtFormat, resolveDocsLlmsTxtRequest, resolveDocsLlmsTxtSections, resolveDocsLocale, resolveDocsMarkdownCanonicalUrl, resolveDocsMarkdownRequest, resolveDocsMetadataBaseUrl, resolveDocsObservabilityConfig, resolveDocsOpenApiDiscoveryConfig, resolveDocsPath, resolveDocsRobotsConfig, resolveDocsRobotsRequest, resolveDocsSitemapConfig, resolveDocsSitemapPageLastmod, resolveDocsSitemapRequest, resolveDocsSkillFormat, resolveOGImage, resolvePageReadingTime, resolvePageSidebarFolderIndexBehavior, resolveReadingTimeFromContent, resolveReadingTimeFromSource, resolveReadingTimeOptions, resolveSearchRequestConfig, resolveSidebarFolderIndexBehavior, resolveSidebarFolderIndexBehaviorForPath, resolveTitle, selectDocsLlmsTxtContent, serializeGeneratedAgentDocument, stripGeneratedAgentProvenance, toDocsMarkdownUrl, toDocsSitemapMarkdownUrl, upsertDocsRobotsGeneratedBlock, validateDocsAgentFeedbackPayload };
8
+ export { DEFAULT_AGENTS_MD_ROUTE, DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, DEFAULT_AGENT_FEEDBACK_PAYLOAD_SCHEMA, DEFAULT_AGENT_FEEDBACK_ROUTE, DEFAULT_AGENT_MD_ROUTE, DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, DEFAULT_AGENT_SPEC_ROUTE, DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, DEFAULT_DOCS_AI_ROBOTS_USER_AGENTS, DEFAULT_DOCS_API_ROUTE, DEFAULT_LLMS_FULL_TXT_ROUTE, DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, DEFAULT_LLMS_TXT_MAX_CHARS, DEFAULT_LLMS_TXT_ROUTE, DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE, DEFAULT_MCP_PUBLIC_ROUTE, DEFAULT_MCP_ROUTE, DEFAULT_MCP_WELL_KNOWN_ROUTE, DEFAULT_OPENAPI_SCHEMA_ROUTE, DEFAULT_ROBOTS_TXT_ROUTE, DEFAULT_SITEMAP_MANIFEST_PATH, DEFAULT_SITEMAP_MD_DOCS_ROUTE, DEFAULT_SITEMAP_MD_ROUTE, DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, DEFAULT_SITEMAP_XML_ROUTE, DEFAULT_SKILL_MD_ROUTE, DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, DOCS_AGENT_TRACE_EVENT_TYPES, DOCS_AI_AGENT_USER_AGENT_HEADER_PATTERN, DOCS_BOT_LIKE_USER_AGENT_HEADER_PATTERN, DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER, DOCS_ROBOTS_GENERATED_BLOCK_END, DOCS_ROBOTS_GENERATED_BLOCK_START, DOCS_TRADITIONAL_BOT_USER_AGENT_HEADER_PATTERN, GENERATED_AGENT_PROVENANCE_MARKER, GENERATED_AGENT_PROVENANCE_VERSION, analyzeDocsRobotsTxt, applySidebarFolderIndexBehavior, buildDocsAgentDiscoverySpec, buildDocsAgentFeedbackSchema, buildDocsAskAIContext, buildDocsMcpEndpointCandidates, buildDocsPageStructuredData, buildDocsSearchDocuments, buildDocsSitemapManifest, buildPageOpenGraph, buildPageTwitter, createAlgoliaSearchAdapter, createCustomSearchAdapter, createDocsAgentTraceContext, createDocsAgentTraceId, createDocsCloudAnalytics, createDocsRobotsResponse, createDocsSitemapResponse, createMcpSearchAdapter, createSimpleSearchAdapter, createTheme, createTypesenseSearchAdapter, deepMerge, defineDocs, detectDocsMarkdownAgentRequest, emitDocsAgentTraceEvent, emitDocsAnalyticsEvent, emitDocsObservabilityEvent, estimateReadingTimeMinutes, extendTheme, findDocsMarkdownPage, formatDocsAskAIPackageHints, getDocsLlmsTxtMaxCharsIssue, getDocsMarkdownCanonicalLinkHeader, getDocsMarkdownVaryHeader, getDocsRobotsAllowRoutes, hasDocsMarkdownSignatureAgent, hashGeneratedAgentContent, inferDocsAskAIPackageHints, isDocsAgentDiscoveryRequest, isDocsAgentsRequest, isDocsLlmsTxtPublicRequest, isDocsMcpRequest, isDocsPublicGetRequest, isDocsSkillRequest, matchesDocsLlmsTxtSection, normalizeDocsPathSegment, normalizeDocsRelated, normalizeDocsUrlPath, normalizeGeneratedAgentContent, parseDocsAgentFeedbackData, parseGeneratedAgentDocument, performDocsSearch, readDocsSitemapManifestFromContentMap, renderDocsAgentsDocument, renderDocsLlmsTxt, renderDocsMarkdownDocument, renderDocsMarkdownNotFound, renderDocsPageStructuredDataJson, renderDocsRelatedMarkdownLines, renderDocsRobotsGeneratedBlock, renderDocsRobotsTxt, renderDocsSitemapMarkdown, renderDocsSitemapXml, renderDocsSkillDocument, resolveAskAISearchRequestConfig, resolveChangelogConfig, resolveDocsAgentFeedbackConfig, resolveDocsAgentFeedbackRequest, resolveDocsAgentMdxContent, resolveDocsAgentsFormat, resolveDocsAnalyticsConfig, resolveDocsI18n, resolveDocsLlmsTxtFormat, resolveDocsLlmsTxtRequest, resolveDocsLlmsTxtSections, resolveDocsLocale, resolveDocsMarkdownCanonicalUrl, resolveDocsMarkdownRecovery, resolveDocsMarkdownRequest, resolveDocsMetadataBaseUrl, resolveDocsObservabilityConfig, resolveDocsOpenApiDiscoveryConfig, resolveDocsPath, resolveDocsRobotsConfig, resolveDocsRobotsRequest, resolveDocsSitemapConfig, resolveDocsSitemapPageLastmod, resolveDocsSitemapRequest, resolveDocsSkillFormat, resolveOGImage, resolvePageReadingTime, resolvePageSidebarFolderIndexBehavior, resolveReadingTimeFromContent, resolveReadingTimeFromSource, resolveReadingTimeOptions, resolveSearchRequestConfig, resolveSidebarFolderIndexBehavior, resolveSidebarFolderIndexBehaviorForPath, resolveTitle, selectDocsLlmsTxtContent, serializeGeneratedAgentDocument, stripGeneratedAgentProvenance, toDocsMarkdownUrl, toDocsSitemapMarkdownUrl, upsertDocsRobotsGeneratedBlock, validateDocsAgentFeedbackPayload };
@@ -1,5 +1,5 @@
1
1
  import { d as resolveDocsSitemapConfig } from "./sitemap-CMNj0Pt3.mjs";
2
- import { H as normalizeDocsPathSegment, a as DEFAULT_AGENT_MD_ROUTE, b as DEFAULT_SKILL_MD_ROUTE, c as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, d as DEFAULT_LLMS_FULL_TXT_ROUTE, f as DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, g as DEFAULT_MCP_PUBLIC_ROUTE, h as DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE, l as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, m as DEFAULT_LLMS_TXT_ROUTE, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, o as DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, t as DEFAULT_AGENTS_MD_ROUTE, v as DEFAULT_MCP_WELL_KNOWN_ROUTE, x as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE } from "./agent-KnE4AKMx.mjs";
2
+ import { H as normalizeDocsPathSegment, a as DEFAULT_AGENT_MD_ROUTE, b as DEFAULT_SKILL_MD_ROUTE, c as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, d as DEFAULT_LLMS_FULL_TXT_ROUTE, f as DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, g as DEFAULT_MCP_PUBLIC_ROUTE, h as DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE, l as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, m as DEFAULT_LLMS_TXT_ROUTE, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, o as DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, t as DEFAULT_AGENTS_MD_ROUTE, v as DEFAULT_MCP_WELL_KNOWN_ROUTE, x as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE } from "./agent-xmep0HVx.mjs";
3
3
 
4
4
  //#region src/robots.ts
5
5
  const DEFAULT_ROBOTS_TXT_ROUTE = "/robots.txt";
@@ -1,5 +1,5 @@
1
- import "./agent-KnE4AKMx.mjs";
2
- 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-hoWDvtta.mjs";
1
+ import "./agent-xmep0HVx.mjs";
2
+ 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-B-1XRFFz.mjs";
3
3
  import { f as readTopLevelStringProperty, i as loadDocsConfigModule, o as readBooleanProperty, p as resolveDocsConfigPath, t as extractNestedObjectLiteral, u as readStringProperty } from "./config-CBoixmrv.mjs";
4
4
  import { t as detectFramework } from "./utils-x5EtYWjC.mjs";
5
5
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farming-labs/docs",
3
- "version": "0.1.130",
3
+ "version": "0.1.132",
4
4
  "description": "Modern, flexible MDX-based docs framework — core types, config, and CLI",
5
5
  "keywords": [
6
6
  "docs",