@farming-labs/docs 0.1.100 → 0.1.102

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,6 +1,6 @@
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-BL7o2rXk.mjs";
3
- import { J as renderDocsMarkdownDocument, N as findDocsMarkdownPage } from "./robots-C3KeCl0S.mjs";
3
+ import { P as findDocsMarkdownPage, Y as renderDocsMarkdownDocument } from "./robots-D8IQoKv1.mjs";
4
4
  import "./index.mjs";
5
5
  import "./sitemap-server-C4TbbCmY.mjs";
6
6
  import { createFilesystemDocsMcpSource } from "./mcp.mjs";
@@ -86,7 +86,7 @@ async function main() {
86
86
  const { runMcp } = await import("../mcp-D0LCSSaq.mjs");
87
87
  await runMcp(mcpOptions);
88
88
  } else if (parsedCommand.command === "agent" && subcommand === "compact") {
89
- const { compactAgentDocs, parseAgentCompactArgs, printAgentCompactHelp } = await import("../agent-2qREGB9R.mjs");
89
+ const { compactAgentDocs, parseAgentCompactArgs, printAgentCompactHelp } = await import("../agent-BG9YfbHr.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-2qREGB9R.mjs");
99
+ const { printAgentCompactHelp } = await import("../agent-BG9YfbHr.mjs");
100
100
  printAgentCompactHelp();
101
101
  process.exit(1);
102
102
  } else if (parsedCommand.command === "doctor") {
103
- const { parseDoctorArgs, printDoctorHelp, runDoctor } = await import("../doctor-Dhs6DEbs.mjs");
103
+ const { parseDoctorArgs, printDoctorHelp, runDoctor } = await import("../doctor-C8NWuL1m.mjs");
104
104
  const doctorOptions = parseDoctorArgs(args.slice(1));
105
105
  if (doctorOptions.help) {
106
106
  printDoctorHelp();
@@ -130,7 +130,7 @@ async function main() {
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-b9bMJ-w5.mjs");
133
+ const { generateRobots, parseRobotsGenerateArgs, printRobotsGenerateHelp } = await import("../robots-B9RIhGtT.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-b9bMJ-w5.mjs");
143
+ const { printRobotsGenerateHelp } = await import("../robots-B9RIhGtT.mjs");
144
144
  printRobotsGenerateHelp();
145
145
  process.exit(1);
146
146
  } else if (parsedCommand.command === "upgrade") {
@@ -1,12 +1,12 @@
1
1
  import "./reading-time-CbbHNg9V.mjs";
2
2
  import "./search-BL7o2rXk.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-CnqcTdQg.mjs";
4
- import { E as DEFAULT_MCP_WELL_KNOWN_ROUTE, O as DEFAULT_SKILL_MD_ROUTE, S as DEFAULT_LLMS_TXT_ROUTE, _ as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, a as analyzeDocsRobotsTxt, g as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, k as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, m as DEFAULT_AGENT_FEEDBACK_ROUTE, n as DEFAULT_ROBOTS_TXT_ROUTE, u as resolveDocsRobotsConfig, w as DEFAULT_MCP_PUBLIC_ROUTE, y as DEFAULT_LLMS_FULL_TXT_ROUTE } from "./robots-C3KeCl0S.mjs";
4
+ import { E as DEFAULT_MCP_WELL_KNOWN_ROUTE, N as buildDocsMcpEndpointCandidates, O as DEFAULT_SKILL_MD_ROUTE, S as DEFAULT_LLMS_TXT_ROUTE, _ as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, a as analyzeDocsRobotsTxt, g as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, k as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, m as DEFAULT_AGENT_FEEDBACK_ROUTE, n as DEFAULT_ROBOTS_TXT_ROUTE, u as resolveDocsRobotsConfig, w as DEFAULT_MCP_PUBLIC_ROUTE, y as DEFAULT_LLMS_FULL_TXT_ROUTE } from "./robots-D8IQoKv1.mjs";
5
5
  import "./sitemap-server-C4TbbCmY.mjs";
6
6
  import { createFilesystemDocsMcpSource, resolveDocsMcpConfig } from "./mcp.mjs";
7
7
  import "./server.mjs";
8
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-2qREGB9R.mjs";
9
+ import { inspectAgentCompactionState, scanDocsPageTargets } from "./agent-BG9YfbHr.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";
@@ -971,6 +971,20 @@ async function probeMcpRoute(baseUrl, route) {
971
971
  };
972
972
  }
973
973
  }
974
+ async function probeMcpRouteCandidates(baseUrl, routes) {
975
+ const candidates = buildDocsMcpEndpointCandidates(baseUrl, routes);
976
+ const probes = await Promise.all(candidates.map(async (candidate) => {
977
+ const probe = await probeMcpRoute(candidate.baseUrl, candidate.route);
978
+ return {
979
+ ...probe,
980
+ detail: `${candidate.label}: ${probe.detail}`
981
+ };
982
+ }));
983
+ return {
984
+ labels: candidates.map((candidate) => candidate.label),
985
+ probes
986
+ };
987
+ }
974
988
  function asRecord(value) {
975
989
  return value && typeof value === "object" ? value : void 0;
976
990
  }
@@ -1002,6 +1016,13 @@ function hostedRobotsRoute(discoveryBody) {
1002
1016
  route: readDiscoveryRoute(robots?.route) ?? DEFAULT_ROBOTS_TXT_ROUTE
1003
1017
  };
1004
1018
  }
