@farming-labs/docs 0.1.88 → 0.1.90

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,11 +1,11 @@
1
1
  import "./reading-time-CbbHNg9V.mjs";
2
2
  import { _ as parseGeneratedAgentDocument, h as hashGeneratedAgentContent, m as GENERATED_AGENT_PROVENANCE_VERSION, v as serializeGeneratedAgentDocument } from "./search-B5ze-heM.mjs";
3
- import { D as findDocsMarkdownPage, I as renderDocsMarkdownDocument } from "./robots-T0sATQRa.mjs";
3
+ import { B as renderDocsMarkdownDocument, O as findDocsMarkdownPage } from "./robots-DR-Gy1Hs.mjs";
4
4
  import "./index.mjs";
5
5
  import "./sitemap-server-DwEPfk13.mjs";
6
6
  import { createFilesystemDocsMcpSource } from "./mcp.mjs";
7
7
  import "./server.mjs";
8
- import { a as loadProjectEnv, c as readNavTitle, d as readTopLevelStringProperty, f as resolveDocsConfigPath, i as loadDocsConfigModule, l as readNumberProperty, o as readBooleanProperty, p as resolveDocsContentDir, s as readEnvReferenceProperty, t as extractNestedObjectLiteral, u as readStringProperty } from "./config-BR6CcCfr.mjs";
8
+ import { a as loadProjectEnv, c as readNavTitle, d as readTopLevelStringProperty, f as resolveDocsConfigPath, i as loadDocsConfigModule, l as readNumberProperty, o as readBooleanProperty, p as resolveDocsContentDir, s as readEnvReferenceProperty, t as extractNestedObjectLiteral, u as readStringProperty } from "./config-UI31_wlO.mjs";
9
9
  import matter from "gray-matter";
10
10
  import { existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync } from "node:fs";
11
11
  import path from "node:path";
@@ -77,16 +77,16 @@ async function main() {
77
77
  searchApiKey: typeof flags["search-api-key"] === "string" ? flags["search-api-key"] : void 0
78
78
  };
