@farming-labs/docs 0.1.131 → 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-CuX9y_iA.mjs";
4
- import "./robots-ygAWyine.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-ySyo9e2r.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 };
@@ -856,7 +856,54 @@ function appendDocsMarkdownSitemapFooter(markdown, sitemap) {
856
856
  if (/^##\s+Sitemap\s*$/im.test(markdown)) return markdown;
857
857
  return `${markdown.replace(/\s+$/g, "")}\n\n${renderDocsMarkdownSitemapFooter(sitemap)}\n`;
858
858
  }
859
- function renderDocsMarkdownNotFound({ entry = "docs", requestedPath, pages, sitemap }) {
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 }) {
860
907
  const normalizedEntry = normalizeDocsPathSegment(entry) || "docs";
861
908
  const normalizedRequest = normalizeRequestedMarkdownPath(normalizedEntry, requestedPath);
862
909
  const slugPrefix = `/${normalizedEntry}/`;
@@ -892,7 +939,12 @@ function renderDocsMarkdownNotFound({ entry = "docs", requestedPath, pages, site
892
939
  if (sitemapConfig.xml.enabled) lines.push(`- XML sitemap: \`${sitemapConfig.xml.route}\``);
893
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}\``);
894
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.");
895
- return appendDocsMarkdownSitemapFooter(lines.join("\n"), sitemap);
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);
896
948
  }
897
949
  function findDocsMarkdownPage(entry, pages, requestedPath) {
898
950
  const normalizedRequest = normalizeRequestedMarkdownPath(entry, requestedPath);
@@ -1027,14 +1079,14 @@ function appendDocsAgentPublicRouteLines(lines, context, variant) {
1027
1079
  appendDocsMcpRouteLines(lines, context);
1028
1080
  }
1029
1081
  function renderDocsMarkdownDocument(page, options) {
1030
- if (page.agentRawContent !== void 0) return appendDocsMarkdownSitemapFooter(page.agentRawContent, options?.sitemap);
1082
+ if (page.agentRawContent !== void 0) return appendDocsMarkdownSitemapFooter(prependDocsMarkdownFrontmatter(page.agentRawContent, resolveDocsMarkdownPageMetadata(page, options)), options?.sitemap);
1031
1083
  const relatedLines = renderDocsRelatedMarkdownLines(page.related);
1032
1084
  const lines = [`# ${page.title}`, `URL: ${page.url}`];
1033
1085
  if (shouldRenderLlmsDirective(options)) lines.push(DOCS_LLMS_TXT_DIRECTIVE_LINE);
1034
1086
  if (page.description) lines.push(`Description: ${page.description}`);
1035
1087
  lines.push(...relatedLines);
1036
1088
  lines.push("", page.agentFallbackRawContent ?? page.rawContent ?? page.content);
1037
- return appendDocsMarkdownSitemapFooter(lines.join("\n"), options?.sitemap);
1089
+ return appendDocsMarkdownSitemapFooter(prependDocsMarkdownFrontmatter(lines.join("\n"), resolveDocsMarkdownPageMetadata(page, options)), options?.sitemap);
1038
1090
  }
1039
1091
  function renderDocsSkillDocument(options) {
1040
1092
  const { origin } = options;
@@ -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-CuX9y_iA.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-D7I2vULT.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-D7I2vULT.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-DQDj8RmV.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-DQDj8RmV.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-DGOBWAah.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-ySyo9e2r.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-ySyo9e2r.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-D3jPtv4r.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-D3jPtv4r.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-CuX9y_iA.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-CuX9y_iA.mjs";
5
- import { a as analyzeDocsRobotsTxt, n as DEFAULT_ROBOTS_TXT_ROUTE, u as resolveDocsRobotsConfig } from "./robots-ygAWyine.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-ySyo9e2r.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,11 +368,13 @@ interface DocsMarkdownPage {
366
368
  }
367
369
  interface DocsMarkdownDocumentOptions {
368
370
  llms?: boolean | DocsLlmsDiscoveryConfig | LlmsTxtConfig;
371
+ origin?: string;
369
372
  sitemap?: boolean | DocsSitemapConfig;
370
373
  }
371
374
  interface DocsMarkdownNotFoundOptions {
372
375
  entry?: string;
373
376
  requestedPath: string;
377
+ origin?: string;
374
378
  pages?: DocsMarkdownPage[];
375
379
  sitemap?: boolean | DocsSitemapConfig;
376
380
  }
@@ -455,6 +459,7 @@ declare function resolveDocsMarkdownRecovery({
455
459
  declare function renderDocsMarkdownNotFound({
456
460
  entry,
457
461
  requestedPath,
462
+ origin,
458
463
  pages,
459
464
  sitemap
460
465
  }: DocsMarkdownNotFoundOptions): string;
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 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-CuX9y_iA.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-ygAWyine.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
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-CuX9y_iA.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-CuX9y_iA.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-ygAWyine.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.131",
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",