1019
+ function hostedMcpRoutes(discoveryBody) {
1020
+ const mcp = asRecord(asRecord(discoveryBody)?.mcp);
1021
+ const publicEndpoints = mcp?.publicEndpoints ?? mcp?.endpoints;
1022
+ const declaredRoutes = Array.isArray(publicEndpoints) ? publicEndpoints.filter((value) => typeof value === "string" && value.startsWith("/")) : [];
1023
+ if (declaredRoutes.length > 0) return Array.from(new Set(declaredRoutes));
1024
+ return Array.from(new Set([readDiscoveryRoute(mcp?.publicEndpoint) ?? DEFAULT_MCP_PUBLIC_ROUTE, readDiscoveryRoute(mcp?.wellKnownEndpoint) ?? DEFAULT_MCP_WELL_KNOWN_ROUTE]));
1025
+ }
1005
1026
  function hostedCapability(discoveryBody, key) {
1006
1027
  const root = asRecord(discoveryBody);
1007
1028
  const capability = asRecord(root?.capabilities)?.[key];
@@ -1140,9 +1161,10 @@ async function buildHostedAgentChecks(url, pages) {
1140
1161
  const markdownAlternateScore = hostedSurfaceScore(htmlPageProbes, (probe) => probe.hasMarkdownAlternate);
1141
1162
  const markdownRoutesEnabled = hostedCapability(discovery.body, "markdownRoutes");
1142
1163
  checks.push(makeCheck("hosted-markdown-alternate", "Hosted markdown alternate links", markdownRoutesEnabled === false ? "warn" : markdownAlternateScore.status, markdownRoutesEnabled === false ? 0 : markdownAlternateScore.score, 5, markdownRoutesEnabled === false ? "The hosted discovery spec reports markdown routes as disabled." : markdownAlternateScore.total > 0 ? `${markdownAlternateScore.passed}/${markdownAlternateScore.total} sampled hosted docs pages include <link rel="alternate" type="text/markdown"> pointing to .md routes.` : "No hosted docs pages were available to verify markdown alternate links.", markdownRoutesEnabled === false || markdownAlternateScore.status === "pass" ? void 0 : "Add a text/markdown alternate link in each docs page head, usually through `alternates.types['text/markdown']`, so agents can discover the page markdown URL from HTML."));
1143
- const mcp = await Promise.all([probeMcpRoute(baseUrl, DEFAULT_MCP_PUBLIC_ROUTE), probeMcpRoute(baseUrl, DEFAULT_MCP_WELL_KNOWN_ROUTE)]);
1144
- const mcpPassed = mcp.filter((result) => result.ok).length;
1145
- checks.push(makeCheck("hosted-mcp", "Hosted MCP handshake", mcpPassed === mcp.length ? "pass" : mcpPassed > 0 ? "warn" : "fail", mcpPassed === mcp.length ? 10 : mcpPassed > 0 ? 5 : 0, 10, mcp.map((result) => result.detail).join(" "), mcpPassed === mcp.length ? void 0 : `Verify deployed ${DEFAULT_MCP_PUBLIC_ROUTE} and ${DEFAULT_MCP_WELL_KNOWN_ROUTE} support Streamable HTTP initialize and tools/list.`));
1164
+ const mcp = await probeMcpRouteCandidates(baseUrl, hostedMcpRoutes(discovery.body));
1165
+ const mcpPassed = mcp.probes.filter((result) => result.ok).length;
1166
+ const mcpDetailProbes = mcpPassed > 0 ? mcp.probes.filter((result) => result.ok) : mcp.probes;
1167
+ checks.push(makeCheck("hosted-mcp", "Hosted MCP handshake", mcpPassed > 0 ? "pass" : "fail", mcpPassed > 0 ? 10 : 0, 10, mcpDetailProbes.map((result) => result.detail).join(" "), mcpPassed > 0 ? void 0 : `Verify one of ${mcp.labels.join(" or ")} supports Streamable HTTP initialize and tools/list.`));
1146
1168
  return {
1147
1169
  baseUrl,
1148
1170
  checks
package/dist/index.d.mts CHANGED
@@ -218,6 +218,17 @@ declare const DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE = "/.well-known/skill.md";
218
218
  declare const DEFAULT_AGENT_FEEDBACK_ROUTE = "/api/docs/agent/feedback";
219
219
  declare const DEFAULT_AGENT_FEEDBACK_PAYLOAD_SCHEMA: Record<string, unknown>;
220
220
  declare const DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER = "Signature-Agent";
221
+ interface DocsMcpEndpointCandidate {
222
+ baseUrl: string;
223
+ route: string;
224
+ url: string;
225
+ label: string;
226
+ }
227
+ interface DocsMcpEndpointCandidateOptions {
228
+ includeOriginFallback?: boolean;
229
+ includeRootDomainFallback?: boolean;
230
+ includeMcpSubdomainFallback?: boolean;
231
+ }
221
232
  interface DocsAgentFeedbackResolvedConfig {
222
233
  enabled: boolean;
223
234
  route: string;
@@ -390,6 +401,7 @@ declare function selectDocsLlmsTxtContent(content: DocsLlmsTxtGeneratedContent,
390
401
  declare function getDocsLlmsTxtMaxCharsIssue(label: string, content: string, maxChars: DocsLlmsTxtResolvedMaxChars): DocsLlmsTxtMaxCharsIssue | null;
391
402
  declare function isDocsAgentDiscoveryRequest(url: URL): boolean;
392
403
  declare function isDocsMcpRequest(url: URL): boolean;
404
+ declare function buildDocsMcpEndpointCandidates(baseUrl: string, routes?: readonly string[], options?: DocsMcpEndpointCandidateOptions): DocsMcpEndpointCandidate[];
393
405
  declare function isDocsSkillRequest(url: URL): boolean;
394
406
  declare function resolveDocsSkillFormat(url: URL): "skill" | null;
395
407
  declare function isDocsPublicGetRequest(entry: string, url: URL, request: Request, options?: {
@@ -643,4 +655,4 @@ declare function renderDocsRobotsGeneratedBlock(options?: DocsRobotsRenderOption
643
655
  declare function upsertDocsRobotsGeneratedBlock(existing: string, block: string): string;
644
656
  declare function analyzeDocsRobotsTxt(content: string, options?: DocsRobotsRenderOptions): DocsRobotsAnalysis;
645
657
  //#endregion
646
- 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_PAYLOAD_SCHEMA, 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_OPENAPI_SCHEMA_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 DocsAgentFeedbackRequest, type DocsAgentFeedbackResolvedConfig, 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 DocsOpenApiDiscoveryConfig, type DocsOpenApiResolvedDiscoveryConfig, 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, buildDocsAgentFeedbackSchema, buildDocsAskAIContext, buildDocsPageStructuredData, buildDocsSearchDocuments, buildDocsSitemapManifest, buildPageOpenGraph, buildPageTwitter, createAlgoliaSearchAdapter, createCustomSearchAdapter, createDocsAgentTraceContext, createDocsAgentTraceId, createDocsCloudAnalytics, createDocsRobotsResponse, createDocsSitemapResponse, createMcpSearchAdapter, createSimpleSearchAdapter, createTheme, createTypesenseSearchAdapter, deepMerge, defineDocs, emitDocsAgentTraceEvent, emitDocsAnalyticsEvent, emitDocsObservabilityEvent, estimateReadingTimeMinutes, extendTheme, findDocsMarkdownPage, formatDocsAskAIPackageHints, getDocsLlmsTxtMaxCharsIssue, getDocsMarkdownCanonicalLinkHeader, getDocsMarkdownVaryHeader, getDocsRobotsAllowRoutes, hasDocsMarkdownSignatureAgent, hashGeneratedAgentContent, inferDocsAskAIPackageHints, isDocsAgentDiscoveryRequest, isDocsLlmsTxtPublicRequest, isDocsMcpRequest, isDocsPublicGetRequest, isDocsSkillRequest, matchesDocsLlmsTxtSection, normalizeDocsPathSegment, normalizeDocsRelated, normalizeDocsUrlPath, normalizeGeneratedAgentContent, parseDocsAgentFeedbackData, parseGeneratedAgentDocument, performDocsSearch, readDocsSitemapManifestFromContentMap, renderDocsLlmsTxt, renderDocsMarkdownDocument, renderDocsMarkdownNotFound, renderDocsPageStructuredDataJson, renderDocsRelatedMarkdownLines, renderDocsRobotsGeneratedBlock, renderDocsRobotsTxt, renderDocsSitemapMarkdown, renderDocsSitemapXml, renderDocsSkillDocument, resolveAskAISearchRequestConfig, resolveChangelogConfig, resolveDocsAgentFeedbackConfig, resolveDocsAgentFeedbackRequest, resolveDocsAgentMdxContent, resolveDocsAnalyticsConfig, resolveDocsI18n, resolveDocsLlmsTxtFormat, resolveDocsLlmsTxtRequest, resolveDocsLlmsTxtSections, resolveDocsLocale, resolveDocsMarkdownCanonicalUrl, resolveDocsMarkdownRequest, resolveDocsMetadataBaseUrl, resolveDocsObservabilityConfig, resolveDocsOpenApiDiscoveryConfig, resolveDocsPath, resolveDocsRobotsConfig, resolveDocsRobotsRequest, resolveDocsSitemapConfig, resolveDocsSitemapPageLastmod, resolveDocsSitemapRequest, resolveDocsSkillFormat, resolveOGImage, resolvePageReadingTime, resolvePageSidebarFolderIndexBehavior, resolveReadingTimeFromContent, resolveReadingTimeFromSource, resolveReadingTimeOptions, resolveSearchRequestConfig, resolveSidebarFolderIndexBehavior, resolveSidebarFolderIndexBehaviorForPath, resolveTitle, selectDocsLlmsTxtContent, serializeGeneratedAgentDocument, stripGeneratedAgentProvenance, toDocsMarkdownUrl, toDocsSitemapMarkdownUrl, upsertDocsRobotsGeneratedBlock, validateDocsAgentFeedbackPayload };
658
+ 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_PAYLOAD_SCHEMA, 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_OPENAPI_SCHEMA_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 DocsAgentFeedbackRequest, type DocsAgentFeedbackResolvedConfig, 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 DocsMcpEndpointCandidate, type DocsMcpEndpointCandidateOptions, type DocsMcpToolsConfig, type DocsMetadata, type DocsNav, type DocsObservabilityConfig, type DocsObservabilityEvent, type DocsObservabilityEventInput, type DocsOpenApiDiscoveryConfig, type DocsOpenApiResolvedDiscoveryConfig, type DocsPageStructuredDataInput, type DocsPathMatch, type DocsRelatedItem, type 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, buildDocsAgentFeedbackSchema, buildDocsAskAIContext, buildDocsMcpEndpointCandidates, buildDocsPageStructuredData, buildDocsSearchDocuments, buildDocsSitemapManifest, buildPageOpenGraph, buildPageTwitter, createAlgoliaSearchAdapter, createCustomSearchAdapter, createDocsAgentTraceContext, createDocsAgentTraceId, createDocsCloudAnalytics, createDocsRobotsResponse, createDocsSitemapResponse, createMcpSearchAdapter, createSimpleSearchAdapter, createTheme, createTypesenseSearchAdapter, deepMerge, defineDocs, emitDocsAgentTraceEvent, emitDocsAnalyticsEvent, emitDocsObservabilityEvent, estimateReadingTimeMinutes, extendTheme, findDocsMarkdownPage, formatDocsAskAIPackageHints, getDocsLlmsTxtMaxCharsIssue, getDocsMarkdownCanonicalLinkHeader, getDocsMarkdownVaryHeader, getDocsRobotsAllowRoutes, hasDocsMarkdownSignatureAgent, hashGeneratedAgentContent, inferDocsAskAIPackageHints, isDocsAgentDiscoveryRequest, isDocsLlmsTxtPublicRequest, isDocsMcpRequest, isDocsPublicGetRequest, isDocsSkillRequest, matchesDocsLlmsTxtSection, normalizeDocsPathSegment, normalizeDocsRelated, normalizeDocsUrlPath, normalizeGeneratedAgentContent, parseDocsAgentFeedbackData, parseGeneratedAgentDocument, performDocsSearch, readDocsSitemapManifestFromContentMap, renderDocsLlmsTxt, renderDocsMarkdownDocument, renderDocsMarkdownNotFound, renderDocsPageStructuredDataJson, renderDocsRelatedMarkdownLines, renderDocsRobotsGeneratedBlock, renderDocsRobotsTxt, renderDocsSitemapMarkdown, renderDocsSitemapXml, renderDocsSkillDocument, resolveAskAISearchRequestConfig, resolveChangelogConfig, resolveDocsAgentFeedbackConfig, resolveDocsAgentFeedbackRequest, resolveDocsAgentMdxContent, resolveDocsAnalyticsConfig, resolveDocsI18n, resolveDocsLlmsTxtFormat, resolveDocsLlmsTxtRequest, resolveDocsLlmsTxtSections, resolveDocsLocale, resolveDocsMarkdownCanonicalUrl, resolveDocsMarkdownRequest, resolveDocsMetadataBaseUrl, resolveDocsObservabilityConfig, resolveDocsOpenApiDiscoveryConfig, resolveDocsPath, resolveDocsRobotsConfig, resolveDocsRobotsRequest, resolveDocsSitemapConfig, resolveDocsSitemapPageLastmod, resolveDocsSitemapRequest, resolveDocsSkillFormat, resolveOGImage, resolvePageReadingTime, resolvePageSidebarFolderIndexBehavior, resolveReadingTimeFromContent, resolveReadingTimeFromSource, resolveReadingTimeOptions, resolveSearchRequestConfig, resolveSidebarFolderIndexBehavior, resolveSidebarFolderIndexBehaviorForPath, resolveTitle, selectDocsLlmsTxtContent, serializeGeneratedAgentDocument, stripGeneratedAgentProvenance, toDocsMarkdownUrl, toDocsSitemapMarkdownUrl, upsertDocsRobotsGeneratedBlock, validateDocsAgentFeedbackPayload };
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-BL7o2rXk.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-CnqcTdQg.mjs";
5
- import { $ as resolveDocsAgentMdxContent, A as DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER, B as isDocsMcpRequest, C as DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE, D as DEFAULT_OPENAPI_SCHEMA_ROUTE, E as DEFAULT_MCP_WELL_KNOWN_ROUTE, F as getDocsMarkdownCanonicalLinkHeader, G as normalizeDocsUrlPath, H as isDocsSkillRequest, I as getDocsMarkdownVaryHeader, J as renderDocsMarkdownDocument, K as parseDocsAgentFeedbackData, L as hasDocsMarkdownSignatureAgent, M as buildDocsAgentFeedbackSchema, N as findDocsMarkdownPage, O as DEFAULT_SKILL_MD_ROUTE, P as getDocsLlmsTxtMaxCharsIssue, Q as resolveDocsAgentFeedbackRequest, R as isDocsAgentDiscoveryRequest, S as DEFAULT_LLMS_TXT_ROUTE, T as DEFAULT_MCP_ROUTE, U as matchesDocsLlmsTxtSection, V as isDocsPublicGetRequest, W as normalizeDocsPathSegment, X as renderDocsSkillDocument, Y as renderDocsMarkdownNotFound, Z as resolveDocsAgentFeedbackConfig, _ as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, a as analyzeDocsRobotsTxt, at as resolveDocsOpenApiDiscoveryConfig, b as DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, c as renderDocsRobotsGeneratedBlock, ct as toDocsMarkdownUrl, d as resolveDocsRobotsRequest, et as resolveDocsLlmsTxtFormat, f as upsertDocsRobotsGeneratedBlock, g as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, h as DEFAULT_AGENT_SPEC_ROUTE, i as DOCS_ROBOTS_GENERATED_BLOCK_START, it as resolveDocsMarkdownRequest, j as buildDocsAgentDiscoverySpec, k as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, l as renderDocsRobotsTxt, lt as validateDocsAgentFeedbackPayload, m as DEFAULT_AGENT_FEEDBACK_ROUTE, n as DEFAULT_ROBOTS_TXT_ROUTE, nt as resolveDocsLlmsTxtSections, o as createDocsRobotsResponse, ot as resolveDocsSkillFormat, p as DEFAULT_AGENT_FEEDBACK_PAYLOAD_SCHEMA, q as renderDocsLlmsTxt, r as DOCS_ROBOTS_GENERATED_BLOCK_END, rt as resolveDocsMarkdownCanonicalUrl, s as getDocsRobotsAllowRoutes, st as selectDocsLlmsTxtContent, t as DEFAULT_DOCS_AI_ROBOTS_USER_AGENTS, tt as resolveDocsLlmsTxtRequest, u as resolveDocsRobotsConfig, v as DEFAULT_DOCS_API_ROUTE, w as DEFAULT_MCP_PUBLIC_ROUTE, x as DEFAULT_LLMS_TXT_MAX_CHARS, y as DEFAULT_LLMS_FULL_TXT_ROUTE, z as isDocsLlmsTxtPublicRequest } from "./robots-C3KeCl0S.mjs";
5
+ import { $ as resolveDocsAgentFeedbackRequest, A as DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER, B as isDocsLlmsTxtPublicRequest, C as DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE, D as DEFAULT_OPENAPI_SCHEMA_ROUTE, E as DEFAULT_MCP_WELL_KNOWN_ROUTE, F as getDocsLlmsTxtMaxCharsIssue, G as normalizeDocsPathSegment, H as isDocsPublicGetRequest, I as getDocsMarkdownCanonicalLinkHeader, J as renderDocsLlmsTxt, K as normalizeDocsUrlPath, L as getDocsMarkdownVaryHeader, M as buildDocsAgentFeedbackSchema, N as buildDocsMcpEndpointCandidates, O as DEFAULT_SKILL_MD_ROUTE, P as findDocsMarkdownPage, Q as resolveDocsAgentFeedbackConfig, R as hasDocsMarkdownSignatureAgent, S as DEFAULT_LLMS_TXT_ROUTE, T as DEFAULT_MCP_ROUTE, U as isDocsSkillRequest, V as isDocsMcpRequest, W as matchesDocsLlmsTxtSection, X as renderDocsMarkdownNotFound, Y as renderDocsMarkdownDocument, Z as renderDocsSkillDocument, _ as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, a as analyzeDocsRobotsTxt, at as resolveDocsMarkdownRequest, b as DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, c as renderDocsRobotsGeneratedBlock, ct as selectDocsLlmsTxtContent, d as resolveDocsRobotsRequest, et as resolveDocsAgentMdxContent, f as upsertDocsRobotsGeneratedBlock, g as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, h as DEFAULT_AGENT_SPEC_ROUTE, i as DOCS_ROBOTS_GENERATED_BLOCK_START, it as resolveDocsMarkdownCanonicalUrl, j as buildDocsAgentDiscoverySpec, k as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, l as renderDocsRobotsTxt, lt as toDocsMarkdownUrl, m as DEFAULT_AGENT_FEEDBACK_ROUTE, n as DEFAULT_ROBOTS_TXT_ROUTE, nt as resolveDocsLlmsTxtRequest, o as createDocsRobotsResponse, ot as resolveDocsOpenApiDiscoveryConfig, p as DEFAULT_AGENT_FEEDBACK_PAYLOAD_SCHEMA, q as parseDocsAgentFeedbackData, r as DOCS_ROBOTS_GENERATED_BLOCK_END, rt as resolveDocsLlmsTxtSections, s as getDocsRobotsAllowRoutes, st as resolveDocsSkillFormat, t as DEFAULT_DOCS_AI_ROBOTS_USER_AGENTS, tt as resolveDocsLlmsTxtFormat, u as resolveDocsRobotsConfig, ut as validateDocsAgentFeedbackPayload, v as DEFAULT_DOCS_API_ROUTE, w as DEFAULT_MCP_PUBLIC_ROUTE, x as DEFAULT_LLMS_TXT_MAX_CHARS, y as DEFAULT_LLMS_FULL_TXT_ROUTE, z as isDocsAgentDiscoveryRequest } from "./robots-D8IQoKv1.mjs";
6
6
 
7
- export { DEFAULT_AGENT_FEEDBACK_PAYLOAD_SCHEMA, 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_OPENAPI_SCHEMA_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, buildDocsAgentFeedbackSchema, buildDocsAskAIContext, buildDocsPageStructuredData, buildDocsSearchDocuments, buildDocsSitemapManifest, buildPageOpenGraph, buildPageTwitter, createAlgoliaSearchAdapter, createCustomSearchAdapter, createDocsAgentTraceContext, createDocsAgentTraceId, createDocsCloudAnalytics, createDocsRobotsResponse, createDocsSitemapResponse, createMcpSearchAdapter, createSimpleSearchAdapter, createTheme, createTypesenseSearchAdapter, deepMerge, defineDocs, emitDocsAgentTraceEvent, emitDocsAnalyticsEvent, emitDocsObservabilityEvent, estimateReadingTimeMinutes, extendTheme, findDocsMarkdownPage, formatDocsAskAIPackageHints, getDocsLlmsTxtMaxCharsIssue, getDocsMarkdownCanonicalLinkHeader, getDocsMarkdownVaryHeader, getDocsRobotsAllowRoutes, hasDocsMarkdownSignatureAgent, hashGeneratedAgentContent, inferDocsAskAIPackageHints, isDocsAgentDiscoveryRequest, isDocsLlmsTxtPublicRequest, isDocsMcpRequest, isDocsPublicGetRequest, isDocsSkillRequest, matchesDocsLlmsTxtSection, normalizeDocsPathSegment, normalizeDocsRelated, normalizeDocsUrlPath, normalizeGeneratedAgentContent, parseDocsAgentFeedbackData, parseGeneratedAgentDocument, performDocsSearch, readDocsSitemapManifestFromContentMap, renderDocsLlmsTxt, renderDocsMarkdownDocument, renderDocsMarkdownNotFound, renderDocsPageStructuredDataJson, renderDocsRelatedMarkdownLines, renderDocsRobotsGeneratedBlock, renderDocsRobotsTxt, renderDocsSitemapMarkdown, renderDocsSitemapXml, renderDocsSkillDocument, resolveAskAISearchRequestConfig, resolveChangelogConfig, resolveDocsAgentFeedbackConfig, resolveDocsAgentFeedbackRequest, resolveDocsAgentMdxContent, resolveDocsAnalyticsConfig, resolveDocsI18n, resolveDocsLlmsTxtFormat, resolveDocsLlmsTxtRequest, resolveDocsLlmsTxtSections, resolveDocsLocale, resolveDocsMarkdownCanonicalUrl, resolveDocsMarkdownRequest, resolveDocsMetadataBaseUrl, resolveDocsObservabilityConfig, resolveDocsOpenApiDiscoveryConfig, resolveDocsPath, resolveDocsRobotsConfig, resolveDocsRobotsRequest, resolveDocsSitemapConfig, resolveDocsSitemapPageLastmod, resolveDocsSitemapRequest, resolveDocsSkillFormat, resolveOGImage, resolvePageReadingTime, resolvePageSidebarFolderIndexBehavior, resolveReadingTimeFromContent, resolveReadingTimeFromSource, resolveReadingTimeOptions, resolveSearchRequestConfig, resolveSidebarFolderIndexBehavior, resolveSidebarFolderIndexBehaviorForPath, resolveTitle, selectDocsLlmsTxtContent, serializeGeneratedAgentDocument, stripGeneratedAgentProvenance, toDocsMarkdownUrl, toDocsSitemapMarkdownUrl, upsertDocsRobotsGeneratedBlock, validateDocsAgentFeedbackPayload };
7
+ export { DEFAULT_AGENT_FEEDBACK_PAYLOAD_SCHEMA, 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_OPENAPI_SCHEMA_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, buildDocsAgentFeedbackSchema, buildDocsAskAIContext, buildDocsMcpEndpointCandidates, buildDocsPageStructuredData, buildDocsSearchDocuments, buildDocsSitemapManifest, buildPageOpenGraph, buildPageTwitter, createAlgoliaSearchAdapter, createCustomSearchAdapter, createDocsAgentTraceContext, createDocsAgentTraceId, createDocsCloudAnalytics, createDocsRobotsResponse, createDocsSitemapResponse, createMcpSearchAdapter, createSimpleSearchAdapter, createTheme, createTypesenseSearchAdapter, deepMerge, defineDocs, emitDocsAgentTraceEvent, emitDocsAnalyticsEvent, emitDocsObservabilityEvent, estimateReadingTimeMinutes, extendTheme, findDocsMarkdownPage, formatDocsAskAIPackageHints, getDocsLlmsTxtMaxCharsIssue, getDocsMarkdownCanonicalLinkHeader, getDocsMarkdownVaryHeader, getDocsRobotsAllowRoutes, hasDocsMarkdownSignatureAgent, hashGeneratedAgentContent, inferDocsAskAIPackageHints, isDocsAgentDiscoveryRequest, isDocsLlmsTxtPublicRequest, isDocsMcpRequest, isDocsPublicGetRequest, isDocsSkillRequest, matchesDocsLlmsTxtSection, normalizeDocsPathSegment, normalizeDocsRelated, normalizeDocsUrlPath, normalizeGeneratedAgentContent, parseDocsAgentFeedbackData, parseGeneratedAgentDocument, performDocsSearch, readDocsSitemapManifestFromContentMap, renderDocsLlmsTxt, renderDocsMarkdownDocument, renderDocsMarkdownNotFound, renderDocsPageStructuredDataJson, renderDocsRelatedMarkdownLines, renderDocsRobotsGeneratedBlock, renderDocsRobotsTxt, renderDocsSitemapMarkdown, renderDocsSitemapXml, renderDocsSkillDocument, resolveAskAISearchRequestConfig, resolveChangelogConfig, resolveDocsAgentFeedbackConfig, resolveDocsAgentFeedbackRequest, resolveDocsAgentMdxContent, resolveDocsAnalyticsConfig, resolveDocsI18n, resolveDocsLlmsTxtFormat, resolveDocsLlmsTxtRequest, resolveDocsLlmsTxtSections, resolveDocsLocale, resolveDocsMarkdownCanonicalUrl, resolveDocsMarkdownRequest, resolveDocsMetadataBaseUrl, resolveDocsObservabilityConfig, resolveDocsOpenApiDiscoveryConfig, resolveDocsPath, resolveDocsRobotsConfig, resolveDocsRobotsRequest, resolveDocsSitemapConfig, resolveDocsSitemapPageLastmod, resolveDocsSitemapRequest, resolveDocsSkillFormat, resolveOGImage, resolvePageReadingTime, resolvePageSidebarFolderIndexBehavior, resolveReadingTimeFromContent, resolveReadingTimeFromSource, resolveReadingTimeOptions, resolveSearchRequestConfig, resolveSidebarFolderIndexBehavior, resolveSidebarFolderIndexBehaviorForPath, resolveTitle, selectDocsLlmsTxtContent, serializeGeneratedAgentDocument, stripGeneratedAgentProvenance, toDocsMarkdownUrl, toDocsSitemapMarkdownUrl, upsertDocsRobotsGeneratedBlock, validateDocsAgentFeedbackPayload };
@@ -1,4 +1,4 @@
1
- import { c as renderDocsRobotsGeneratedBlock, f as upsertDocsRobotsGeneratedBlock, i as DOCS_ROBOTS_GENERATED_BLOCK_START, r as DOCS_ROBOTS_GENERATED_BLOCK_END, u as resolveDocsRobotsConfig } from "./robots-C3KeCl0S.mjs";
1
+ import { c as renderDocsRobotsGeneratedBlock, f as upsertDocsRobotsGeneratedBlock, i as DOCS_ROBOTS_GENERATED_BLOCK_START, r as DOCS_ROBOTS_GENERATED_BLOCK_END, u as resolveDocsRobotsConfig } from "./robots-D8IQoKv1.mjs";
2
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";
@@ -64,6 +64,29 @@ const DEFAULT_AGENT_FEEDBACK_PAYLOAD_SCHEMA = {
64
64
  };
65
65
  const DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER = "Signature-Agent";
66
66
  const DOCS_LLMS_TXT_DIRECTIVE_LINE = "LLM index: /llms.txt";
67
+ const DOCS_MCP_SERVICE_SUBDOMAIN_LABELS = new Set([
68
+ "api",
69
+ "developer",
70
+ "developers",
71
+ "dev",
72
+ "docs",
73
+ "help",
74
+ "mcp",
75
+ "reference"
76
+ ]);
77
+ const COMMON_SECOND_LEVEL_PUBLIC_SUFFIX_LABELS = new Set([
78
+ "ac",
79
+ "co",
80
+ "com",
81
+ "edu",
82
+ "go",
83
+ "gov",
84
+ "mil",
85
+ "ne",
86
+ "net",
87
+ "or",
88
+ "org"
89
+ ]);
67
90
  function normalizeDocsPathSegment(value) {
68
91
  return value.replace(/^\/+|\/+$/g, "");
69
92
  }
@@ -470,6 +493,85 @@ function isDocsMcpRequest(url) {
470
493
  const pathname = normalizeDocsUrlPath(url.pathname);
471
494
  return pathname === DEFAULT_MCP_ROUTE || pathname === DEFAULT_MCP_PUBLIC_ROUTE || pathname === DEFAULT_MCP_WELL_KNOWN_ROUTE;
472
495
  }
496
+ function buildDocsMcpEndpointCandidates(baseUrl, routes = [DEFAULT_MCP_PUBLIC_ROUTE, DEFAULT_MCP_WELL_KNOWN_ROUTE], options = {}) {
497
+ const includeOriginFallback = options.includeOriginFallback !== false;
498
+ const includeRootDomainFallback = options.includeRootDomainFallback !== false;
499
+ const includeMcpSubdomainFallback = options.includeMcpSubdomainFallback !== false;
500
+ const base = new URL(baseUrl);
501
+ const primaryOrigin = base.origin;
502
+ const seen = /* @__PURE__ */ new Set();
503
+ const candidates = [];
504
+ const addCandidate = (candidateBaseUrl, route) => {
505
+ const resolved = resolveDocsMcpCandidateUrl(candidateBaseUrl, route);
506
+ if (seen.has(resolved.url)) return;
507
+ seen.add(resolved.url);
508
+ candidates.push({
509
+ ...resolved,
510
+ label: formatDocsMcpCandidateLabel(resolved.url, primaryOrigin)
511
+ });
512
+ };
513
+ for (const route of routes) addCandidate(baseUrl, route);
514
+ const originBaseUrl = primaryOrigin;
515
+ if (includeOriginFallback && originBaseUrl !== baseUrl.replace(/\/+$/, "")) for (const route of routes) addCandidate(originBaseUrl, route);
516
+ if (includeRootDomainFallback) for (const rootDomainBaseUrl of toDocsRootDomainBaseUrls(base)) for (const route of routes) addCandidate(rootDomainBaseUrl, route);
517
+ if (includeMcpSubdomainFallback) for (const mcpBaseUrl of toDocsMcpSubdomainBaseUrls(base)) {
518
+ addCandidate(mcpBaseUrl, DEFAULT_MCP_PUBLIC_ROUTE);
519
+ addCandidate(mcpBaseUrl, "/");
520
+ }
521
+ return candidates;
522
+ }
523
+ function resolveDocsMcpCandidateUrl(baseUrl, route) {
524
+ if (/^https?:\/\//i.test(route)) {
525
+ const parsed = new URL(route);
526
+ const path = `${parsed.pathname || "/"}${parsed.search}`;
527
+ return {
528
+ baseUrl: parsed.origin,
529
+ route: path,
530
+ url: parsed.toString()
531
+ };
532
+ }
533
+ const base = new URL(baseUrl);
534
+ const basePath = base.pathname.replace(/\/+$/, "");
535
+ const routePath = route.startsWith("/") ? route : `/${route}`;
536
+ const parsed = new URL(`${basePath}${routePath}`, base.origin);
537
+ return {
538
+ baseUrl: parsed.origin,
539
+ route: `${parsed.pathname}${parsed.search}`,
540
+ url: parsed.toString()
541
+ };
542
+ }
543
+ function formatDocsMcpCandidateLabel(url, primaryOrigin) {
544
+ const parsed = new URL(url);
545
+ const path = `${parsed.pathname}${parsed.search}`;
546
+ return parsed.origin === primaryOrigin ? path : `${parsed.origin}${path}`;
547
+ }
548
+ function toDocsMcpSubdomainBaseUrls(base) {
549
+ return getDocsMcpRootDomainCandidates(base.hostname).map((rootDomain) => `${base.protocol}//mcp.${rootDomain}${base.port ? `:${base.port}` : ""}`);
550
+ }
551
+ function toDocsRootDomainBaseUrls(base) {
552
+ return getDocsMcpRootDomainCandidates(base.hostname).map((rootDomain) => `${base.protocol}//${rootDomain}${base.port ? `:${base.port}` : ""}`);
553
+ }
554
+ function getDocsMcpRootDomainCandidates(hostname) {
555
+ const normalized = hostname.toLowerCase().replace(/^\[|\]$/g, "").replace(/\.$/, "");
556
+ if (!normalized || !normalized.includes(".") || isDocsIpHostname(normalized)) return [];
557
+ const labels = normalized.split(".").filter(Boolean);
558
+ if (labels.length < 2) return [];
559
+ const candidates = [];
560
+ const addCandidate = (candidateLabels) => {
561
+ if (candidateLabels.length < 2) return;
562
+ const candidate = candidateLabels.join(".");
563
+ if (!candidates.includes(candidate)) candidates.push(candidate);
564
+ };
565
+ if (labels.length >= 3 && DOCS_MCP_SERVICE_SUBDOMAIN_LABELS.has(labels[0] ?? "")) addCandidate(labels.slice(1));
566
+ const tld = labels.at(-1) ?? "";
567
+ const secondLevel = labels.at(-2) ?? "";
568
+ if (labels.length >= 3 && tld.length === 2 && COMMON_SECOND_LEVEL_PUBLIC_SUFFIX_LABELS.has(secondLevel)) addCandidate(labels.slice(-3));
569
+ else addCandidate(labels.slice(-2));
570
+ return candidates;
571
+ }
572
+ function isDocsIpHostname(hostname) {
573
+ return /^(\d{1,3}\.){3}\d{1,3}$/.test(hostname) || hostname.includes(":");
574
+ }
473
575
  function isDocsSkillRequest(url) {
474
576
  const pathname = normalizeDocsUrlPath(url.pathname);
475
577
  if (pathname === DEFAULT_SKILL_MD_ROUTE || pathname === DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE) return true;
@@ -1098,4 +1200,4 @@ function analyzeDocsRobotsTxt(content, options = {}) {
1098
1200
  }
1099
1201
 
1100
1202
  //#endregion
1101
- export { resolveDocsAgentMdxContent as $, DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER as A, isDocsMcpRequest as B, DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE as C, DEFAULT_OPENAPI_SCHEMA_ROUTE as D, DEFAULT_MCP_WELL_KNOWN_ROUTE as E, getDocsMarkdownCanonicalLinkHeader as F, normalizeDocsUrlPath as G, isDocsSkillRequest as H, getDocsMarkdownVaryHeader as I, renderDocsMarkdownDocument as J, parseDocsAgentFeedbackData as K, hasDocsMarkdownSignatureAgent as L, buildDocsAgentFeedbackSchema as M, findDocsMarkdownPage as N, DEFAULT_SKILL_MD_ROUTE as O, getDocsLlmsTxtMaxCharsIssue as P, resolveDocsAgentFeedbackRequest as Q, isDocsAgentDiscoveryRequest as R, DEFAULT_LLMS_TXT_ROUTE as S, DEFAULT_MCP_ROUTE as T, matchesDocsLlmsTxtSection as U, isDocsPublicGetRequest as V, normalizeDocsPathSegment as W, renderDocsSkillDocument as X, renderDocsMarkdownNotFound as Y, resolveDocsAgentFeedbackConfig as Z, DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE as _, analyzeDocsRobotsTxt as a, resolveDocsOpenApiDiscoveryConfig as at, DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE as b, renderDocsRobotsGeneratedBlock as c, toDocsMarkdownUrl as ct, resolveDocsRobotsRequest as d, resolveDocsLlmsTxtFormat as et, upsertDocsRobotsGeneratedBlock as f, DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE as g, DEFAULT_AGENT_SPEC_ROUTE as h, DOCS_ROBOTS_GENERATED_BLOCK_START as i, resolveDocsMarkdownRequest as it, buildDocsAgentDiscoverySpec as j, DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE as k, renderDocsRobotsTxt as l, validateDocsAgentFeedbackPayload as lt, DEFAULT_AGENT_FEEDBACK_ROUTE as m, DEFAULT_ROBOTS_TXT_ROUTE as n, resolveDocsLlmsTxtSections as nt, createDocsRobotsResponse as o, resolveDocsSkillFormat as ot, DEFAULT_AGENT_FEEDBACK_PAYLOAD_SCHEMA as p, renderDocsLlmsTxt as q, DOCS_ROBOTS_GENERATED_BLOCK_END as r, resolveDocsMarkdownCanonicalUrl as rt, getDocsRobotsAllowRoutes as s, selectDocsLlmsTxtContent as st, DEFAULT_DOCS_AI_ROBOTS_USER_AGENTS as t, resolveDocsLlmsTxtRequest as tt, resolveDocsRobotsConfig as u, DEFAULT_DOCS_API_ROUTE as v, DEFAULT_MCP_PUBLIC_ROUTE as w, DEFAULT_LLMS_TXT_MAX_CHARS as x, DEFAULT_LLMS_FULL_TXT_ROUTE as y, isDocsLlmsTxtPublicRequest as z };
1203
+ export { resolveDocsAgentFeedbackRequest as $, DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER as A, isDocsLlmsTxtPublicRequest as B, DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE as C, DEFAULT_OPENAPI_SCHEMA_ROUTE as D, DEFAULT_MCP_WELL_KNOWN_ROUTE as E, getDocsLlmsTxtMaxCharsIssue as F, normalizeDocsPathSegment as G, isDocsPublicGetRequest as H, getDocsMarkdownCanonicalLinkHeader as I, renderDocsLlmsTxt as J, normalizeDocsUrlPath as K, getDocsMarkdownVaryHeader as L, buildDocsAgentFeedbackSchema as M, buildDocsMcpEndpointCandidates as N, DEFAULT_SKILL_MD_ROUTE as O, findDocsMarkdownPage as P, resolveDocsAgentFeedbackConfig as Q, hasDocsMarkdownSignatureAgent as R, DEFAULT_LLMS_TXT_ROUTE as S, DEFAULT_MCP_ROUTE as T, isDocsSkillRequest as U, isDocsMcpRequest as V, matchesDocsLlmsTxtSection as W, renderDocsMarkdownNotFound as X, renderDocsMarkdownDocument as Y, renderDocsSkillDocument as Z, DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE as _, analyzeDocsRobotsTxt as a, resolveDocsMarkdownRequest as at, DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE as b, renderDocsRobotsGeneratedBlock as c, selectDocsLlmsTxtContent as ct, resolveDocsRobotsRequest as d, resolveDocsAgentMdxContent as et, upsertDocsRobotsGeneratedBlock as f, DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE as g, DEFAULT_AGENT_SPEC_ROUTE as h, DOCS_ROBOTS_GENERATED_BLOCK_START as i, resolveDocsMarkdownCanonicalUrl as it, buildDocsAgentDiscoverySpec as j, DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE as k, renderDocsRobotsTxt as l, toDocsMarkdownUrl as lt, DEFAULT_AGENT_FEEDBACK_ROUTE as m, DEFAULT_ROBOTS_TXT_ROUTE as n, resolveDocsLlmsTxtRequest as nt, createDocsRobotsResponse as o, resolveDocsOpenApiDiscoveryConfig as ot, DEFAULT_AGENT_FEEDBACK_PAYLOAD_SCHEMA as p, parseDocsAgentFeedbackData as q, DOCS_ROBOTS_GENERATED_BLOCK_END as r, resolveDocsLlmsTxtSections as rt, getDocsRobotsAllowRoutes as s, resolveDocsSkillFormat as st, DEFAULT_DOCS_AI_ROBOTS_USER_AGENTS as t, resolveDocsLlmsTxtFormat as tt, resolveDocsRobotsConfig as u, validateDocsAgentFeedbackPayload as ut, DEFAULT_DOCS_API_ROUTE as v, DEFAULT_MCP_PUBLIC_ROUTE as w, DEFAULT_LLMS_TXT_MAX_CHARS as x, DEFAULT_LLMS_FULL_TXT_ROUTE as y, isDocsAgentDiscoveryRequest as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farming-labs/docs",
3
- "version": "0.1.100",
3
+ "version": "0.1.102",
4
4
  "description": "Modern, flexible MDX-based docs framework — core types, config, and CLI",
5
5
  "keywords": [
6
6
  "docs",