79
79
  if (!parsedCommand.command || parsedCommand.command === "init") {
80
- const { init } = await import("../init-Bt-RwmSW.mjs");
80
+ const { init } = await import("../init-CO0TzicH.mjs");
81
81
  await init(initOptions);
82
82
  } else if (parsedCommand.command === "dev") {
83
- const { dev } = await import("../dev-D4aVZkZl.mjs");
83
+ const { dev } = await import("../dev-B5L7k3b6.mjs");
84
84
  await dev(devOptions);
85
85
  } else if (parsedCommand.command === "mcp") {
86
- const { runMcp } = await import("../mcp-RBCFEtoX.mjs");
86
+ const { runMcp } = await import("../mcp-OuciCVEf.mjs");
87
87
  await runMcp(mcpOptions);
88
88
  } else if (parsedCommand.command === "agent" && subcommand === "compact") {
89
- const { compactAgentDocs, parseAgentCompactArgs, printAgentCompactHelp } = await import("../agent-M9imRSUO.mjs");
89
+ const { compactAgentDocs, parseAgentCompactArgs, printAgentCompactHelp } = await import("../agent-ByVfHy7k.mjs");
90
90
  const agentCompactOptions = parseAgentCompactArgs(args.slice(2));
91
91
  if (agentCompactOptions.help) {
92
92
  printAgentCompactHelp();
@@ -96,11 +96,11 @@ async function main() {
96
96
  } else if (parsedCommand.command === "agent") {
97
97
  console.error(pc.red(`Unknown agent subcommand: ${subcommand ?? "(missing)"}`));
98
98
  console.error();
99
- const { printAgentCompactHelp } = await import("../agent-M9imRSUO.mjs");
99
+ const { printAgentCompactHelp } = await import("../agent-ByVfHy7k.mjs");
100
100
  printAgentCompactHelp();
101
101
  process.exit(1);
102
102
  } else if (parsedCommand.command === "doctor") {
103
- const { parseDoctorArgs, printDoctorHelp, runDoctor } = await import("../doctor-CRqpb_Rv.mjs");
103
+ const { parseDoctorArgs, printDoctorHelp, runDoctor } = await import("../doctor-Zn6h4wkZ.mjs");
104
104
  const doctorOptions = parseDoctorArgs(args.slice(1));
105
105
  if (doctorOptions.help) {
106
106
  printDoctorHelp();
@@ -108,7 +108,7 @@ async function main() {
108
108
  }
109
109
  await runDoctor(doctorOptions);
110
110
  } else if (parsedCommand.command === "search" && subcommand === "sync") {
111
- const { syncSearch } = await import("../search-DrTVZ2XK.mjs");
111
+ const { syncSearch } = await import("../search-CHiEEXZI.mjs");
112
112
  await syncSearch(searchSyncOptions);
113
113
  } else if (parsedCommand.command === "search") {
114
114
  console.error(pc.red(`Unknown search subcommand: ${subcommand ?? "(missing)"}`));
@@ -116,7 +116,7 @@ async function main() {
116
116
  printHelp();
117
117
  process.exit(1);
118
118
  } else if (parsedCommand.command === "sitemap" && subcommand === "generate") {
119
- const { generateSitemap, parseSitemapGenerateArgs, printSitemapGenerateHelp } = await import("../sitemap-CEE2vnGz.mjs");
119
+ const { generateSitemap, parseSitemapGenerateArgs, printSitemapGenerateHelp } = await import("../sitemap-Bk9HqW_J.mjs");
120
120
  const sitemapOptions = parseSitemapGenerateArgs(args.slice(2));
121
121
  if (sitemapOptions.help) {
122
122
  printSitemapGenerateHelp();
@@ -126,11 +126,11 @@ async function main() {
126
126
  } else if (parsedCommand.command === "sitemap") {
127
127
  console.error(pc.red(`Unknown sitemap subcommand: ${subcommand ?? "(missing)"}`));
128
128
  console.error();
129
- const { printSitemapGenerateHelp } = await import("../sitemap-CEE2vnGz.mjs");
129
+ const { printSitemapGenerateHelp } = await import("../sitemap-Bk9HqW_J.mjs");
130
130
  printSitemapGenerateHelp();
131
131
  process.exit(1);
132
132
  } else if (parsedCommand.command === "robots" && subcommand === "generate") {
133
- const { generateRobots, parseRobotsGenerateArgs, printRobotsGenerateHelp } = await import("../robots-BO8yD7N7.mjs");
133
+ const { generateRobots, parseRobotsGenerateArgs, printRobotsGenerateHelp } = await import("../robots-BHEIUAYm.mjs");
134
134
  const robotsOptions = parseRobotsGenerateArgs(args.slice(2));
135
135
  if (robotsOptions.help) {
136
136
  printRobotsGenerateHelp();
@@ -140,7 +140,7 @@ async function main() {
140
140
  } else if (parsedCommand.command === "robots") {
141
141
  console.error(pc.red(`Unknown robots subcommand: ${subcommand ?? "(missing)"}`));
142
142
  console.error();
143
- const { printRobotsGenerateHelp } = await import("../robots-BO8yD7N7.mjs");
143
+ const { printRobotsGenerateHelp } = await import("../robots-BHEIUAYm.mjs");
144
144
  printRobotsGenerateHelp();
145
145
  process.exit(1);
146
146
  } else if (parsedCommand.command === "upgrade") {
@@ -115,6 +115,34 @@ function extractObjectLiteral(content, key) {
115
115
  const braceEnd = findBalancedBraceEnd(content, braceStart);
116
116
  return braceEnd === -1 ? void 0 : content.slice(braceStart + 1, braceEnd);
117
117
  }
118
+ function stripLeadingPropertyTrivia(content) {
119
+ let current = content;
120
+ while (true) {
121
+ const trimmed = current.replace(/^\s+/, "");
122
+ if (trimmed.startsWith("//")) {
123
+ const lineEnd = trimmed.indexOf("\n");
124
+ current = lineEnd === -1 ? "" : trimmed.slice(lineEnd + 1);
125
+ continue;
126
+ }
127
+ if (trimmed.startsWith("/*")) {
128
+ const blockEnd = trimmed.indexOf("*/");
129
+ current = blockEnd === -1 ? trimmed : trimmed.slice(blockEnd + 2);
130
+ continue;
131
+ }
132
+ return trimmed;
133
+ }
134
+ }
135
+ function extractTopLevelObjectLiteral(content, key) {
136
+ const propertyPattern = new RegExp(`^${escapeRegExp(key)}\\s*:\\s*\\{`);
137
+ for (const property of splitTopLevelProperties(content)) {
138
+ const normalizedProperty = stripLeadingPropertyTrivia(property);
139
+ if (!propertyPattern.test(normalizedProperty)) continue;
140
+ const braceStart = normalizedProperty.indexOf("{");
141
+ if (braceStart === -1) return void 0;
142
+ const braceEnd = findBalancedBraceEnd(normalizedProperty, braceStart);
143
+ return braceEnd === -1 ? void 0 : normalizedProperty.slice(braceStart + 1, braceEnd);
144
+ }
145
+ }
118
146
  function extractTopLevelConfigObject(content) {
119
147
  for (const marker of ["defineDocs(", "export default"]) {
120
148
  const markerIndex = content.indexOf(marker);
@@ -129,7 +157,7 @@ function extractNestedObjectLiteral(content, keys) {
129
157
  if (keys.length === 0) return void 0;
130
158
  let current = extractTopLevelConfigObject(content) ?? content;
131
159
  for (const key of keys) {
132
- const next = extractObjectLiteral(current, key);
160
+ const next = extractTopLevelObjectLiteral(current, key);
133
161
  if (!next) return void 0;
134
162
  current = next;
135
163
  }
@@ -1,4 +1,4 @@
1
- import { K as rootLayoutTemplate, W as postcssConfigTemplate, g as docsLayoutTemplate, v as globalCssTemplate, yt as tsconfigTemplate } from "./templates-CtPtjNu5.mjs";
1
+ import { K as rootLayoutTemplate, W as postcssConfigTemplate, g as docsLayoutTemplate, v as globalCssTemplate, yt as tsconfigTemplate } from "./templates-CmRJIDB9.mjs";
2
2
  import { i as detectPackageManagerFromLockfile } from "./utils-AmYxHDoz.mjs";
3
3
  import fs from "node:fs";
4
4
  import path from "node:path";
@@ -1,12 +1,12 @@
1
1
  import "./reading-time-CbbHNg9V.mjs";
2
2
  import "./search-B5ze-heM.mjs";
3
3
  import { i as DEFAULT_SITEMAP_XML_ROUTE, n as DEFAULT_SITEMAP_MD_ROUTE, r as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, u as resolveDocsSitemapConfig } from "./sitemap-BIQIYMKe.mjs";
4
- import { C as DEFAULT_SKILL_MD_ROUTE, S as DEFAULT_MCP_WELL_KNOWN_ROUTE, a as analyzeDocsRobotsTxt, b as DEFAULT_MCP_PUBLIC_ROUTE, d as DEFAULT_AGENT_FEEDBACK_ROUTE, g as DEFAULT_LLMS_FULL_TXT_ROUTE, l as resolveDocsRobotsConfig, m as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, n as DEFAULT_ROBOTS_TXT_ROUTE, p as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, v as DEFAULT_LLMS_TXT_ROUTE, w as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE } from "./robots-T0sATQRa.mjs";
4
+ import { C as DEFAULT_MCP_WELL_KNOWN_ROUTE, T as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, a as analyzeDocsRobotsTxt, d as DEFAULT_AGENT_FEEDBACK_ROUTE, g as DEFAULT_LLMS_FULL_TXT_ROUTE, l as resolveDocsRobotsConfig, m as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, n as DEFAULT_ROBOTS_TXT_ROUTE, p as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, w as DEFAULT_SKILL_MD_ROUTE, x as DEFAULT_MCP_PUBLIC_ROUTE, y as DEFAULT_LLMS_TXT_ROUTE } from "./robots-DR-Gy1Hs.mjs";
5
5
  import "./sitemap-server-DwEPfk13.mjs";
6
6
  import { createFilesystemDocsMcpSource, resolveDocsMcpConfig } from "./mcp.mjs";
7
7
  import "./server.mjs";
8
- import { a as loadProjectEnv, c as readNavTitle, d as readTopLevelStringProperty, f as resolveDocsConfigPath, i as loadDocsConfigModule, o as readBooleanProperty, p as resolveDocsContentDir, r as extractTopLevelConfigObject, t as extractNestedObjectLiteral } from "./config-BR6CcCfr.mjs";
9
- import { inspectAgentCompactionState, scanDocsPageTargets } from "./agent-M9imRSUO.mjs";
8
+ import { a as loadProjectEnv, c as readNavTitle, d as readTopLevelStringProperty, f as resolveDocsConfigPath, i as loadDocsConfigModule, o as readBooleanProperty, p as resolveDocsContentDir, r as extractTopLevelConfigObject, t as extractNestedObjectLiteral } from "./config-UI31_wlO.mjs";
9
+ import { inspectAgentCompactionState, scanDocsPageTargets } from "./agent-ByVfHy7k.mjs";
10
10
  import { t as detectFramework } from "./utils-AmYxHDoz.mjs";
11
11
  import { existsSync, lstatSync, readFileSync, readdirSync } from "node:fs";
12
12
  import path from "node:path";
@@ -536,6 +536,12 @@ function percentageScore(score, maxScore) {
536
536
  if (maxScore <= 0) return 0;
537
537
  return Math.round(score / maxScore * 100);
538
538
  }
539
+ function normalizedDoctorScore(score, maxScore) {
540
+ return {
541
+ score: percentageScore(score, maxScore),
542
+ maxScore: 100
543
+ };
544
+ }
539
545
  function formatStatus(status) {
540
546
  if (status === "pass") return pc.green("PASS");
541
547
  if (status === "warn") return pc.yellow("WARN");
@@ -613,7 +619,7 @@ function compactionFreshnessScore(coverage, compactConfigured) {
613
619
  }
614
620
  if (coverage.unknownGeneratedPages > 0) return {
615
621
  status: "pass",
616
- score: compactConfigured ? 4 : 3
622
+ score: compactConfigured ? 5 : 3
617
623
  };
618
624
  if (coverage.freshGeneratedPages > 0) return {
619
625
  status: "pass",
@@ -1092,8 +1098,7 @@ async function inspectAgentReadiness(options = {}) {
1092
1098
  checks.push(makeCheck("compact", "Agent compaction freshness", compactionResult.status, compactionResult.score, 5, `${compactionCoverage.freshGeneratedPages} fresh, ${compactionCoverage.staleGeneratedPages} stale, ${compactionCoverage.modifiedGeneratedPages} modified, ${compactionCoverage.unknownGeneratedPages} unknown, ${compactionCoverage.tokenBudgetMissingPages} token-budget missing, and ${compactionCoverage.otherMissingPages} other missing page${compactionCoverage.otherMissingPages === 1 ? "" : "s"} across compactable docs pages.` + (compactConfigured ? " agent.compact defaults are configured." : " No agent.compact defaults were found in docs config."), compactionResult.recommendation));
1093
1099
  const hosted = options.url ? await buildHostedAgentChecks(options.url, pages) : void 0;
1094
1100
  if (hosted) checks.push(...hosted.checks);
1095
- const score = checks.reduce((total, check) => total + check.score, 0);
1096
- const maxScore = checks.reduce((total, check) => total + check.maxScore, 0);
1101
+ const { score, maxScore } = normalizedDoctorScore(checks.reduce((total, check) => total + check.score, 0), checks.reduce((total, check) => total + check.maxScore, 0));
1097
1102
  return {
1098
1103
  mode: "agent",
1099
1104
  framework,
@@ -1103,7 +1108,7 @@ async function inspectAgentReadiness(options = {}) {
1103
1108
  url: hosted?.baseUrl,
1104
1109
  score,
1105
1110
  maxScore,
1106
- grade: gradeForAgentScore(percentageScore(score, maxScore)),
1111
+ grade: gradeForAgentScore(score),
1107
1112
  checks,
1108
1113
  coverage,
1109
1114
  recommendations: checks.map((check) => check.recommendation).filter((recommendation) => Boolean(recommendation)).slice(0, 3)
@@ -1174,8 +1179,7 @@ async function inspectHumanReadiness(options = {}) {
1174
1179
  checks.push(makeCheck("trust", "Trust signals", trustScore === 10 ? "pass" : "warn", trustScore, 10, githubEnabled && lastUpdatedEnabled ? "Edit links and last-updated metadata are configured." : githubEnabled ? "Edit links are configured, but last-updated metadata is not enabled." : lastUpdatedEnabled ? "Last-updated metadata is enabled, but edit links are not configured." : "Edit links and last-updated metadata are not configured.", trustScore === 10 ? void 0 : "Configure GitHub edit links and/or lastUpdated so readers can trust freshness and find the source of truth faster."));
1175
1180
  checks.push(humanFeedbackEnabled ? makeCheck("feedback", "Reader feedback", "pass", 5, 5, "Built-in page feedback is enabled for the docs site.") : makeCheck("feedback", "Reader feedback", "warn", 0, 5, "Built-in page feedback is not enabled.", "Enable feedback if you want readers to leave quick page-level quality signals without opening an issue."));
1176
1181
  checks.push(readingTimeEnabled ? makeCheck("reading-time", "Reading-time cues", "pass", 5, 5, "Reading time is configured for the docs site.") : makeCheck("reading-time", "Reading-time cues", "warn", 0, 5, "Reading time is not enabled.", "Enable readingTime if you want readers to get a quick effort estimate before they dive into longer pages."));
1177
- const score = checks.reduce((total, check) => total + check.score, 0);
1178
- const maxScore = checks.reduce((total, check) => total + check.maxScore, 0);
1182
+ const { score, maxScore } = normalizedDoctorScore(checks.reduce((total, check) => total + check.score, 0), checks.reduce((total, check) => total + check.maxScore, 0));
1179
1183
  return {
1180
1184
  mode: "human",
1181
1185
  framework,
@@ -1184,7 +1188,7 @@ async function inspectHumanReadiness(options = {}) {
1184
1188
  contentDir,
1185
1189
  score,
1186
1190
  maxScore,
1187
- grade: gradeForHumanScore(percentageScore(score, maxScore)),
1191
+ grade: gradeForHumanScore(score),
1188
1192
  checks,
1189
1193
  coverage,
1190
1194
  recommendations: checks.map((check) => check.recommendation).filter((recommendation) => Boolean(recommendation)).slice(0, 3)
@@ -1193,7 +1197,7 @@ async function inspectHumanReadiness(options = {}) {
1193
1197
  function printAgentDoctorReport(report) {
1194
1198
  console.log(`${pc.bold("@farming-labs/docs doctor")} ${pc.dim("—")} ${pc.bold("agent")}`);
1195
1199
  console.log();
1196
- console.log(`${pc.bold("Score:")} ${pc.cyan(`${report.score}/${report.maxScore}`)} ${pc.dim(`(${report.grade})`)}`);
1200
+ console.log(`${pc.bold("Score:")} ${pc.cyan(`${report.score}%`)} ${pc.dim(`(${report.grade})`)}`);
1197
1201
  console.log(`${pc.bold("Framework:")} ${report.framework} ${pc.dim("•")} ${pc.bold("Entry:")} ${report.entry ?? "docs"} ${pc.dim("•")} ${pc.bold("Content:")} ${report.contentDir ?? "-"}`);
1198
1202
  if (report.url) console.log(`${pc.bold("Hosted URL:")} ${report.url}`);
1199
1203
  console.log(`${pc.bold("Explicit agent-friendly pages:")} ${report.coverage.explicitPages}/${report.coverage.totalPages} pages ${pc.dim(`(${report.coverage.explicitCoverage}%)`)}`);
@@ -1214,7 +1218,7 @@ function printAgentDoctorReport(report) {
1214
1218
  function printHumanDoctorReport(report) {
1215
1219
  console.log(`${pc.bold("@farming-labs/docs doctor")} ${pc.dim("—")} ${pc.bold("site")}`);
1216
1220
  console.log();
1217
- console.log(`${pc.bold("Score:")} ${pc.cyan(`${report.score}/${report.maxScore}`)} ${pc.dim(`(${report.grade})`)}`);
1221
+ console.log(`${pc.bold("Score:")} ${pc.cyan(`${report.score}%`)} ${pc.dim(`(${report.grade})`)}`);
1218
1222
  console.log(`${pc.bold("Framework:")} ${report.framework} ${pc.dim("•")} ${pc.bold("Entry:")} ${report.entry ?? "docs"} ${pc.dim("•")} ${pc.bold("Content:")} ${report.contentDir ?? "-"}`);
1219
1223
  console.log(`${pc.bold("Described pages:")} ${report.coverage.describedPages}/${report.coverage.totalPages} pages ${pc.dim(`(${report.coverage.descriptionCoverage}%)`)}`);
1220
1224
  console.log();
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { $ as DocsSearchResultType, A as DocsConfig, At as TypesenseDocsSearchConfig, B as DocsObservabilityEventInput, C as DocsAskAIActionData, Ct as SidebarFolderIndexBehavior, D as DocsAskAIFeedbackMessage, Dt as SidebarTree, E as DocsAskAIFeedbackData, Et as SidebarPageNode, F as DocsMcpToolsConfig, G as DocsSearchAdapterContext, H as DocsRobotsConfig, I as DocsMetadata, J as DocsSearchConfig, K as DocsSearchAdapterFactory, L as DocsNav, M as DocsFeedbackValue, Mt as UIConfig, N as DocsI18nConfig, O as DocsAskAIFeedbackValue, Ot as SimpleDocsSearchConfig, P as DocsMcpConfig, Q as DocsSearchResult, R as DocsObservabilityConfig, S as DocsAnalyticsSource, St as SidebarConfig, T as DocsAskAIFeedbackConfig, Tt as SidebarNode, U as DocsRobotsRule, V as DocsRelatedItem, W as DocsSearchAdapter, X as DocsSearchEmbeddingsConfig, Y as DocsSearchDocument, Z as DocsSearchQuery, _ as DocsAnalyticsConfig, _t as PageSidebarFrontmatter, a as ApiReferenceRenderer, at as GithubConfig, b as DocsAnalyticsEventType, bt as ResolvedDocsRelatedLink, c as ChangelogFrontmatter, ct as McpDocsSearchConfig, d as CustomDocsSearchConfig, dt as OpenDocsProvider, et as DocsSearchSourcePage, f as DocsAgentFeedbackContext, ft as OpenGraphImage, g as DocsAgentTraceStatus, gt as PageOpenGraph, h as DocsAgentTraceEventType, ht as PageFrontmatter, i as ApiReferenceConfig, it as FontStyle, j as DocsFeedbackData, jt as TypographyConfig, k as DocsAskAIMcpConfig, kt as ThemeToggleConfig, l as CodeBlockCopyData, lt as OGConfig, m as DocsAgentTraceEventInput, mt as PageActionsConfig, n as AgentFeedbackConfig, nt as DocsTheme, o as BreadcrumbConfig, ot as LastUpdatedConfig, p as DocsAgentFeedbackData, pt as OrderingItem, q as DocsSearchChunkingConfig, r as AlgoliaDocsSearchConfig, rt as FeedbackConfig, s as ChangelogConfig, st as LlmsTxtConfig, t as AIConfig, tt as DocsSitemapConfig, u as CopyMarkdownConfig, ut as OpenDocsConfig, v as DocsAnalyticsEvent, vt as PageTwitter, w as DocsAskAIActionType, wt as SidebarFolderNode, x as DocsAnalyticsInput, xt as SidebarComponentProps, y as DocsAnalyticsEventInput, yt as ReadingTimeConfig, z as DocsObservabilityEvent } from "./types-BFITL514.mjs";
2
- import { A as toDocsSitemapMarkdownUrl, B as resolveDocsAnalyticsConfig, C as createDocsSitemapResponse, D as resolveDocsSitemapConfig, E as renderDocsSitemapXml, F as createDocsAgentTraceContext, H as DocsCloudAnalyticsOptions, I as createDocsAgentTraceId, L as emitDocsAgentTraceEvent, M as DocsAgentTraceContext, N as ResolvedDocsAnalyticsConfig, O as resolveDocsSitemapPageLastmod, P as ResolvedDocsObservabilityConfig, R as emitDocsAnalyticsEvent, S as buildDocsSitemapManifest, T as renderDocsSitemapMarkdown, U as createDocsCloudAnalytics, V as resolveDocsObservabilityConfig, _ as DocsSitemapFormat, a as createMcpSearchAdapter, b as DocsSitemapPageInput, c as formatDocsAskAIPackageHints, d as resolveAskAISearchRequestConfig, f as resolveSearchRequestConfig, g as DEFAULT_SITEMAP_XML_ROUTE, h as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, i as createCustomSearchAdapter, j as DOCS_AGENT_TRACE_EVENT_TYPES, k as resolveDocsSitemapRequest, l as inferDocsAskAIPackageHints, m as DEFAULT_SITEMAP_MD_ROUTE, n as buildDocsSearchDocuments, o as createSimpleSearchAdapter, p as DEFAULT_SITEMAP_MANIFEST_PATH, r as createAlgoliaSearchAdapter, s as createTypesenseSearchAdapter, t as buildDocsAskAIContext, u as performDocsSearch, v as DocsSitemapManifest, w as readDocsSitemapManifestFromContentMap, x as DocsSitemapResolvedConfig, y as DocsSitemapManifestPage, z as emitDocsObservabilityEvent } from "./search-KKfRRUDR.mjs";
1
+ import { $ as DocsSearchResultType, A as DocsConfig, At as SidebarTree, B as DocsObservabilityEventInput, C as DocsAskAIActionData, Ct as ResolvedDocsRelatedLink, D as DocsAskAIFeedbackMessage, Dt as SidebarFolderNode, E as DocsAskAIFeedbackData, Et as SidebarFolderIndexBehavior, F as DocsMcpToolsConfig, Ft as UIConfig, G as DocsSearchAdapterContext, H as DocsRobotsConfig, I as DocsMetadata, J as DocsSearchConfig, K as DocsSearchAdapterFactory, L as DocsNav, M as DocsFeedbackValue, Mt as ThemeToggleConfig, N as DocsI18nConfig, Nt as TypesenseDocsSearchConfig, O as DocsAskAIFeedbackValue, Ot as SidebarNode, P as DocsMcpConfig, Pt as TypographyConfig, Q as DocsSearchResult, R as DocsObservabilityConfig, S as DocsAnalyticsSource, St as ReadingTimeConfig, T as DocsAskAIFeedbackConfig, Tt as SidebarConfig, U as DocsRobotsRule, V as DocsRelatedItem, W as DocsSearchAdapter, X as DocsSearchEmbeddingsConfig, Y as DocsSearchDocument, Z as DocsSearchQuery, _ as DocsAnalyticsConfig, _t as PageActionsConfig, a as ApiReferenceRenderer, at as GithubConfig, b as DocsAnalyticsEventType, bt as PageSidebarFrontmatter, c as ChangelogFrontmatter, ct as LlmsTxtMaxCharsConfig, d as CustomDocsSearchConfig, dt as McpDocsSearchConfig, et as DocsSearchSourcePage, f as DocsAgentFeedbackContext, ft as OGConfig, g as DocsAgentTraceStatus, gt as OrderingItem, h as DocsAgentTraceEventType, ht as OpenGraphImage, i as ApiReferenceConfig, it as FontStyle, j as DocsFeedbackData, jt as SimpleDocsSearchConfig, k as DocsAskAIMcpConfig, kt as SidebarPageNode, l as CodeBlockCopyData, lt as LlmsTxtMaxCharsMode, m as DocsAgentTraceEventInput, mt as OpenDocsProvider, n as AgentFeedbackConfig, nt as DocsTheme, o as BreadcrumbConfig, ot as LastUpdatedConfig, p as DocsAgentFeedbackData, pt as OpenDocsConfig, q as DocsSearchChunkingConfig, r as AlgoliaDocsSearchConfig, rt as FeedbackConfig, s as ChangelogConfig, st as LlmsTxtConfig, t as AIConfig, tt as DocsSitemapConfig, u as CopyMarkdownConfig, ut as LlmsTxtSectionConfig, v as DocsAnalyticsEvent, vt as PageFrontmatter, w as DocsAskAIActionType, wt as SidebarComponentProps, x as DocsAnalyticsInput, xt as PageTwitter, y as DocsAnalyticsEventInput, yt as PageOpenGraph, z as DocsObservabilityEvent } from "./types-DHSYXDUB.mjs";
2
+ import { A as toDocsSitemapMarkdownUrl, B as resolveDocsAnalyticsConfig, C as createDocsSitemapResponse, D as resolveDocsSitemapConfig, E as renderDocsSitemapXml, F as createDocsAgentTraceContext, H as DocsCloudAnalyticsOptions, I as createDocsAgentTraceId, L as emitDocsAgentTraceEvent, M as DocsAgentTraceContext, N as ResolvedDocsAnalyticsConfig, O as resolveDocsSitemapPageLastmod, P as ResolvedDocsObservabilityConfig, R as emitDocsAnalyticsEvent, S as buildDocsSitemapManifest, T as renderDocsSitemapMarkdown, U as createDocsCloudAnalytics, V as resolveDocsObservabilityConfig, _ as DocsSitemapFormat, a as createMcpSearchAdapter, b as DocsSitemapPageInput, c as formatDocsAskAIPackageHints, d as resolveAskAISearchRequestConfig, f as resolveSearchRequestConfig, g as DEFAULT_SITEMAP_XML_ROUTE, h as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, i as createCustomSearchAdapter, j as DOCS_AGENT_TRACE_EVENT_TYPES, k as resolveDocsSitemapRequest, l as inferDocsAskAIPackageHints, m as DEFAULT_SITEMAP_MD_ROUTE, n as buildDocsSearchDocuments, o as createSimpleSearchAdapter, p as DEFAULT_SITEMAP_MANIFEST_PATH, r as createAlgoliaSearchAdapter, s as createTypesenseSearchAdapter, t as buildDocsAskAIContext, u as performDocsSearch, v as DocsSitemapManifest, w as readDocsSitemapManifestFromContentMap, x as DocsSitemapResolvedConfig, y as DocsSitemapManifestPage, z as emitDocsObservabilityEvent } from "./search-DuOq8JqA.mjs";
3
3
  import { DocsMcpPage, DocsMcpResolvedConfig } from "./mcp.mjs";
4
4
 
5
5
  //#region src/define-docs.d.ts
@@ -211,6 +211,7 @@ declare const DEFAULT_LLMS_TXT_ROUTE = "/llms.txt";
211
211
  declare const DEFAULT_LLMS_FULL_TXT_ROUTE = "/llms-full.txt";
212
212
  declare const DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE = "/.well-known/llms.txt";
213
213
  declare const DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE = "/.well-known/llms-full.txt";
214
+ declare const DEFAULT_LLMS_TXT_MAX_CHARS = 50000;
214
215
  declare const DEFAULT_SKILL_MD_ROUTE = "/skill.md";
215
216
  declare const DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE = "/.well-known/skill.md";
216
217
  declare const DEFAULT_AGENT_FEEDBACK_ROUTE = "/api/docs/agent/feedback";
@@ -225,6 +226,52 @@ interface DocsLlmsDiscoveryConfig {
225
226
  baseUrl?: string;
226
227
  siteTitle?: string;
227
228
  siteDescription?: string;
229
+ maxChars?: LlmsTxtMaxCharsConfig;
230
+ sections?: LlmsTxtSectionConfig[];
231
+ }
232
+ interface DocsLlmsTxtResolvedMaxChars {
233
+ mode: LlmsTxtMaxCharsMode;
234
+ chars: number;
235
+ }
236
+ interface DocsLlmsTxtResolvedSection {
237
+ title: string;
238
+ description?: string;
239
+ match: string[];
240
+ route: string;
241
+ fullRoute: string;
242
+ maxChars: DocsLlmsTxtResolvedMaxChars;
243
+ }
244
+ interface DocsLlmsTxtRequest {
245
+ format: "llms" | "llms-full";
246
+ section?: DocsLlmsTxtResolvedSection;
247
+ }
248
+ interface DocsLlmsTxtPageInput {
249
+ url: string;
250
+ title: string;
251
+ description?: string;
252
+ content: string;
253
+ }
254
+ interface DocsLlmsTxtGeneratedSection extends DocsLlmsTxtResolvedSection {
255
+ llmsTxt: string;
256
+ llmsFullTxt: string;
257
+ }
258
+ interface DocsLlmsTxtGeneratedContent {
259
+ llmsTxt: string;
260
+ llmsFullTxt: string;
261
+ maxChars: DocsLlmsTxtResolvedMaxChars;
262
+ sections: DocsLlmsTxtGeneratedSection[];
263
+ }
264
+ interface DocsLlmsTxtSelectedContent {
265
+ content: string;
266
+ label: string;
267
+ maxChars: DocsLlmsTxtResolvedMaxChars;
268
+ }
269
+ interface DocsLlmsTxtMaxCharsIssue {
270
+ mode: Exclude<LlmsTxtMaxCharsMode, "off">;
271
+ chars: number;
272
+ actual: number;
273
+ label: string;
274
+ message: string;
228
275
  }
229
276
  interface DocsAgentDiscoverySpecOptions {
230
277
  origin: string;
@@ -278,12 +325,19 @@ declare function normalizeDocsUrlPath(value: string): string;
278
325
  declare function toDocsMarkdownUrl(url: string, options?: {
279
326
  locale?: string;
280
327
  }): string;
328
+ declare function resolveDocsLlmsTxtSections(llms?: boolean | DocsLlmsDiscoveryConfig | LlmsTxtConfig): DocsLlmsTxtResolvedSection[];
329
+ declare function matchesDocsLlmsTxtSection(pageUrl: string, section: DocsLlmsTxtResolvedSection): boolean;
330
+ declare function resolveDocsLlmsTxtRequest(url: URL, llms?: boolean | DocsLlmsDiscoveryConfig | LlmsTxtConfig): DocsLlmsTxtRequest | null;
331
+ declare function renderDocsLlmsTxt(pages: DocsLlmsTxtPageInput[], options?: DocsLlmsDiscoveryConfig): DocsLlmsTxtGeneratedContent;
332
+ declare function selectDocsLlmsTxtContent(content: DocsLlmsTxtGeneratedContent, request: DocsLlmsTxtRequest): DocsLlmsTxtSelectedContent | null;
333
+ declare function getDocsLlmsTxtMaxCharsIssue(label: string, content: string, maxChars: DocsLlmsTxtResolvedMaxChars): DocsLlmsTxtMaxCharsIssue | null;
281
334
  declare function isDocsAgentDiscoveryRequest(url: URL): boolean;
282
335
  declare function isDocsMcpRequest(url: URL): boolean;
283
336
  declare function isDocsSkillRequest(url: URL): boolean;
284
337
  declare function resolveDocsSkillFormat(url: URL): "skill" | null;
285
338
  declare function isDocsPublicGetRequest(entry: string, url: URL, request: Request, options?: {
286
339
  sitemap?: boolean | DocsSitemapConfig;
340
+ llms?: boolean | DocsLlmsDiscoveryConfig | LlmsTxtConfig;
287
341
  }): boolean;
288
342
  declare function resolveDocsLlmsTxtFormat(url: URL): "llms" | "llms-full" | null;
289
343
  declare function resolveDocsMarkdownRequest(entry: string, url: URL, request: Request): {
@@ -372,6 +426,13 @@ declare function buildDocsAgentDiscoverySpec({
372
426
  resolutionOrder: string[];
373
427
  };
374
428
  llms: {
429
+ sections?: {
430
+ title: string;
431
+ description: string | undefined;
432
+ match: string[];
433
+ txt: string;
434
+ full: string;
435
+ }[] | undefined;
375
436
  enabled: boolean;
376
437
  defaultTxt: string;
377
438
  defaultFull: string;
@@ -500,4 +561,4 @@ declare function renderDocsRobotsGeneratedBlock(options?: DocsRobotsRenderOption
500
561
  declare function upsertDocsRobotsGeneratedBlock(existing: string, block: string): string;
501
562
  declare function analyzeDocsRobotsTxt(content: string, options?: DocsRobotsRenderOptions): DocsRobotsAnalysis;
502
563
  //#endregion
503
- 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_AGENT_FEEDBACK_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_ROUTE, DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE, DEFAULT_MCP_PUBLIC_ROUTE, DEFAULT_MCP_ROUTE, DEFAULT_MCP_WELL_KNOWN_ROUTE, DEFAULT_ROBOTS_TXT_ROUTE, DEFAULT_SITEMAP_MANIFEST_PATH, 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_MARKDOWN_SIGNATURE_AGENT_HEADER, DOCS_ROBOTS_GENERATED_BLOCK_END, DOCS_ROBOTS_GENERATED_BLOCK_START, type DocsAgentDiscoverySpecOptions, type DocsAgentFeedbackContext, type DocsAgentFeedbackData, type DocsAgentFeedbackDiscoveryConfig, type DocsAgentTraceContext, type DocsAgentTraceEventInput, type DocsAgentTraceEventType, type DocsAgentTraceStatus, 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 DocsConfig, type DocsFeedbackData, type DocsFeedbackValue, type DocsI18nConfig, type DocsLlmsDiscoveryConfig, type DocsMarkdownPage, type DocsMcpConfig, type DocsMcpToolsConfig, type DocsMetadata, type DocsNav, type DocsObservabilityConfig, type DocsObservabilityEvent, type DocsObservabilityEventInput, type DocsPageStructuredDataInput, type DocsPathMatch, type DocsRelatedItem, 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 McpDocsSearchConfig, type OGConfig, type OpenDocsConfig, type OpenDocsProvider, type OpenGraphImage, type OrderingItem, type PageActionsConfig, type PageFrontmatter, type PageOpenGraph, type PageSidebarFrontmatter, type PageTwitter, type ReadingTimeConfig, type ResolvedChangelogConfig, type ResolvedDocsAnalyticsConfig, type ResolvedDocsI18n, type ResolvedDocsObservabilityConfig, type ResolvedDocsRelatedLink, 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, buildDocsAskAIContext, buildDocsPageStructuredData, buildDocsSearchDocuments, buildDocsSitemapManifest, buildPageOpenGraph, buildPageTwitter, createAlgoliaSearchAdapter, createCustomSearchAdapter, createDocsAgentTraceContext, createDocsAgentTraceId, createDocsCloudAnalytics, createDocsSitemapResponse, createMcpSearchAdapter, createSimpleSearchAdapter, createTheme, createTypesenseSearchAdapter, deepMerge, defineDocs, emitDocsAgentTraceEvent, emitDocsAnalyticsEvent, emitDocsObservabilityEvent, estimateReadingTimeMinutes, extendTheme, findDocsMarkdownPage, formatDocsAskAIPackageHints, getDocsMarkdownVaryHeader, getDocsRobotsAllowRoutes, hasDocsMarkdownSignatureAgent, hashGeneratedAgentContent, inferDocsAskAIPackageHints, isDocsAgentDiscoveryRequest, isDocsMcpRequest, isDocsPublicGetRequest, isDocsSkillRequest, normalizeDocsPathSegment, normalizeDocsRelated, normalizeDocsUrlPath, normalizeGeneratedAgentContent, parseGeneratedAgentDocument, performDocsSearch, readDocsSitemapManifestFromContentMap, renderDocsMarkdownDocument, renderDocsMarkdownNotFound, renderDocsPageStructuredDataJson, renderDocsRelatedMarkdownLines, renderDocsRobotsGeneratedBlock, renderDocsRobotsTxt, renderDocsSitemapMarkdown, renderDocsSitemapXml, renderDocsSkillDocument, resolveAskAISearchRequestConfig, resolveChangelogConfig, resolveDocsAgentMdxContent, resolveDocsAnalyticsConfig, resolveDocsI18n, resolveDocsLlmsTxtFormat, resolveDocsLocale, resolveDocsMarkdownRequest, resolveDocsMetadataBaseUrl, resolveDocsObservabilityConfig, resolveDocsPath, resolveDocsRobotsConfig, resolveDocsSitemapConfig, resolveDocsSitemapPageLastmod, resolveDocsSitemapRequest, resolveDocsSkillFormat, resolveOGImage, resolvePageReadingTime, resolvePageSidebarFolderIndexBehavior, resolveReadingTimeFromContent, resolveReadingTimeFromSource, resolveReadingTimeOptions, resolveSearchRequestConfig, resolveSidebarFolderIndexBehavior, resolveSidebarFolderIndexBehaviorForPath, resolveTitle, serializeGeneratedAgentDocument, stripGeneratedAgentProvenance, toDocsMarkdownUrl, toDocsSitemapMarkdownUrl, upsertDocsRobotsGeneratedBlock };
564
+ 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_AGENT_FEEDBACK_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_ROBOTS_TXT_ROUTE, DEFAULT_SITEMAP_MANIFEST_PATH, 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_MARKDOWN_SIGNATURE_AGENT_HEADER, DOCS_ROBOTS_GENERATED_BLOCK_END, DOCS_ROBOTS_GENERATED_BLOCK_START, type DocsAgentDiscoverySpecOptions, type DocsAgentFeedbackContext, type DocsAgentFeedbackData, type DocsAgentFeedbackDiscoveryConfig, type DocsAgentTraceContext, type DocsAgentTraceEventInput, type DocsAgentTraceEventType, type DocsAgentTraceStatus, 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 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 DocsMarkdownPage, type DocsMcpConfig, type DocsMcpToolsConfig, type DocsMetadata, type DocsNav, type DocsObservabilityConfig, type DocsObservabilityEvent, type DocsObservabilityEventInput, type DocsPageStructuredDataInput, type DocsPathMatch, type DocsRelatedItem, 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 OpenGraphImage, type OrderingItem, type PageActionsConfig, type PageFrontmatter, type PageOpenGraph, type PageSidebarFrontmatter, type PageTwitter, type ReadingTimeConfig, type ResolvedChangelogConfig, type ResolvedDocsAnalyticsConfig, type ResolvedDocsI18n, type ResolvedDocsObservabilityConfig, type ResolvedDocsRelatedLink, 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, buildDocsAskAIContext, buildDocsPageStructuredData, buildDocsSearchDocuments, buildDocsSitemapManifest, buildPageOpenGraph, buildPageTwitter, createAlgoliaSearchAdapter, createCustomSearchAdapter, createDocsAgentTraceContext, createDocsAgentTraceId, createDocsCloudAnalytics, createDocsSitemapResponse, createMcpSearchAdapter, createSimpleSearchAdapter, createTheme, createTypesenseSearchAdapter, deepMerge, defineDocs, emitDocsAgentTraceEvent, emitDocsAnalyticsEvent, emitDocsObservabilityEvent, estimateReadingTimeMinutes, extendTheme, findDocsMarkdownPage, formatDocsAskAIPackageHints, getDocsLlmsTxtMaxCharsIssue, getDocsMarkdownVaryHeader, getDocsRobotsAllowRoutes, hasDocsMarkdownSignatureAgent, hashGeneratedAgentContent, inferDocsAskAIPackageHints, isDocsAgentDiscoveryRequest, isDocsMcpRequest, isDocsPublicGetRequest, isDocsSkillRequest, matchesDocsLlmsTxtSection, normalizeDocsPathSegment, normalizeDocsRelated, normalizeDocsUrlPath, normalizeGeneratedAgentContent, parseGeneratedAgentDocument, performDocsSearch, readDocsSitemapManifestFromContentMap, renderDocsLlmsTxt, renderDocsMarkdownDocument, renderDocsMarkdownNotFound, renderDocsPageStructuredDataJson, renderDocsRelatedMarkdownLines, renderDocsRobotsGeneratedBlock, renderDocsRobotsTxt, renderDocsSitemapMarkdown, renderDocsSitemapXml, renderDocsSkillDocument, resolveAskAISearchRequestConfig, resolveChangelogConfig, resolveDocsAgentMdxContent, resolveDocsAnalyticsConfig, resolveDocsI18n, resolveDocsLlmsTxtFormat, resolveDocsLlmsTxtRequest, resolveDocsLlmsTxtSections, resolveDocsLocale, resolveDocsMarkdownRequest, resolveDocsMetadataBaseUrl, resolveDocsObservabilityConfig, resolveDocsPath, resolveDocsRobotsConfig, resolveDocsSitemapConfig, resolveDocsSitemapPageLastmod, resolveDocsSitemapRequest, resolveDocsSkillFormat, resolveOGImage, resolvePageReadingTime, resolvePageSidebarFolderIndexBehavior, resolveReadingTimeFromContent, resolveReadingTimeFromSource, resolveReadingTimeOptions, resolveSearchRequestConfig, resolveSidebarFolderIndexBehavior, resolveSidebarFolderIndexBehaviorForPath, resolveTitle, selectDocsLlmsTxtContent, serializeGeneratedAgentDocument, stripGeneratedAgentProvenance, toDocsMarkdownUrl, toDocsSitemapMarkdownUrl, upsertDocsRobotsGeneratedBlock };
package/dist/index.mjs CHANGED
@@ -2,6 +2,6 @@ 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-B5ze-heM.mjs";
3
3
  import { n as renderDocsRelatedMarkdownLines, t as normalizeDocsRelated } from "./related-BNj_NdHq.mjs";
4
4
  import { a as buildDocsSitemapManifest, c as renderDocsSitemapMarkdown, d as resolveDocsSitemapPageLastmod, f as resolveDocsSitemapRequest, i as DEFAULT_SITEMAP_XML_ROUTE, l as renderDocsSitemapXml, n as DEFAULT_SITEMAP_MD_ROUTE, o as createDocsSitemapResponse, p as toDocsSitemapMarkdownUrl, r as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, s as readDocsSitemapManifestFromContentMap, t as DEFAULT_SITEMAP_MANIFEST_PATH, u as resolveDocsSitemapConfig } from "./sitemap-BIQIYMKe.mjs";
5
- import { A as isDocsAgentDiscoveryRequest, B as resolveDocsLlmsTxtFormat, C as DEFAULT_SKILL_MD_ROUTE, D as findDocsMarkdownPage, E as buildDocsAgentDiscoverySpec, F as normalizeDocsUrlPath, H as resolveDocsSkillFormat, I as renderDocsMarkdownDocument, L as renderDocsMarkdownNotFound, M as isDocsPublicGetRequest, N as isDocsSkillRequest, O as getDocsMarkdownVaryHeader, P as normalizeDocsPathSegment, R as renderDocsSkillDocument, S as DEFAULT_MCP_WELL_KNOWN_ROUTE, T as DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER, U as toDocsMarkdownUrl, V as resolveDocsMarkdownRequest, _ as DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, a as analyzeDocsRobotsTxt, b as DEFAULT_MCP_PUBLIC_ROUTE, c as renderDocsRobotsTxt, d as DEFAULT_AGENT_FEEDBACK_ROUTE, f as DEFAULT_AGENT_SPEC_ROUTE, g as DEFAULT_LLMS_FULL_TXT_ROUTE, h as DEFAULT_DOCS_API_ROUTE, i as DOCS_ROBOTS_GENERATED_BLOCK_START, j as isDocsMcpRequest, k as hasDocsMarkdownSignatureAgent, l as resolveDocsRobotsConfig, m as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, n as DEFAULT_ROBOTS_TXT_ROUTE, o as getDocsRobotsAllowRoutes, p as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, r as DOCS_ROBOTS_GENERATED_BLOCK_END, s as renderDocsRobotsGeneratedBlock, t as DEFAULT_DOCS_AI_ROBOTS_USER_AGENTS, u as upsertDocsRobotsGeneratedBlock, v as DEFAULT_LLMS_TXT_ROUTE, w as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, x as DEFAULT_MCP_ROUTE, y as DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE, z as resolveDocsAgentMdxContent } from "./robots-T0sATQRa.mjs";
5
+ import { A as getDocsMarkdownVaryHeader, B as renderDocsMarkdownDocument, C as DEFAULT_MCP_WELL_KNOWN_ROUTE, D as buildDocsAgentDiscoverySpec, E as DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER, F as isDocsSkillRequest, G as resolveDocsLlmsTxtRequest, H as renderDocsSkillDocument, I as matchesDocsLlmsTxtSection, J as resolveDocsSkillFormat, K as resolveDocsLlmsTxtSections, L as normalizeDocsPathSegment, M as isDocsAgentDiscoveryRequest, N as isDocsMcpRequest, O as findDocsMarkdownPage, P as isDocsPublicGetRequest, R as normalizeDocsUrlPath, S as DEFAULT_MCP_ROUTE, T as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, U as resolveDocsAgentMdxContent, V as renderDocsMarkdownNotFound, W as resolveDocsLlmsTxtFormat, X as toDocsMarkdownUrl, Y as selectDocsLlmsTxtContent, _ as DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, a as analyzeDocsRobotsTxt, b as DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE, c as renderDocsRobotsTxt, d as DEFAULT_AGENT_FEEDBACK_ROUTE, f as DEFAULT_AGENT_SPEC_ROUTE, g as DEFAULT_LLMS_FULL_TXT_ROUTE, h as DEFAULT_DOCS_API_ROUTE, i as DOCS_ROBOTS_GENERATED_BLOCK_START, j as hasDocsMarkdownSignatureAgent, k as getDocsLlmsTxtMaxCharsIssue, l as resolveDocsRobotsConfig, m as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, n as DEFAULT_ROBOTS_TXT_ROUTE, o as getDocsRobotsAllowRoutes, p as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, q as resolveDocsMarkdownRequest, r as DOCS_ROBOTS_GENERATED_BLOCK_END, s as renderDocsRobotsGeneratedBlock, t as DEFAULT_DOCS_AI_ROBOTS_USER_AGENTS, u as upsertDocsRobotsGeneratedBlock, v as DEFAULT_LLMS_TXT_MAX_CHARS, w as DEFAULT_SKILL_MD_ROUTE, x as DEFAULT_MCP_PUBLIC_ROUTE, y as DEFAULT_LLMS_TXT_ROUTE, z as renderDocsLlmsTxt } from "./robots-DR-Gy1Hs.mjs";
6
6
 
7
- export { DEFAULT_AGENT_FEEDBACK_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_ROUTE, DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE, DEFAULT_MCP_PUBLIC_ROUTE, DEFAULT_MCP_ROUTE, DEFAULT_MCP_WELL_KNOWN_ROUTE, DEFAULT_ROBOTS_TXT_ROUTE, DEFAULT_SITEMAP_MANIFEST_PATH, 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_MARKDOWN_SIGNATURE_AGENT_HEADER, DOCS_ROBOTS_GENERATED_BLOCK_END, DOCS_ROBOTS_GENERATED_BLOCK_START, GENERATED_AGENT_PROVENANCE_MARKER, GENERATED_AGENT_PROVENANCE_VERSION, analyzeDocsRobotsTxt, applySidebarFolderIndexBehavior, buildDocsAgentDiscoverySpec, buildDocsAskAIContext, buildDocsPageStructuredData, buildDocsSearchDocuments, buildDocsSitemapManifest, buildPageOpenGraph, buildPageTwitter, createAlgoliaSearchAdapter, createCustomSearchAdapter, createDocsAgentTraceContext, createDocsAgentTraceId, createDocsCloudAnalytics, createDocsSitemapResponse, createMcpSearchAdapter, createSimpleSearchAdapter, createTheme, createTypesenseSearchAdapter, deepMerge, defineDocs, emitDocsAgentTraceEvent, emitDocsAnalyticsEvent, emitDocsObservabilityEvent, estimateReadingTimeMinutes, extendTheme, findDocsMarkdownPage, formatDocsAskAIPackageHints, getDocsMarkdownVaryHeader, getDocsRobotsAllowRoutes, hasDocsMarkdownSignatureAgent, hashGeneratedAgentContent, inferDocsAskAIPackageHints, isDocsAgentDiscoveryRequest, isDocsMcpRequest, isDocsPublicGetRequest, isDocsSkillRequest, normalizeDocsPathSegment, normalizeDocsRelated, normalizeDocsUrlPath, normalizeGeneratedAgentContent, parseGeneratedAgentDocument, performDocsSearch, readDocsSitemapManifestFromContentMap, renderDocsMarkdownDocument, renderDocsMarkdownNotFound, renderDocsPageStructuredDataJson, renderDocsRelatedMarkdownLines, renderDocsRobotsGeneratedBlock, renderDocsRobotsTxt, renderDocsSitemapMarkdown, renderDocsSitemapXml, renderDocsSkillDocument, resolveAskAISearchRequestConfig, resolveChangelogConfig, resolveDocsAgentMdxContent, resolveDocsAnalyticsConfig, resolveDocsI18n, resolveDocsLlmsTxtFormat, resolveDocsLocale, resolveDocsMarkdownRequest, resolveDocsMetadataBaseUrl, resolveDocsObservabilityConfig, resolveDocsPath, resolveDocsRobotsConfig, resolveDocsSitemapConfig, resolveDocsSitemapPageLastmod, resolveDocsSitemapRequest, resolveDocsSkillFormat, resolveOGImage, resolvePageReadingTime, resolvePageSidebarFolderIndexBehavior, resolveReadingTimeFromContent, resolveReadingTimeFromSource, resolveReadingTimeOptions, resolveSearchRequestConfig, resolveSidebarFolderIndexBehavior, resolveSidebarFolderIndexBehaviorForPath, resolveTitle, serializeGeneratedAgentDocument, stripGeneratedAgentProvenance, toDocsMarkdownUrl, toDocsSitemapMarkdownUrl, upsertDocsRobotsGeneratedBlock };
7
+ export { DEFAULT_AGENT_FEEDBACK_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_ROBOTS_TXT_ROUTE, DEFAULT_SITEMAP_MANIFEST_PATH, 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_MARKDOWN_SIGNATURE_AGENT_HEADER, DOCS_ROBOTS_GENERATED_BLOCK_END, DOCS_ROBOTS_GENERATED_BLOCK_START, GENERATED_AGENT_PROVENANCE_MARKER, GENERATED_AGENT_PROVENANCE_VERSION, analyzeDocsRobotsTxt, applySidebarFolderIndexBehavior, buildDocsAgentDiscoverySpec, buildDocsAskAIContext, buildDocsPageStructuredData, buildDocsSearchDocuments, buildDocsSitemapManifest, buildPageOpenGraph, buildPageTwitter, createAlgoliaSearchAdapter, createCustomSearchAdapter, createDocsAgentTraceContext, createDocsAgentTraceId, createDocsCloudAnalytics, createDocsSitemapResponse, createMcpSearchAdapter, createSimpleSearchAdapter, createTheme, createTypesenseSearchAdapter, deepMerge, defineDocs, emitDocsAgentTraceEvent, emitDocsAnalyticsEvent, emitDocsObservabilityEvent, estimateReadingTimeMinutes, extendTheme, findDocsMarkdownPage, formatDocsAskAIPackageHints, getDocsLlmsTxtMaxCharsIssue, getDocsMarkdownVaryHeader, getDocsRobotsAllowRoutes, hasDocsMarkdownSignatureAgent, hashGeneratedAgentContent, inferDocsAskAIPackageHints, isDocsAgentDiscoveryRequest, isDocsMcpRequest, isDocsPublicGetRequest, isDocsSkillRequest, matchesDocsLlmsTxtSection, normalizeDocsPathSegment, normalizeDocsRelated, normalizeDocsUrlPath, normalizeGeneratedAgentContent, parseGeneratedAgentDocument, performDocsSearch, readDocsSitemapManifestFromContentMap, renderDocsLlmsTxt, renderDocsMarkdownDocument, renderDocsMarkdownNotFound, renderDocsPageStructuredDataJson, renderDocsRelatedMarkdownLines, renderDocsRobotsGeneratedBlock, renderDocsRobotsTxt, renderDocsSitemapMarkdown, renderDocsSitemapXml, renderDocsSkillDocument, resolveAskAISearchRequestConfig, resolveChangelogConfig, resolveDocsAgentMdxContent, resolveDocsAnalyticsConfig, resolveDocsI18n, resolveDocsLlmsTxtFormat, resolveDocsLlmsTxtRequest, resolveDocsLlmsTxtSections, resolveDocsLocale, resolveDocsMarkdownRequest, resolveDocsMetadataBaseUrl, resolveDocsObservabilityConfig, resolveDocsPath, resolveDocsRobotsConfig, resolveDocsSitemapConfig, resolveDocsSitemapPageLastmod, resolveDocsSitemapRequest, resolveDocsSkillFormat, resolveOGImage, resolvePageReadingTime, resolvePageSidebarFolderIndexBehavior, resolveReadingTimeFromContent, resolveReadingTimeFromSource, resolveReadingTimeOptions, resolveSearchRequestConfig, resolveSidebarFolderIndexBehavior, resolveSidebarFolderIndexBehaviorForPath, resolveTitle, selectDocsLlmsTxtContent, serializeGeneratedAgentDocument, stripGeneratedAgentProvenance, toDocsMarkdownUrl, toDocsSitemapMarkdownUrl, upsertDocsRobotsGeneratedBlock };
@@ -1,4 +1,4 @@
1
- import { $ as svelteDocsPublicHookTemplate, A as nextConfigMergedTemplate, B as nuxtServerApiDocsRouteTemplate, C as injectRootProviderIntoLayout, D as injectTanstackVitePlugins, E as injectTanstackRootProviderIntoRoute, F as nuxtDocsConfigTemplate, G as quickstartPageTemplate, H as nuxtServerDocsPublicMiddlewareTemplate, I as nuxtDocsPageTemplate, J as svelteDocsApiRouteTemplate, K as rootLayoutTemplate, L as nuxtGlobalCssTemplate, M as nextLocaleDocPageTemplate, N as nextLocalizedPageTemplate, O as installationPageTemplate, P as nuxtConfigTemplate, Q as svelteDocsPageTemplate, R as nuxtInstallationPageTemplate, S as injectNuxtCssImport, T as injectSvelteDocsPublicHook, U as nuxtWelcomePageTemplate, V as nuxtServerApiReferenceRouteTemplate, W as postcssConfigTemplate, X as svelteDocsLayoutServerTemplate, Y as svelteDocsConfigTemplate, Z as svelteDocsLayoutTemplate, _ as getAstroAdapterPkg, _t as tanstackViteConfigTemplate, a as astroDocsIndexTemplate, at as svelteWelcomePageTemplate, b as injectAstroDocsMiddleware, bt as welcomePageTemplate, c as astroDocsServerTemplate, ct as tanstackDocsCatchAllRouteTemplate, d as astroQuickstartPageTemplate, dt as tanstackDocsIndexRouteTemplate, et as svelteDocsServerTemplate, f as astroWelcomePageTemplate, ft as tanstackDocsPublicRouteTemplate, g as docsLayoutTemplate, gt as tanstackRootRouteTemplate, h as docsConfigTemplate, ht as tanstackQuickstartPageTemplate, i as astroDocsConfigTemplate, it as svelteRootLayoutTemplate, j as nextConfigTemplate, k as nextApiReferencePageTemplate, l as astroGlobalCssTemplate, lt as tanstackDocsConfigTemplate, m as customThemeTsTemplate, mt as tanstackInstallationPageTemplate, n as astroApiRouteTemplate, nt as svelteInstallationPageTemplate, o as astroDocsMiddlewareTemplate, ot as tanstackApiDocsRouteTemplate, p as customThemeCssTemplate, pt as tanstackDocsServerTemplate, q as svelteApiReferenceRouteTemplate, r as astroConfigTemplate, rt as svelteQuickstartPageTemplate, s as astroDocsPageTemplate, st as tanstackApiReferenceRouteTemplate, t as astroApiReferenceRouteTemplate, tt as svelteGlobalCssTemplate, u as astroInstallationPageTemplate, ut as tanstackDocsFunctionsTemplate, v as globalCssTemplate, vt as tanstackWelcomePageTemplate, w as injectSvelteCssImport, x as injectCssImport, y as injectAstroCssImport, yt as tsconfigTemplate, z as nuxtQuickstartPageTemplate } from "./templates-CtPtjNu5.mjs";
1
+ import { $ as svelteDocsPublicHookTemplate, A as nextConfigMergedTemplate, B as nuxtServerApiDocsRouteTemplate, C as injectRootProviderIntoLayout, D as injectTanstackVitePlugins, E as injectTanstackRootProviderIntoRoute, F as nuxtDocsConfigTemplate, G as quickstartPageTemplate, H as nuxtServerDocsPublicMiddlewareTemplate, I as nuxtDocsPageTemplate, J as svelteDocsApiRouteTemplate, K as rootLayoutTemplate, L as nuxtGlobalCssTemplate, M as nextLocaleDocPageTemplate, N as nextLocalizedPageTemplate, O as installationPageTemplate, P as nuxtConfigTemplate, Q as svelteDocsPageTemplate, R as nuxtInstallationPageTemplate, S as injectNuxtCssImport, T as injectSvelteDocsPublicHook, U as nuxtWelcomePageTemplate, V as nuxtServerApiReferenceRouteTemplate, W as postcssConfigTemplate, X as svelteDocsLayoutServerTemplate, Y as svelteDocsConfigTemplate, Z as svelteDocsLayoutTemplate, _ as getAstroAdapterPkg, _t as tanstackViteConfigTemplate, a as astroDocsIndexTemplate, at as svelteWelcomePageTemplate, b as injectAstroDocsMiddleware, bt as welcomePageTemplate, c as astroDocsServerTemplate, ct as tanstackDocsCatchAllRouteTemplate, d as astroQuickstartPageTemplate, dt as tanstackDocsIndexRouteTemplate, et as svelteDocsServerTemplate, f as astroWelcomePageTemplate, ft as tanstackDocsPublicRouteTemplate, g as docsLayoutTemplate, gt as tanstackRootRouteTemplate, h as docsConfigTemplate, ht as tanstackQuickstartPageTemplate, i as astroDocsConfigTemplate, it as svelteRootLayoutTemplate, j as nextConfigTemplate, k as nextApiReferencePageTemplate, l as astroGlobalCssTemplate, lt as tanstackDocsConfigTemplate, m as customThemeTsTemplate, mt as tanstackInstallationPageTemplate, n as astroApiRouteTemplate, nt as svelteInstallationPageTemplate, o as astroDocsMiddlewareTemplate, ot as tanstackApiDocsRouteTemplate, p as customThemeCssTemplate, pt as tanstackDocsServerTemplate, q as svelteApiReferenceRouteTemplate, r as astroConfigTemplate, rt as svelteQuickstartPageTemplate, s as astroDocsPageTemplate, st as tanstackApiReferenceRouteTemplate, t as astroApiReferenceRouteTemplate, tt as svelteGlobalCssTemplate, u as astroInstallationPageTemplate, ut as tanstackDocsFunctionsTemplate, v as globalCssTemplate, vt as tanstackWelcomePageTemplate, w as injectSvelteCssImport, x as injectCssImport, y as injectAstroCssImport, yt as tsconfigTemplate, z as nuxtQuickstartPageTemplate } from "./templates-CmRJIDB9.mjs";
2
2
  import { a as devInstallCommand, c as installCommand, d as writeFileSafe, i as detectPackageManagerFromLockfile, l as readFileSafe, n as detectGlobalCssFiles, o as exec, r as detectNextAppDir, s as fileExists, t as detectFramework, u as spawnAndWaitFor } from "./utils-AmYxHDoz.mjs";
3
3
  import fs from "node:fs";
4
4
  import path from "node:path";
@@ -2,7 +2,7 @@ import "./search-B5ze-heM.mjs";
2
2
  import "./sitemap-server-DwEPfk13.mjs";
3
3
  import { createFilesystemDocsMcpSource, resolveDocsMcpConfig, runDocsMcpStdio } from "./mcp.mjs";
4
4
  import "./server.mjs";
5
- import { c as readNavTitle, f as resolveDocsConfigPath, n as extractObjectLiteral, o as readBooleanProperty, p as resolveDocsContentDir, u as readStringProperty } from "./config-BR6CcCfr.mjs";
5
+ import { c as readNavTitle, f as resolveDocsConfigPath, n as extractObjectLiteral, o as readBooleanProperty, p as resolveDocsContentDir, u as readStringProperty } from "./config-UI31_wlO.mjs";
6
6
  import { readFileSync } from "node:fs";
7
7
 
8
8
  //#region src/cli/mcp.ts
package/dist/mcp.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { J as DocsSearchConfig, P as DocsMcpConfig, R as DocsObservabilityConfig, _ as DocsAnalyticsConfig, et as DocsSearchSourcePage, pt as OrderingItem } from "./types-BFITL514.mjs";
1
+ import { J as DocsSearchConfig, P as DocsMcpConfig, R as DocsObservabilityConfig, _ as DocsAnalyticsConfig, et as DocsSearchSourcePage, gt as OrderingItem } from "./types-DHSYXDUB.mjs";
2
2
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
3
3
 
4
4
  //#region src/mcp.d.ts
@@ -1,5 +1,5 @@
1
- import { i as DOCS_ROBOTS_GENERATED_BLOCK_START, l as resolveDocsRobotsConfig, r as DOCS_ROBOTS_GENERATED_BLOCK_END, s as renderDocsRobotsGeneratedBlock, u as upsertDocsRobotsGeneratedBlock } from "./robots-T0sATQRa.mjs";
2
- import { d as readTopLevelStringProperty, f as resolveDocsConfigPath, i as loadDocsConfigModule, o as readBooleanProperty, t as extractNestedObjectLiteral, u as readStringProperty } from "./config-BR6CcCfr.mjs";
1
+ import { i as DOCS_ROBOTS_GENERATED_BLOCK_START, l as resolveDocsRobotsConfig, r as DOCS_ROBOTS_GENERATED_BLOCK_END, s as renderDocsRobotsGeneratedBlock, u as upsertDocsRobotsGeneratedBlock } from "./robots-DR-Gy1Hs.mjs";
2
+ import { d as readTopLevelStringProperty, f as resolveDocsConfigPath, i as loadDocsConfigModule, o as readBooleanProperty, t as extractNestedObjectLiteral, u as readStringProperty } from "./config-UI31_wlO.mjs";
3
3
  import { t as detectFramework } from "./utils-AmYxHDoz.mjs";
4
4
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
5
5
  import path from "node:path";
@@ -13,6 +13,7 @@ const DEFAULT_LLMS_TXT_ROUTE = "/llms.txt";
13
13
  const DEFAULT_LLMS_FULL_TXT_ROUTE = "/llms-full.txt";
14
14
  const DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE = "/.well-known/llms.txt";
15
15
  const DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE = "/.well-known/llms-full.txt";
16
+ const DEFAULT_LLMS_TXT_MAX_CHARS = 5e4;
16
17
  const DEFAULT_SKILL_MD_ROUTE = "/skill.md";
17
18
  const DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE = "/.well-known/skill.md";
18
19
  const DEFAULT_AGENT_DISCOVERY_ROBOTS_TXT_ROUTE = "/robots.txt";
@@ -36,6 +37,211 @@ function toDocsMarkdownUrl(url, options = {}) {
36
37
  const search = params.toString();
37
38
  return `${markdownPath}${search ? `?${search}` : ""}${hash ? `#${hash}` : ""}`;
38
39
  }
40
+ function joinDocsPublicRoute(prefix, suffix) {
41
+ const normalizedPrefix = normalizeDocsUrlPath(`/${normalizeDocsPathSegment(prefix)}`);
42
+ const normalizedSuffix = `/${normalizeDocsPathSegment(suffix)}`;
43
+ if (normalizedPrefix === "/") return normalizedSuffix;
44
+ return normalizeDocsUrlPath(`${normalizedPrefix}${normalizedSuffix}`);
45
+ }
46
+ function normalizeLlmsTxtMatch(value) {
47
+ const trimmed = value.trim();
48
+ if (!trimmed) return "/";
49
+ return normalizeDocsUrlPath(trimmed.startsWith("/") ? trimmed : `/${trimmed}`);
50
+ }
51
+ function llmsTxtMatchPrefix(value) {
52
+ const normalized = normalizeLlmsTxtMatch(value);
53
+ const wildcardIndex = normalized.indexOf("*");
54
+ return normalizeDocsUrlPath((wildcardIndex >= 0 ? normalized.slice(0, wildcardIndex) : normalized).replace(/\/+$/, "") || "/");
55
+ }
56
+ function deriveLlmsTxtSectionRoute(match) {
57
+ return joinDocsPublicRoute(llmsTxtMatchPrefix(match[0] ?? "/"), "llms.txt");
58
+ }
59
+ function deriveLlmsTxtSectionFullRoute(route) {
60
+ const normalized = normalizeDocsUrlPath(route);
61
+ if (normalized.endsWith("/llms.txt")) return `${normalized.slice(0, -9)}/llms-full.txt`;
62
+ return joinDocsPublicRoute(normalized, "llms-full.txt");
63
+ }
64
+ function normalizeLlmsTxtMaxChars(value, fallback) {
65
+ const mode = value?.mode ?? fallback?.mode ?? "warn";
66
+ const chars = value?.chars ?? fallback?.chars ?? DEFAULT_LLMS_TXT_MAX_CHARS;
67
+ return {
68
+ mode,
69
+ chars: Number.isFinite(chars) && chars > 0 ? Math.floor(chars) : DEFAULT_LLMS_TXT_MAX_CHARS
70
+ };
71
+ }
72
+ function resolveDocsLlmsTxtSections(llms) {
73
+ if (!llms || typeof llms !== "object" || !Array.isArray(llms.sections)) return [];
74
+ const rootMaxChars = normalizeLlmsTxtMaxChars(llms.maxChars);
75
+ return llms.sections.flatMap((section) => {
76
+ const match = (Array.isArray(section.match) ? section.match : [section.match]).map(normalizeLlmsTxtMatch).filter(Boolean);
77
+ if (match.length === 0) return [];
78
+ const route = deriveLlmsTxtSectionRoute(match);
79
+ const resolved = {
80
+ title: section.title,
81
+ match,
82
+ route,
83
+ fullRoute: deriveLlmsTxtSectionFullRoute(route),
84
+ maxChars: normalizeLlmsTxtMaxChars(section.maxChars, rootMaxChars)
85
+ };
86
+ if (section.description !== void 0) resolved.description = section.description;
87
+ return [resolved];
88
+ });
89
+ }
90
+ function matchesDocsLlmsTxtSection(pageUrl, section) {
91
+ const pathname = normalizeDocsUrlPath(pageUrl.split(/[?#]/, 1)[0] || "/");
92
+ return section.match.some((pattern) => {
93
+ const normalized = normalizeLlmsTxtMatch(pattern);
94
+ if (normalized.endsWith("/**")) {
95
+ const prefix = normalizeDocsUrlPath(normalized.slice(0, -3) || "/");
96
+ if (prefix === "/") return true;
97
+ return pathname === prefix || pathname.startsWith(`${prefix}/`);
98
+ }
99
+ if (normalized.endsWith("/*")) {
100
+ const prefix = normalizeDocsUrlPath(normalized.slice(0, -2) || "/");
101
+ if (prefix === "/") {
102
+ const directChild = pathname.slice(1);
103
+ return directChild.length > 0 && !directChild.includes("/");
104
+ }
105
+ if (!pathname.startsWith(`${prefix}/`)) return false;
106
+ return !pathname.slice(prefix.length + 1).includes("/");
107
+ }
108
+ return pathname === normalized;
109
+ });
110
+ }
111
+ function resolveDocsLlmsTxtRequest(url, llms) {
112
+ const pathname = normalizeDocsUrlPath(url.pathname);
113
+ const sections = resolveDocsLlmsTxtSections(llms);
114
+ for (const section of sections) {
115
+ if (pathname === section.route) return {
116
+ format: "llms",
117
+ section
118
+ };
119
+ if (pathname === section.fullRoute) return {
120
+ format: "llms-full",
121
+ section
122
+ };
123
+ }
124
+ const format = url.searchParams.get("format");
125
+ if (pathname === DEFAULT_DOCS_API_ROUTE && (format === "llms" || format === "llms-full")) {
126
+ const sectionRoute = url.searchParams.get("section")?.trim();
127
+ const normalizedSectionRoute = sectionRoute ? normalizeDocsUrlPath(sectionRoute) : void 0;
128
+ return {
129
+ format,
130
+ section: normalizedSectionRoute ? sections.find((candidate) => candidate.route === normalizedSectionRoute || candidate.fullRoute === normalizedSectionRoute) ?? {
131
+ title: "",
132
+ match: [],
133
+ route: normalizedSectionRoute,
134
+ fullRoute: normalizedSectionRoute,
135
+ maxChars: normalizeLlmsTxtMaxChars(void 0)
136
+ } : void 0
137
+ };
138
+ }
139
+ if (pathname === DEFAULT_LLMS_TXT_ROUTE || pathname === DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE) return { format: "llms" };
140
+ if (pathname === DEFAULT_LLMS_FULL_TXT_ROUTE || pathname === DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE) return { format: "llms-full" };
141
+ return null;
142
+ }
143
+ function renderLlmsTxtPageList(pages, baseUrl) {
144
+ let content = "";
145
+ for (const page of pages) {
146
+ content += `- [${page.title}](${baseUrl}${toDocsMarkdownUrl(page.url)})`;
147
+ if (page.description) content += `: ${page.description}`;
148
+ content += "\n";
149
+ }
150
+ return content;
151
+ }
152
+ function renderLlmsFullTxtPages(pages, baseUrl) {
153
+ let content = "";
154
+ for (const page of pages) {
155
+ content += `## ${page.title}\n\n`;
156
+ content += `URL: ${baseUrl}${page.url}\n\n`;
157
+ if (page.description) content += `${page.description}\n\n`;
158
+ content += `${page.content}\n\n---\n\n`;
159
+ }
160
+ return content;
161
+ }
162
+ function renderDocsLlmsTxt(pages, options = {}) {
163
+ const siteTitle = options.siteTitle ?? "Documentation";
164
+ const siteDescription = options.siteDescription;
165
+ const baseUrl = options.baseUrl ?? "";
166
+ const maxChars = normalizeLlmsTxtMaxChars(options.maxChars);
167
+ const sections = resolveDocsLlmsTxtSections(options);
168
+ const matchedPageUrls = /* @__PURE__ */ new Set();
169
+ const generatedSections = sections.map((section) => {
170
+ const sectionPages = pages.filter((page) => matchesDocsLlmsTxtSection(page.url, section));
171
+ for (const page of sectionPages) matchedPageUrls.add(normalizeDocsUrlPath(page.url));
172
+ let llmsTxt = `# ${siteTitle} - ${section.title}\n\n`;
173
+ if (section.description) llmsTxt += `> ${section.description}\n\n`;
174
+ else if (siteDescription) llmsTxt += `> ${siteDescription}\n\n`;
175
+ llmsTxt += "## Pages\n\n";
176
+ llmsTxt += renderLlmsTxtPageList(sectionPages, baseUrl);
177
+ let llmsFullTxt = `# ${siteTitle} - ${section.title}\n\n`;
178
+ if (section.description) llmsFullTxt += `> ${section.description}\n\n`;
179
+ else if (siteDescription) llmsFullTxt += `> ${siteDescription}\n\n`;
180
+ llmsFullTxt += renderLlmsFullTxtPages(sectionPages, baseUrl);
181
+ return {
182
+ ...section,
183
+ llmsTxt,
184
+ llmsFullTxt
185
+ };
186
+ });
187
+ const rootPages = generatedSections.length > 0 ? pages.filter((page) => !matchedPageUrls.has(normalizeDocsUrlPath(page.url))) : pages;
188
+ let llmsTxt = `# ${siteTitle}\n\n`;
189
+ if (siteDescription) llmsTxt += `> ${siteDescription}\n\n`;
190
+ if (generatedSections.length > 0) {
191
+ llmsTxt += "## Sections\n\n";
192
+ for (const section of generatedSections) {
193
+ llmsTxt += `- [${section.title}](${baseUrl}${section.route})`;
194
+ if (section.description) llmsTxt += `: ${section.description}`;
195
+ llmsTxt += "\n";
196
+ }
197
+ llmsTxt += "\n";
198
+ }
199
+ if (rootPages.length > 0 || generatedSections.length === 0) {
200
+ llmsTxt += "## Pages\n\n";
201
+ llmsTxt += renderLlmsTxtPageList(rootPages, baseUrl);
202
+ }
203
+ let llmsFullTxt = `# ${siteTitle}\n\n`;
204
+ if (siteDescription) llmsFullTxt += `> ${siteDescription}\n\n`;
205
+ llmsFullTxt += renderLlmsFullTxtPages(pages, baseUrl);
206
+ return {
207
+ llmsTxt,
208
+ llmsFullTxt,
209
+ maxChars,
210
+ sections: generatedSections
211
+ };
212
+ }
213
+ function selectDocsLlmsTxtContent(content, request) {
214
+ if (request.section) {
215
+ const section = content.sections.find((candidate) => candidate.route === request.section?.route);
216
+ if (!section) return null;
217
+ return {
218
+ content: request.format === "llms-full" ? section.llmsFullTxt : section.llmsTxt,
219
+ label: request.format === "llms-full" ? section.fullRoute : section.route,
220
+ maxChars: request.format === "llms-full" ? {
221
+ ...section.maxChars,
222
+ mode: "off"
223
+ } : section.maxChars
224
+ };
225
+ }
226
+ return {
227
+ content: request.format === "llms-full" ? content.llmsFullTxt : content.llmsTxt,
228
+ label: request.format === "llms-full" ? DEFAULT_LLMS_FULL_TXT_ROUTE : DEFAULT_LLMS_TXT_ROUTE,
229
+ maxChars: request.format === "llms-full" ? {
230
+ ...content.maxChars,
231
+ mode: "off"
232
+ } : content.maxChars
233
+ };
234
+ }
235
+ function getDocsLlmsTxtMaxCharsIssue(label, content, maxChars) {
236
+ if (maxChars.mode === "off" || content.length <= maxChars.chars) return null;
237
+ return {
238
+ mode: maxChars.mode,
239
+ chars: maxChars.chars,
240
+ actual: content.length,
241
+ label,
242
+ message: `${label} is ${content.length.toLocaleString()} chars, above the configured ${maxChars.chars.toLocaleString()} char llms.txt budget.`
243
+ };
244
+ }
39
245
  function isDocsAgentDiscoveryRequest(url) {
40
246
  const pathname = normalizeDocsUrlPath(url.pathname);
41
247
  if (pathname === DEFAULT_DOCS_API_ROUTE && url.searchParams.get("agent")?.trim() === "spec") return true;
@@ -56,14 +262,10 @@ function resolveDocsSkillFormat(url) {
56
262
  function isDocsPublicGetRequest(entry, url, request, options = {}) {
57
263
  const pathname = normalizeDocsUrlPath(url.pathname);
58
264
  if (pathname === DEFAULT_DOCS_API_ROUTE || pathname === DEFAULT_MCP_ROUTE) return false;
59
- return isDocsAgentDiscoveryRequest(url) || isDocsSkillRequest(url) || resolveDocsLlmsTxtFormat(url) !== null || resolveDocsSitemapRequest(url, options.sitemap) !== null || resolveDocsMarkdownRequest(entry, url, request) !== null;
265
+ return isDocsAgentDiscoveryRequest(url) || isDocsSkillRequest(url) || resolveDocsLlmsTxtRequest(url, options.llms) !== null || resolveDocsSitemapRequest(url, options.sitemap) !== null || resolveDocsMarkdownRequest(entry, url, request) !== null;
60
266
  }
61
267
  function resolveDocsLlmsTxtFormat(url) {
62
- const pathname = normalizeDocsUrlPath(url.pathname);
63
- if (pathname === DEFAULT_LLMS_TXT_ROUTE || pathname === DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE) return "llms";
64
- if (pathname === DEFAULT_LLMS_FULL_TXT_ROUTE || pathname === DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE) return "llms-full";
65
- const format = url.searchParams.get("format");
66
- return pathname === DEFAULT_DOCS_API_ROUTE && (format === "llms" || format === "llms-full") ? format : null;
268
+ return resolveDocsLlmsTxtRequest(url)?.format ?? null;
67
269
  }
68
270
  function resolveDocsMarkdownRequest(entry, url, request) {
69
271
  const pathname = normalizeDocsUrlPath(url.pathname);
@@ -146,6 +348,7 @@ function renderDocsSkillDocument({ origin, entry = "docs", search, mcp, feedback
146
348
  const robotsEnabled = isRobotsDiscoveryEnabled(robots);
147
349
  const feedbackRoute = feedback?.route ?? DEFAULT_AGENT_FEEDBACK_ROUTE;
148
350
  const feedbackSchemaRoute = feedback?.schemaRoute ?? `${feedbackRoute}/schema`;
351
+ const llmsSections = resolveDocsLlmsTxtSections(llms);
149
352
  const description = truncateSkillDescription(`Use ${siteTitle} through markdown routes, llms.txt, robots.txt, agent discovery, search, and MCP when available.`);
150
353
  const markdownAcceptHeader = markdown?.acceptHeader === false ? null : "text/markdown";
151
354
  const markdownSignatureAgentHeader = markdown?.signatureAgentHeader === false ? null : DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER;
@@ -164,7 +367,10 @@ function renderDocsSkillDocument({ origin, entry = "docs", search, mcp, feedback
164
367
  if (markdownAcceptHeader) lines.push(`- You can also request ${markdownAcceptHeader} from normal page URLs.`);
165
368
  if (markdownSignatureAgentHeader) lines.push(`- Requests with ${markdownSignatureAgentHeader} on normal page URLs receive markdown automatically.`);
166
369
  if (searchEnabled) lines.push(`- Search with ${DEFAULT_DOCS_API_ROUTE}?query={query} when you do not know the page.`);
167
- if (llmsEnabled) lines.push(`- Use ${DEFAULT_LLMS_TXT_ROUTE} for a compact docs index.`, `- Use ${DEFAULT_LLMS_FULL_TXT_ROUTE} for full markdown context.`);
370
+ if (llmsEnabled) {
371
+ lines.push(`- Use ${DEFAULT_LLMS_TXT_ROUTE} for a compact docs index.`, `- Use ${DEFAULT_LLMS_FULL_TXT_ROUTE} for full markdown context.`);
372
+ for (const section of llmsSections) lines.push(`- Use ${section.route} for the ${section.title} llms.txt section.`);
373
+ }
168
374
  if (sitemapConfig.enabled) {
169
375
  if (sitemapConfig.xml.enabled) lines.push(`- Use ${sitemapConfig.xml.route} to check canonical page freshness.`);
170
376
  if (sitemapConfig.markdown.enabled) lines.push(`- Use ${sitemapConfig.markdown.route} for a semantic docs map.`);
@@ -174,7 +380,13 @@ function renderDocsSkillDocument({ origin, entry = "docs", search, mcp, feedback
174
380
  if (feedbackEnabled) lines.push(`- Read ${feedbackSchemaRoute} before posting agent feedback to ${feedbackRoute}.`);
175
381
  lines.push("", "## Routes", `- Skill document: ${DEFAULT_SKILL_MD_ROUTE}`, `- Skill well-known alias: ${DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE}`, `- Skill API format: ${DEFAULT_DOCS_API_ROUTE}?format=skill`, `- Agent discovery: ${DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE}`, `- Agent discovery fallback: ${DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE}`, `- Markdown root: /${normalizedEntry}.md`, `- Markdown pages: /${normalizedEntry}/{slug}.md`);
176
382
  if (robotsEnabled) lines.push(`- Robots policy: ${DEFAULT_AGENT_DISCOVERY_ROBOTS_TXT_ROUTE}`);
177
- if (llmsEnabled) lines.push(`- llms.txt: ${DEFAULT_LLMS_TXT_ROUTE}`, `- llms-full.txt: ${DEFAULT_LLMS_FULL_TXT_ROUTE}`, `- llms well-known aliases: ${DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE}, ${DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE}`);
383
+ if (llmsEnabled) {
384
+ lines.push(`- llms.txt: ${DEFAULT_LLMS_TXT_ROUTE}`, `- llms-full.txt: ${DEFAULT_LLMS_FULL_TXT_ROUTE}`, `- llms well-known aliases: ${DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE}, ${DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE}`);
385
+ for (const section of llmsSections) {
386
+ lines.push(`- ${section.title} llms.txt: ${section.route}`);
387
+ lines.push(`- ${section.title} llms-full.txt: ${section.fullRoute}`);
388
+ }
389
+ }
178
390
  if (sitemapConfig.enabled) {
179
391
  if (sitemapConfig.xml.enabled) lines.push(`- Sitemap XML: ${sitemapConfig.xml.route}`);
180
392
  if (sitemapConfig.markdown.enabled) lines.push(`- Sitemap Markdown: ${sitemapConfig.markdown.route}`, `- Sitemap well-known alias: ${sitemapConfig.markdown.wellKnownRoute}`);
@@ -237,6 +449,7 @@ function buildDocsAgentDiscoverySpec({ origin, entry = "docs", i18n = null, sear
237
449
  const feedbackRoute = feedback?.route ?? DEFAULT_AGENT_FEEDBACK_ROUTE;
238
450
  const feedbackSchemaRoute = feedback?.schemaRoute ?? `${feedbackRoute}/schema`;
239
451
  const llmsEnabled = llms?.enabled ?? true;
452
+ const llmsSections = resolveDocsLlmsTxtSections(llms);
240
453
  const sitemapConfig = resolveDocsSitemapConfig(sitemap, { baseUrl: llms?.baseUrl });
241
454
  const robotsEnabled = isRobotsDiscoveryEnabled(robots);
242
455
  return {
@@ -301,7 +514,14 @@ function buildDocsAgentDiscoverySpec({ origin, entry = "docs", i18n = null, sear
301
514
  publicTxt: DEFAULT_LLMS_TXT_ROUTE,
302
515
  publicFull: DEFAULT_LLMS_FULL_TXT_ROUTE,
303
516
  wellKnownTxt: DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE,
304
- wellKnownFull: DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE
517
+ wellKnownFull: DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE,
518
+ ...llmsSections.length > 0 ? { sections: llmsSections.map((section) => ({
519
+ title: section.title,
520
+ description: section.description,
521
+ match: section.match,
522
+ txt: section.route,
523
+ full: section.fullRoute
524
+ })) } : {}
305
525
  },
306
526
  sitemap: {
307
527
  enabled: sitemapConfig.enabled,
@@ -595,4 +815,4 @@ function analyzeDocsRobotsTxt(content, options = {}) {
595
815
  }
596
816
 
597
817
  //#endregion
598
- export { isDocsAgentDiscoveryRequest as A, resolveDocsLlmsTxtFormat as B, DEFAULT_SKILL_MD_ROUTE as C, findDocsMarkdownPage as D, buildDocsAgentDiscoverySpec as E, normalizeDocsUrlPath as F, resolveDocsSkillFormat as H, renderDocsMarkdownDocument as I, renderDocsMarkdownNotFound as L, isDocsPublicGetRequest as M, isDocsSkillRequest as N, getDocsMarkdownVaryHeader as O, normalizeDocsPathSegment as P, renderDocsSkillDocument as R, DEFAULT_MCP_WELL_KNOWN_ROUTE as S, DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER as T, toDocsMarkdownUrl as U, resolveDocsMarkdownRequest as V, DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE as _, analyzeDocsRobotsTxt as a, DEFAULT_MCP_PUBLIC_ROUTE as b, renderDocsRobotsTxt as c, DEFAULT_AGENT_FEEDBACK_ROUTE as d, DEFAULT_AGENT_SPEC_ROUTE as f, DEFAULT_LLMS_FULL_TXT_ROUTE as g, DEFAULT_DOCS_API_ROUTE as h, DOCS_ROBOTS_GENERATED_BLOCK_START as i, isDocsMcpRequest as j, hasDocsMarkdownSignatureAgent as k, resolveDocsRobotsConfig as l, DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE as m, DEFAULT_ROBOTS_TXT_ROUTE as n, getDocsRobotsAllowRoutes as o, DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE as p, DOCS_ROBOTS_GENERATED_BLOCK_END as r, renderDocsRobotsGeneratedBlock as s, DEFAULT_DOCS_AI_ROBOTS_USER_AGENTS as t, upsertDocsRobotsGeneratedBlock as u, DEFAULT_LLMS_TXT_ROUTE as v, DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE as w, DEFAULT_MCP_ROUTE as x, DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE as y, resolveDocsAgentMdxContent as z };
818
+ export { getDocsMarkdownVaryHeader as A, renderDocsMarkdownDocument as B, DEFAULT_MCP_WELL_KNOWN_ROUTE as C, buildDocsAgentDiscoverySpec as D, DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER as E, isDocsSkillRequest as F, resolveDocsLlmsTxtRequest as G, renderDocsSkillDocument as H, matchesDocsLlmsTxtSection as I, resolveDocsSkillFormat as J, resolveDocsLlmsTxtSections as K, normalizeDocsPathSegment as L, isDocsAgentDiscoveryRequest as M, isDocsMcpRequest as N, findDocsMarkdownPage as O, isDocsPublicGetRequest as P, normalizeDocsUrlPath as R, DEFAULT_MCP_ROUTE as S, DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE as T, resolveDocsAgentMdxContent as U, renderDocsMarkdownNotFound as V, resolveDocsLlmsTxtFormat as W, toDocsMarkdownUrl as X, selectDocsLlmsTxtContent as Y, DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE as _, analyzeDocsRobotsTxt as a, DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE as b, renderDocsRobotsTxt as c, DEFAULT_AGENT_FEEDBACK_ROUTE as d, DEFAULT_AGENT_SPEC_ROUTE as f, DEFAULT_LLMS_FULL_TXT_ROUTE as g, DEFAULT_DOCS_API_ROUTE as h, DOCS_ROBOTS_GENERATED_BLOCK_START as i, hasDocsMarkdownSignatureAgent as j, getDocsLlmsTxtMaxCharsIssue as k, resolveDocsRobotsConfig as l, DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE as m, DEFAULT_ROBOTS_TXT_ROUTE as n, getDocsRobotsAllowRoutes as o, DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE as p, resolveDocsMarkdownRequest as q, DOCS_ROBOTS_GENERATED_BLOCK_END as r, renderDocsRobotsGeneratedBlock as s, DEFAULT_DOCS_AI_ROBOTS_USER_AGENTS as t, upsertDocsRobotsGeneratedBlock as u, DEFAULT_LLMS_TXT_MAX_CHARS as v, DEFAULT_SKILL_MD_ROUTE as w, DEFAULT_MCP_PUBLIC_ROUTE as x, DEFAULT_LLMS_TXT_ROUTE as y, renderDocsLlmsTxt as z };
@@ -2,7 +2,7 @@ import { n as buildDocsSearchDocuments, r as createAlgoliaSearchAdapter, s as cr
2
2
  import "./sitemap-server-DwEPfk13.mjs";
3
3
  import { createFilesystemDocsMcpSource } from "./mcp.mjs";
4
4
  import "./server.mjs";
5
- import { a as loadProjectEnv, d as readTopLevelStringProperty, f as resolveDocsConfigPath, p as resolveDocsContentDir } from "./config-BR6CcCfr.mjs";
5
+ import { a as loadProjectEnv, d as readTopLevelStringProperty, f as resolveDocsConfigPath, p as resolveDocsContentDir } from "./config-UI31_wlO.mjs";
6
6
  import { readFileSync } from "node:fs";
7
7
  import pc from "picocolors";
8
8
 
@@ -1,4 +1,4 @@
1
- import { At as TypesenseDocsSearchConfig, B as DocsObservabilityEventInput, J as DocsSearchConfig, K as DocsSearchAdapterFactory, Q as DocsSearchResult, R as DocsObservabilityConfig, W as DocsSearchAdapter, Y as DocsSearchDocument, _ as DocsAnalyticsConfig, bt as ResolvedDocsRelatedLink, ct as McpDocsSearchConfig, d as CustomDocsSearchConfig, et as DocsSearchSourcePage, k as DocsAskAIMcpConfig, m as DocsAgentTraceEventInput, q as DocsSearchChunkingConfig, r as AlgoliaDocsSearchConfig, tt as DocsSitemapConfig, v as DocsAnalyticsEvent, y as DocsAnalyticsEventInput, z as DocsObservabilityEvent } from "./types-BFITL514.mjs";
1
+ import { B as DocsObservabilityEventInput, Ct as ResolvedDocsRelatedLink, J as DocsSearchConfig, K as DocsSearchAdapterFactory, Nt as TypesenseDocsSearchConfig, Q as DocsSearchResult, R as DocsObservabilityConfig, W as DocsSearchAdapter, Y as DocsSearchDocument, _ as DocsAnalyticsConfig, d as CustomDocsSearchConfig, dt as McpDocsSearchConfig, et as DocsSearchSourcePage, k as DocsAskAIMcpConfig, m as DocsAgentTraceEventInput, q as DocsSearchChunkingConfig, r as AlgoliaDocsSearchConfig, tt as DocsSitemapConfig, v as DocsAnalyticsEvent, y as DocsAnalyticsEventInput, z as DocsObservabilityEvent } from "./types-DHSYXDUB.mjs";
2
2
 
3
3
  //#region src/cloud-analytics.d.ts
4
4
  interface DocsCloudAnalyticsOptions {
package/dist/server.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { A as DocsConfig, B as DocsObservabilityEventInput, D as DocsAskAIFeedbackMessage, E as DocsAskAIFeedbackData, G as DocsSearchAdapterContext, J as DocsSearchConfig, K as DocsSearchAdapterFactory, O as DocsAskAIFeedbackValue, Q as DocsSearchResult, R as DocsObservabilityConfig, T as DocsAskAIFeedbackConfig, W as DocsSearchAdapter, Y as DocsSearchDocument, Z as DocsSearchQuery, _ as DocsAnalyticsConfig, a as ApiReferenceRenderer, ct as McpDocsSearchConfig, dt as OpenDocsProvider, et as DocsSearchSourcePage, g as DocsAgentTraceStatus, h as DocsAgentTraceEventType, k as DocsAskAIMcpConfig, m as DocsAgentTraceEventInput, tt as DocsSitemapConfig, v as DocsAnalyticsEvent, y as DocsAnalyticsEventInput, z as DocsObservabilityEvent } from "./types-BFITL514.mjs";
2
- import { A as toDocsSitemapMarkdownUrl, B as resolveDocsAnalyticsConfig, C as createDocsSitemapResponse, D as resolveDocsSitemapConfig, E as renderDocsSitemapXml, F as createDocsAgentTraceContext, H as DocsCloudAnalyticsOptions, I as createDocsAgentTraceId, L as emitDocsAgentTraceEvent, M as DocsAgentTraceContext, N as ResolvedDocsAnalyticsConfig, O as resolveDocsSitemapPageLastmod, P as ResolvedDocsObservabilityConfig, R as emitDocsAnalyticsEvent, S as buildDocsSitemapManifest, T as renderDocsSitemapMarkdown, U as createDocsCloudAnalytics, V as resolveDocsObservabilityConfig, _ as DocsSitemapFormat, a as createMcpSearchAdapter, b as DocsSitemapPageInput, c as formatDocsAskAIPackageHints, d as resolveAskAISearchRequestConfig, f as resolveSearchRequestConfig, g as DEFAULT_SITEMAP_XML_ROUTE, h as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, i as createCustomSearchAdapter, j as DOCS_AGENT_TRACE_EVENT_TYPES, k as resolveDocsSitemapRequest, l as inferDocsAskAIPackageHints, m as DEFAULT_SITEMAP_MD_ROUTE, n as buildDocsSearchDocuments, o as createSimpleSearchAdapter, p as DEFAULT_SITEMAP_MANIFEST_PATH, r as createAlgoliaSearchAdapter, s as createTypesenseSearchAdapter, t as buildDocsAskAIContext, u as performDocsSearch, v as DocsSitemapManifest, w as readDocsSitemapManifestFromContentMap, x as DocsSitemapResolvedConfig, y as DocsSitemapManifestPage, z as emitDocsObservabilityEvent } from "./search-KKfRRUDR.mjs";
1
+ import { A as DocsConfig, B as DocsObservabilityEventInput, D as DocsAskAIFeedbackMessage, E as DocsAskAIFeedbackData, G as DocsSearchAdapterContext, J as DocsSearchConfig, K as DocsSearchAdapterFactory, O as DocsAskAIFeedbackValue, Q as DocsSearchResult, R as DocsObservabilityConfig, T as DocsAskAIFeedbackConfig, W as DocsSearchAdapter, Y as DocsSearchDocument, Z as DocsSearchQuery, _ as DocsAnalyticsConfig, a as ApiReferenceRenderer, dt as McpDocsSearchConfig, et as DocsSearchSourcePage, g as DocsAgentTraceStatus, h as DocsAgentTraceEventType, k as DocsAskAIMcpConfig, m as DocsAgentTraceEventInput, mt as OpenDocsProvider, tt as DocsSitemapConfig, v as DocsAnalyticsEvent, y as DocsAnalyticsEventInput, z as DocsObservabilityEvent } from "./types-DHSYXDUB.mjs";
2
+ import { A as toDocsSitemapMarkdownUrl, B as resolveDocsAnalyticsConfig, C as createDocsSitemapResponse, D as resolveDocsSitemapConfig, E as renderDocsSitemapXml, F as createDocsAgentTraceContext, H as DocsCloudAnalyticsOptions, I as createDocsAgentTraceId, L as emitDocsAgentTraceEvent, M as DocsAgentTraceContext, N as ResolvedDocsAnalyticsConfig, O as resolveDocsSitemapPageLastmod, P as ResolvedDocsObservabilityConfig, R as emitDocsAnalyticsEvent, S as buildDocsSitemapManifest, T as renderDocsSitemapMarkdown, U as createDocsCloudAnalytics, V as resolveDocsObservabilityConfig, _ as DocsSitemapFormat, a as createMcpSearchAdapter, b as DocsSitemapPageInput, c as formatDocsAskAIPackageHints, d as resolveAskAISearchRequestConfig, f as resolveSearchRequestConfig, g as DEFAULT_SITEMAP_XML_ROUTE, h as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, i as createCustomSearchAdapter, j as DOCS_AGENT_TRACE_EVENT_TYPES, k as resolveDocsSitemapRequest, l as inferDocsAskAIPackageHints, m as DEFAULT_SITEMAP_MD_ROUTE, n as buildDocsSearchDocuments, o as createSimpleSearchAdapter, p as DEFAULT_SITEMAP_MANIFEST_PATH, r as createAlgoliaSearchAdapter, s as createTypesenseSearchAdapter, t as buildDocsAskAIContext, u as performDocsSearch, v as DocsSitemapManifest, w as readDocsSitemapManifestFromContentMap, x as DocsSitemapResolvedConfig, y as DocsSitemapManifestPage, z as emitDocsObservabilityEvent } from "./search-DuOq8JqA.mjs";
3
3
  import { DocsMcpHttpHandlers, DocsMcpNavigationNode, DocsMcpNavigationTree, DocsMcpPage, DocsMcpResolvedConfig, DocsMcpSource, createDocsMcpHttpHandler, createDocsMcpServer, createFilesystemDocsMcpSource, normalizeDocsMcpRoute, resolveDocsMcpConfig, runDocsMcpStdio } from "./mcp.mjs";
4
4
 
5
5
  //#region src/api-reference.d.ts
@@ -3,7 +3,7 @@ import { a as buildDocsSitemapManifest, c as renderDocsSitemapMarkdown, l as ren
3
3
  import "./sitemap-server-DwEPfk13.mjs";
4
4
  import { createFilesystemDocsMcpSource } from "./mcp.mjs";
5
5
  import "./server.mjs";
6
- import { c as readNavTitle, d as readTopLevelStringProperty, f as resolveDocsConfigPath, i as loadDocsConfigModule, o as readBooleanProperty, p as resolveDocsContentDir, t as extractNestedObjectLiteral, u as readStringProperty } from "./config-BR6CcCfr.mjs";
6
+ import { c as readNavTitle, d as readTopLevelStringProperty, f as resolveDocsConfigPath, i as loadDocsConfigModule, o as readBooleanProperty, p as resolveDocsContentDir, t as extractNestedObjectLiteral, u as readStringProperty } from "./config-UI31_wlO.mjs";
7
7
  import { t as detectFramework } from "./utils-AmYxHDoz.mjs";
8
8
  import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from "node:fs";
9
9
  import path from "node:path";
@@ -851,7 +851,7 @@ export const Route = createFileRoute("${entryUrl}/$")({
851
851
  handlers: {
852
852
  GET: async ({ request }) => {
853
853
  const url = new URL(request.url);
854
- if (isDocsPublicGetRequest(${JSON.stringify(opts.entry)}, url, request, { sitemap: docsConfig.sitemap })) {
854
+ if (isDocsPublicGetRequest(${JSON.stringify(opts.entry)}, url, request, { sitemap: docsConfig.sitemap, llms: docsConfig.llmsTxt })) {
855
855
  return docsServer.GET({ request });
856
856
  }
857
857
  return undefined;
@@ -930,7 +930,7 @@ async function handlePublicDocsRequest(request: Request) {
930
930
  });
931
931
  }
932
932
 
933
- if ((method === "GET" || method === "HEAD") && isDocsPublicGetRequest(docsEntry, url, request, { sitemap: docsConfig.sitemap })) {
933
+ if ((method === "GET" || method === "HEAD") && isDocsPublicGetRequest(docsEntry, url, request, { sitemap: docsConfig.sitemap, llms: docsConfig.llmsTxt })) {
934
934
  return docsServer.GET({ request });
935
935
  }
936
936
 
@@ -1349,7 +1349,7 @@ export const handle: Handle = async ({ event, resolve }) => {
1349
1349
  });
1350
1350
  }
1351
1351
 
1352
- if ((method === "GET" || method === "HEAD") && isDocsPublicGetRequest(docsEntry, event.url, event.request, { sitemap: config.sitemap })) {
1352
+ if ((method === "GET" || method === "HEAD") && isDocsPublicGetRequest(docsEntry, event.url, event.request, { sitemap: config.sitemap, llms: config.llmsTxt })) {
1353
1353
  return GET({ url: event.url, request: event.request });
1354
1354
  }
1355
1355
 
@@ -1397,7 +1397,7 @@ const docsPublicHandle: Handle = async ({ event, resolve }) => {
1397
1397
  });
1398
1398
  }
1399
1399
 
1400
- if ((method === "GET" || method === "HEAD") && isDocsPublicGetRequest(docsEntry, event.url, event.request, { sitemap: config.sitemap })) {
1400
+ if ((method === "GET" || method === "HEAD") && isDocsPublicGetRequest(docsEntry, event.url, event.request, { sitemap: config.sitemap, llms: config.llmsTxt })) {
1401
1401
  return docsGET({ url: event.url, request: event.request });
1402
1402
  }
1403
1403
 
@@ -1813,7 +1813,7 @@ export const onRequest: MiddlewareHandler = async (context, next) => {
1813
1813
  });
1814
1814
  }
1815
1815
 
1816
- if ((method === "GET" || method === "HEAD") && isDocsPublicGetRequest(docsEntry, context.url, context.request, { sitemap: config.sitemap })) {
1816
+ if ((method === "GET" || method === "HEAD") && isDocsPublicGetRequest(docsEntry, context.url, context.request, { sitemap: config.sitemap, llms: config.llmsTxt })) {
1817
1817
  return GET({ request: context.request });
1818
1818
  }
1819
1819
 
@@ -1861,7 +1861,7 @@ const docsPublicMiddleware: MiddlewareHandler = async (context, next) => {
1861
1861
  });
1862
1862
  }
1863
1863
 
1864
- if ((method === "GET" || method === "HEAD") && isDocsPublicGetRequest(docsEntry, context.url, context.request, { sitemap: config.sitemap })) {
1864
+ if ((method === "GET" || method === "HEAD") && isDocsPublicGetRequest(docsEntry, context.url, context.request, { sitemap: config.sitemap, llms: config.llmsTxt })) {
1865
1865
  return docsGET({ request: context.request });
1866
1866
  }
1867
1867
 
@@ -757,6 +757,61 @@ interface LlmsTxtConfig {
757
757
  * Site description shown below the title.
758
758
  */
759
759
  siteDescription?: string;
760
+ /**
761
+ * Character budget for generated compact `llms.txt` files.
762
+ *
763
+ * `mode: "warn"` logs a warning when the generated content is over budget.
764
+ * `mode: "error"` returns an error response for that generated file.
765
+ * `mode: "off"` disables the budget check.
766
+ *
767
+ * @default { mode: "warn", chars: 50000 }
768
+ */
769
+ maxChars?: LlmsTxtMaxCharsConfig;
770
+ /**
771
+ * Optional section-level llms.txt files for progressive disclosure.
772
+ *
773
+ * Each section is matched against public docs URLs, for example
774
+ * `/docs/api/**` derives `/docs/api/llms.txt` and
775
+ * `/docs/api/llms-full.txt`.
776
+ */
777
+ sections?: LlmsTxtSectionConfig[];
778
+ }
779
+ type LlmsTxtMaxCharsMode = "warn" | "error" | "off";
780
+ interface LlmsTxtMaxCharsConfig {
781
+ /**
782
+ * How to handle generated llms.txt content that exceeds `chars`.
783
+ *
784
+ * @default "warn"
785
+ */
786
+ mode?: LlmsTxtMaxCharsMode;
787
+ /**
788
+ * Maximum recommended character count.
789
+ *
790
+ * @default 50000
791
+ */
792
+ chars?: number;
793
+ }
794
+ interface LlmsTxtSectionConfig {
795
+ /**
796
+ * Human-readable section title shown in the root and section files.
797
+ */
798
+ title: string;
799
+ /**
800
+ * Optional description shown next to the section link in root llms.txt.
801
+ */
802
+ description?: string;
803
+ /**
804
+ * Public URL matcher for pages included in this section.
805
+ *
806
+ * Supported forms include exact paths such as `/docs/reference` and
807
+ * prefix globs such as `/docs/api/**`.
808
+ */
809
+ match: string | string[];
810
+ /**
811
+ * Optional section-specific character budget. Inherits `llmsTxt.maxChars`
812
+ * when omitted.
813
+ */
814
+ maxChars?: LlmsTxtMaxCharsConfig;
760
815
  }
761
816
  interface SitemapXmlConfig {
762
817
  /**
@@ -2353,4 +2408,4 @@ interface DocsConfig {
2353
2408
  og?: OGConfig;
2354
2409
  }
2355
2410
  //#endregion
2356
- export { DocsSearchResultType as $, DocsConfig as A, TypesenseDocsSearchConfig as At, DocsObservabilityEventInput as B, DocsAskAIActionData as C, SidebarFolderIndexBehavior as Ct, DocsAskAIFeedbackMessage as D, SidebarTree as Dt, DocsAskAIFeedbackData as E, SidebarPageNode as Et, DocsMcpToolsConfig as F, DocsSearchAdapterContext as G, DocsRobotsConfig as H, DocsMetadata as I, DocsSearchConfig as J, DocsSearchAdapterFactory as K, DocsNav as L, DocsFeedbackValue as M, UIConfig as Mt, DocsI18nConfig as N, DocsAskAIFeedbackValue as O, SimpleDocsSearchConfig as Ot, DocsMcpConfig as P, DocsSearchResult as Q, DocsObservabilityConfig as R, DocsAnalyticsSource as S, SidebarConfig as St, DocsAskAIFeedbackConfig as T, SidebarNode as Tt, DocsRobotsRule as U, DocsRelatedItem as V, DocsSearchAdapter as W, DocsSearchEmbeddingsConfig as X, DocsSearchDocument as Y, DocsSearchQuery as Z, DocsAnalyticsConfig as _, PageSidebarFrontmatter as _t, ApiReferenceRenderer as a, GithubConfig as at, DocsAnalyticsEventType as b, ResolvedDocsRelatedLink as bt, ChangelogFrontmatter as c, McpDocsSearchConfig as ct, CustomDocsSearchConfig as d, OpenDocsProvider as dt, DocsSearchSourcePage as et, DocsAgentFeedbackContext as f, OpenGraphImage as ft, DocsAgentTraceStatus as g, PageOpenGraph as gt, DocsAgentTraceEventType as h, PageFrontmatter as ht, ApiReferenceConfig as i, FontStyle as it, DocsFeedbackData as j, TypographyConfig as jt, DocsAskAIMcpConfig as k, ThemeToggleConfig as kt, CodeBlockCopyData as l, OGConfig as lt, DocsAgentTraceEventInput as m, PageActionsConfig as mt, AgentFeedbackConfig as n, DocsTheme as nt, BreadcrumbConfig as o, LastUpdatedConfig as ot, DocsAgentFeedbackData as p, OrderingItem as pt, DocsSearchChunkingConfig as q, AlgoliaDocsSearchConfig as r, FeedbackConfig as rt, ChangelogConfig as s, LlmsTxtConfig as st, AIConfig as t, DocsSitemapConfig as tt, CopyMarkdownConfig as u, OpenDocsConfig as ut, DocsAnalyticsEvent as v, PageTwitter as vt, DocsAskAIActionType as w, SidebarFolderNode as wt, DocsAnalyticsInput as x, SidebarComponentProps as xt, DocsAnalyticsEventInput as y, ReadingTimeConfig as yt, DocsObservabilityEvent as z };
2411
+ export { DocsSearchResultType as $, DocsConfig as A, SidebarTree as At, DocsObservabilityEventInput as B, DocsAskAIActionData as C, ResolvedDocsRelatedLink as Ct, DocsAskAIFeedbackMessage as D, SidebarFolderNode as Dt, DocsAskAIFeedbackData as E, SidebarFolderIndexBehavior as Et, DocsMcpToolsConfig as F, UIConfig as Ft, DocsSearchAdapterContext as G, DocsRobotsConfig as H, DocsMetadata as I, DocsSearchConfig as J, DocsSearchAdapterFactory as K, DocsNav as L, DocsFeedbackValue as M, ThemeToggleConfig as Mt, DocsI18nConfig as N, TypesenseDocsSearchConfig as Nt, DocsAskAIFeedbackValue as O, SidebarNode as Ot, DocsMcpConfig as P, TypographyConfig as Pt, DocsSearchResult as Q, DocsObservabilityConfig as R, DocsAnalyticsSource as S, ReadingTimeConfig as St, DocsAskAIFeedbackConfig as T, SidebarConfig as Tt, DocsRobotsRule as U, DocsRelatedItem as V, DocsSearchAdapter as W, DocsSearchEmbeddingsConfig as X, DocsSearchDocument as Y, DocsSearchQuery as Z, DocsAnalyticsConfig as _, PageActionsConfig as _t, ApiReferenceRenderer as a, GithubConfig as at, DocsAnalyticsEventType as b, PageSidebarFrontmatter as bt, ChangelogFrontmatter as c, LlmsTxtMaxCharsConfig as ct, CustomDocsSearchConfig as d, McpDocsSearchConfig as dt, DocsSearchSourcePage as et, DocsAgentFeedbackContext as f, OGConfig as ft, DocsAgentTraceStatus as g, OrderingItem as gt, DocsAgentTraceEventType as h, OpenGraphImage as ht, ApiReferenceConfig as i, FontStyle as it, DocsFeedbackData as j, SimpleDocsSearchConfig as jt, DocsAskAIMcpConfig as k, SidebarPageNode as kt, CodeBlockCopyData as l, LlmsTxtMaxCharsMode as lt, DocsAgentTraceEventInput as m, OpenDocsProvider as mt, AgentFeedbackConfig as n, DocsTheme as nt, BreadcrumbConfig as o, LastUpdatedConfig as ot, DocsAgentFeedbackData as p, OpenDocsConfig as pt, DocsSearchChunkingConfig as q, AlgoliaDocsSearchConfig as r, FeedbackConfig as rt, ChangelogConfig as s, LlmsTxtConfig as st, AIConfig as t, DocsSitemapConfig as tt, CopyMarkdownConfig as u, LlmsTxtSectionConfig as ut, DocsAnalyticsEvent as v, PageFrontmatter as vt, DocsAskAIActionType as w, SidebarComponentProps as wt, DocsAnalyticsInput as x, PageTwitter as xt, DocsAnalyticsEventInput as y, PageOpenGraph as yt, DocsObservabilityEvent as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farming-labs/docs",
3
- "version": "0.1.88",
3
+ "version": "0.1.90",
4
4
  "description": "Modern, flexible MDX-based docs framework — core types, config, and CLI",
5
5
  "keywords": [
6
6
  "docs",