@farming-labs/docs 0.1.50 → 0.1.52
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.
- package/dist/{agent-CuYI2Nji.mjs → agent-C3rj3o1l.mjs} +148 -13
- package/dist/{agent-CbAtuZAc.mjs → agent-Xh0UaY5I.mjs} +311 -2
- package/dist/cli/index.mjs +10 -7
- package/dist/{doctor-D0UYKEFN.mjs → doctor-B0xEGzBU.mjs} +119 -7
- package/dist/index.d.mts +25 -3
- package/dist/index.mjs +3 -4
- package/dist/{init-CShiL8Ch.mjs → init-C1tsFxXo.mjs} +1 -1
- package/dist/{mcp-CYpMeMfi.mjs → mcp-C-TmMrdw.mjs} +2 -2
- package/dist/mcp.d.mts +1 -1
- package/dist/mcp.mjs +2 -2
- package/dist/{search-D7DS0MLc.mjs → search-C7mKYgqQ.mjs} +3 -3
- package/dist/{search-8oEskRtz.mjs → search-Cu_pxL8o.mjs} +77 -1
- package/dist/{search-DcI00OQT.d.mts → search-KMMtXPTi.d.mts} +1 -1
- package/dist/server.d.mts +2 -2
- package/dist/server.mjs +2 -2
- package/dist/{upgrade-2xcgMsj6.mjs → upgrade-a185_G5A.mjs} +1 -1
- package/package.json +1 -1
- package/dist/reading-time-DCZXC6-3.mjs +0 -311
- /package/dist/{api-reference-y7cqtq4w.mjs → api-reference-GDAEzQn1.mjs} +0 -0
- /package/dist/{config-C7sUsMkm.mjs → config-Si-yUfM_.mjs} +0 -0
- /package/dist/{types-Agkn2EQE.d.mts → types-Cl6WPIHa.d.mts} +0 -0
- /package/dist/{utils-DSMXVnEu.mjs → utils-CpTFbAiS.mjs} +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { c as DEFAULT_LLMS_TXT_ROUTE, f as DEFAULT_MCP_WELL_KNOWN_ROUTE, i as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, m as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, o as DEFAULT_LLMS_FULL_TXT_ROUTE, p as DEFAULT_SKILL_MD_ROUTE, r as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, t as DEFAULT_AGENT_FEEDBACK_ROUTE, u as DEFAULT_MCP_PUBLIC_ROUTE } from "./agent-
|
|
2
|
-
import "./api-reference-
|
|
1
|
+
import { c as DEFAULT_LLMS_TXT_ROUTE, f as DEFAULT_MCP_WELL_KNOWN_ROUTE, i as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, m as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, o as DEFAULT_LLMS_FULL_TXT_ROUTE, p as DEFAULT_SKILL_MD_ROUTE, r as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, t as DEFAULT_AGENT_FEEDBACK_ROUTE, u as DEFAULT_MCP_PUBLIC_ROUTE } from "./agent-Xh0UaY5I.mjs";
|
|
2
|
+
import "./api-reference-GDAEzQn1.mjs";
|
|
3
3
|
import { createFilesystemDocsMcpSource, resolveDocsMcpConfig } from "./mcp.mjs";
|
|
4
4
|
import "./server.mjs";
|
|
5
|
-
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-
|
|
6
|
-
import {
|
|
5
|
+
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-Si-yUfM_.mjs";
|
|
6
|
+
import { inspectAgentCompactionState, scanDocsPageTargets } from "./agent-C3rj3o1l.mjs";
|
|
7
|
+
import { t as detectFramework } from "./utils-CpTFbAiS.mjs";
|
|
7
8
|
import { existsSync, lstatSync, readFileSync, readdirSync } from "node:fs";
|
|
8
9
|
import path from "node:path";
|
|
9
10
|
import pc from "picocolors";
|
|
@@ -44,6 +45,10 @@ function parseDoctorArgs(argv) {
|
|
|
44
45
|
parsed.mode = "agent";
|
|
45
46
|
continue;
|
|
46
47
|
}
|
|
48
|
+
if (arg === "--json") {
|
|
49
|
+
parsed.json = true;
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
47
52
|
if (arg === "--human" || arg === "human" || arg === "--site" || arg === "site") {
|
|
48
53
|
parsed.mode = "human";
|
|
49
54
|
continue;
|
|
@@ -74,6 +79,7 @@ ${pc.dim("Usage:")}
|
|
|
74
79
|
pnpm exec docs doctor
|
|
75
80
|
pnpm exec docs doctor --agent
|
|
76
81
|
pnpm exec docs doctor --site
|
|
82
|
+
pnpm exec docs doctor --agent --json
|
|
77
83
|
pnpm exec docs doctor agent
|
|
78
84
|
pnpm exec docs doctor site
|
|
79
85
|
|
|
@@ -81,6 +87,7 @@ ${pc.dim("Options:")}
|
|
|
81
87
|
${pc.cyan("--agent")} Score agent-readiness for the current docs app (default)
|
|
82
88
|
${pc.cyan("--site")} Score reader-facing docs quality for the current docs app
|
|
83
89
|
${pc.cyan("--human")} Alias for ${pc.cyan("--site")}
|
|
90
|
+
${pc.cyan("--json")} Print the report as JSON for CI, scripts, and other agents
|
|
84
91
|
${pc.cyan("--config <path>")} Use a custom docs config path instead of ${pc.dim("docs.config.ts[x]")}
|
|
85
92
|
${pc.cyan("-h, --help")} Show this help message
|
|
86
93
|
`);
|
|
@@ -473,7 +480,82 @@ function buildCoverage(pages) {
|
|
|
473
480
|
pagesWithAgentFiles,
|
|
474
481
|
pagesWithAgentBlocks,
|
|
475
482
|
explicitPages,
|
|
476
|
-
explicitCoverage: totalPages === 0 ? 0 : Math.round(explicitPages / Math.max(totalPages, 1) * 100)
|
|
483
|
+
explicitCoverage: totalPages === 0 ? 0 : Math.round(explicitPages / Math.max(totalPages, 1) * 100),
|
|
484
|
+
compaction: {
|
|
485
|
+
freshGeneratedPages: 0,
|
|
486
|
+
staleGeneratedPages: 0,
|
|
487
|
+
modifiedGeneratedPages: 0,
|
|
488
|
+
unknownGeneratedPages: 0,
|
|
489
|
+
tokenBudgetMissingPages: 0,
|
|
490
|
+
otherMissingPages: 0
|
|
491
|
+
}
|
|
492
|
+
};
|
|
493
|
+
}
|
|
494
|
+
function buildCompactionCoverage(rootDir, contentDir, entry, pages, defaults) {
|
|
495
|
+
const targets = scanDocsPageTargets(rootDir, contentDir, entry);
|
|
496
|
+
const targetsBySlug = new Map(targets.map((target) => [target.slug, target]));
|
|
497
|
+
const coverage = {
|
|
498
|
+
freshGeneratedPages: 0,
|
|
499
|
+
staleGeneratedPages: 0,
|
|
500
|
+
modifiedGeneratedPages: 0,
|
|
501
|
+
unknownGeneratedPages: 0,
|
|
502
|
+
tokenBudgetMissingPages: 0,
|
|
503
|
+
otherMissingPages: 0
|
|
504
|
+
};
|
|
505
|
+
for (const page of pages) {
|
|
506
|
+
const target = targetsBySlug.get(page.slug);
|
|
507
|
+
if (!target) continue;
|
|
508
|
+
const state = inspectAgentCompactionState(page, target, defaults);
|
|
509
|
+
switch (state.status) {
|
|
510
|
+
case "fresh":
|
|
511
|
+
coverage.freshGeneratedPages += 1;
|
|
512
|
+
break;
|
|
513
|
+
case "stale":
|
|
514
|
+
coverage.staleGeneratedPages += 1;
|
|
515
|
+
break;
|
|
516
|
+
case "modified":
|
|
517
|
+
case "stale-modified":
|
|
518
|
+
coverage.modifiedGeneratedPages += 1;
|
|
519
|
+
break;
|
|
520
|
+
case "unknown":
|
|
521
|
+
coverage.unknownGeneratedPages += 1;
|
|
522
|
+
break;
|
|
523
|
+
case "missing":
|
|
524
|
+
if (state.tokenBudget !== void 0) coverage.tokenBudgetMissingPages += 1;
|
|
525
|
+
else coverage.otherMissingPages += 1;
|
|
526
|
+
break;
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
return coverage;
|
|
530
|
+
}
|
|
531
|
+
function compactionFreshnessScore(coverage, compactConfigured) {
|
|
532
|
+
if (coverage.staleGeneratedPages > 0 || coverage.modifiedGeneratedPages > 0 || coverage.tokenBudgetMissingPages > 0) {
|
|
533
|
+
const recommendations = [];
|
|
534
|
+
if (coverage.staleGeneratedPages > 0) recommendations.push("Run docs agent compact --stale to refresh stale generated agent.md files.");
|
|
535
|
+
if (coverage.modifiedGeneratedPages > 0) recommendations.push("Review modified generated agent.md files before overwriting them; --stale skips manual edits on purpose.");
|
|
536
|
+
if (coverage.tokenBudgetMissingPages > 0) recommendations.push("Run docs agent compact --stale --include-missing to create generated agent.md files for pages that opted into agent.tokenBudget.");
|
|
537
|
+
return {
|
|
538
|
+
status: "warn",
|
|
539
|
+
score: compactConfigured ? 2 : 0,
|
|
540
|
+
recommendation: recommendations.join(" ")
|
|
541
|
+
};
|
|
542
|
+
}
|
|
543
|
+
if (coverage.unknownGeneratedPages > 0) return {
|
|
544
|
+
status: "pass",
|
|
545
|
+
score: compactConfigured ? 4 : 3
|
|
546
|
+
};
|
|
547
|
+
if (coverage.freshGeneratedPages > 0) return {
|
|
548
|
+
status: "pass",
|
|
549
|
+
score: compactConfigured ? 5 : 4
|
|
550
|
+
};
|
|
551
|
+
if (compactConfigured) return {
|
|
552
|
+
status: "pass",
|
|
553
|
+
score: 5
|
|
554
|
+
};
|
|
555
|
+
return {
|
|
556
|
+
status: "warn",
|
|
557
|
+
score: 0,
|
|
558
|
+
recommendation: "Add agent.compact defaults if you want docs agent compact and stale detection to run without repeating model and key settings."
|
|
477
559
|
};
|
|
478
560
|
}
|
|
479
561
|
function buildMetadataCoverage(pages) {
|
|
@@ -573,7 +655,15 @@ async function inspectAgentReadiness(options = {}) {
|
|
|
573
655
|
pagesWithAgentFiles: 0,
|
|
574
656
|
pagesWithAgentBlocks: 0,
|
|
575
657
|
explicitPages: 0,
|
|
576
|
-
explicitCoverage: 0
|
|
658
|
+
explicitCoverage: 0,
|
|
659
|
+
compaction: {
|
|
660
|
+
freshGeneratedPages: 0,
|
|
661
|
+
staleGeneratedPages: 0,
|
|
662
|
+
modifiedGeneratedPages: 0,
|
|
663
|
+
unknownGeneratedPages: 0,
|
|
664
|
+
tokenBudgetMissingPages: 0,
|
|
665
|
+
otherMissingPages: 0
|
|
666
|
+
}
|
|
577
667
|
},
|
|
578
668
|
recommendations: checks.map((check) => check.recommendation).filter(Boolean)
|
|
579
669
|
};
|
|
@@ -601,8 +691,11 @@ async function inspectAgentReadiness(options = {}) {
|
|
|
601
691
|
});
|
|
602
692
|
const pages = await Promise.resolve(source.getPages());
|
|
603
693
|
const coverage = buildCoverage(pages);
|
|
694
|
+
const compactionCoverage = buildCompactionCoverage(rootDir, contentDir, entry, pages, config?.agent?.compact ?? {});
|
|
695
|
+
coverage.compaction = compactionCoverage;
|
|
604
696
|
const metadataCoverage = buildMetadataCoverage(pages);
|
|
605
697
|
const metadataResult = metadataScore(metadataCoverage.descriptionCoverage, metadataCoverage.relatedCoverage);
|
|
698
|
+
const compactionResult = compactionFreshnessScore(compactionCoverage, compactConfigured);
|
|
606
699
|
const routeSurface = detectRouteSurface(rootDir, framework, staticExport, files);
|
|
607
700
|
const mcpConfig = resolveDocsMcpConfig(config?.mcp ?? void 0, { defaultName: siteTitle });
|
|
608
701
|
const feedbackRoute = DEFAULT_AGENT_FEEDBACK_ROUTE;
|
|
@@ -622,7 +715,7 @@ async function inspectAgentReadiness(options = {}) {
|
|
|
622
715
|
checks.push(makeCheck("metadata", "Page metadata", metadataResult.status, metadataResult.score, 5, coverage.totalPages > 0 ? `${metadataCoverage.describedPages}/${coverage.totalPages} pages include descriptions and ${metadataCoverage.relatedPages}/${coverage.totalPages} pages include related links (${metadataCoverage.descriptionCoverage}% described, ${metadataCoverage.relatedCoverage}% related).` : "No docs pages were available to score page metadata.", metadataCoverage.descriptionCoverage >= 75 ? void 0 : "Add page descriptions and related links to more docs pages so agent markdown output carries better context and navigation hints."));
|
|
623
716
|
const coverageResult = coverageScore(coverage.explicitCoverage);
|
|
624
717
|
checks.push(makeCheck("coverage", "Explicit page optimization", coverageResult.status, coverageResult.score, 10, coverage.totalPages > 0 ? `${coverage.explicitPages}/${coverage.totalPages} pages define explicit machine-only context (${coverage.pagesWithAgentFiles} agent.md, ${coverage.pagesWithAgentBlocks} Agent blocks, ${coverage.explicitCoverage}% of pages).` : "No docs pages were available to score explicit page optimization.", coverage.explicitCoverage >= 50 ? void 0 : "Add agent.md files or <Agent> blocks to more pages, or run docs agent compact to create page-level machine docs."));
|
|
625
|
-
checks.push(
|
|
718
|
+
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));
|
|
626
719
|
const score = checks.reduce((total, check) => total + check.score, 0);
|
|
627
720
|
const maxScore = checks.reduce((total, check) => total + check.maxScore, 0);
|
|
628
721
|
return {
|
|
@@ -726,6 +819,7 @@ function printAgentDoctorReport(report) {
|
|
|
726
819
|
console.log(`${pc.bold("Score:")} ${pc.cyan(`${report.score}/${report.maxScore}`)} ${pc.dim(`(${report.grade})`)}`);
|
|
727
820
|
console.log(`${pc.bold("Framework:")} ${report.framework} ${pc.dim("•")} ${pc.bold("Entry:")} ${report.entry ?? "docs"} ${pc.dim("•")} ${pc.bold("Content:")} ${report.contentDir ?? "-"}`);
|
|
728
821
|
console.log(`${pc.bold("Explicit agent-friendly pages:")} ${report.coverage.explicitPages}/${report.coverage.totalPages} pages ${pc.dim(`(${report.coverage.explicitCoverage}%)`)}`);
|
|
822
|
+
console.log(`${pc.bold("Generated agent.md freshness:")} ${report.coverage.compaction.freshGeneratedPages} fresh ${pc.dim("•")} ${report.coverage.compaction.staleGeneratedPages} stale ${pc.dim("•")} ${report.coverage.compaction.modifiedGeneratedPages} modified ${pc.dim("•")} ${report.coverage.compaction.tokenBudgetMissingPages} token-budget missing`);
|
|
729
823
|
console.log();
|
|
730
824
|
for (const check of report.checks) {
|
|
731
825
|
console.log(`${formatStatus(check.status)} ${check.title} ${pc.dim(`(${check.score}/${check.maxScore})`)}`);
|
|
@@ -756,13 +850,31 @@ function printHumanDoctorReport(report) {
|
|
|
756
850
|
for (const recommendation of report.recommendations) console.log(`- ${recommendation}`);
|
|
757
851
|
}
|
|
758
852
|
}
|
|
853
|
+
function serializeDoctorJsonReport(report) {
|
|
854
|
+
if (report.mode === "human") return {
|
|
855
|
+
...report,
|
|
856
|
+
mode: "site"
|
|
857
|
+
};
|
|
858
|
+
return report;
|
|
859
|
+
}
|
|
860
|
+
function printDoctorJsonReport(report) {
|
|
861
|
+
console.log(JSON.stringify(serializeDoctorJsonReport(report), null, 2));
|
|
862
|
+
}
|
|
759
863
|
async function runDoctor(options = {}) {
|
|
760
864
|
if (options.mode === "human") {
|
|
761
865
|
const report = await inspectHumanReadiness(options);
|
|
866
|
+
if (options.json) {
|
|
867
|
+
printDoctorJsonReport(report);
|
|
868
|
+
return report;
|
|
869
|
+
}
|
|
762
870
|
printHumanDoctorReport(report);
|
|
763
871
|
return report;
|
|
764
872
|
}
|
|
765
873
|
const report = await inspectAgentReadiness(options);
|
|
874
|
+
if (options.json) {
|
|
875
|
+
printDoctorJsonReport(report);
|
|
876
|
+
return report;
|
|
877
|
+
}
|
|
766
878
|
printAgentDoctorReport(report);
|
|
767
879
|
return report;
|
|
768
880
|
}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { $ as SidebarConfig, A as DocsSearchQuery, B as McpDocsSearchConfig, C as DocsSearchAdapter, D as DocsSearchConfig, E as DocsSearchChunkingConfig, F as FeedbackConfig, G as OrderingItem, H as OpenDocsConfig, I as FontStyle, J as PageOpenGraph, K as PageActionsConfig, L as GithubConfig, M as DocsSearchResultType, N as DocsSearchSourcePage, O as DocsSearchDocument, P as DocsTheme, Q as SidebarComponentProps, R as LastUpdatedConfig, S as DocsRelatedItem, T as DocsSearchAdapterFactory, U as OpenDocsProvider, V as OGConfig, W as OpenGraphImage, X as ReadingTimeConfig, Y as PageTwitter, Z as ResolvedDocsRelatedLink, _ as DocsI18nConfig, a as ApiReferenceRenderer, at as ThemeToggleConfig, b as DocsMetadata, c as ChangelogFrontmatter, ct as UIConfig, d as CustomDocsSearchConfig, et as SidebarFolderNode, f as DocsAgentFeedbackContext, g as DocsFeedbackValue, h as DocsFeedbackData, i as ApiReferenceConfig, it as SimpleDocsSearchConfig, j as DocsSearchResult, k as DocsSearchEmbeddingsConfig, l as CodeBlockCopyData, m as DocsConfig, n as AgentFeedbackConfig, nt as SidebarPageNode, o as BreadcrumbConfig, ot as TypesenseDocsSearchConfig, p as DocsAgentFeedbackData, q as PageFrontmatter, r as AlgoliaDocsSearchConfig, rt as SidebarTree, s as ChangelogConfig, st as TypographyConfig, t as AIConfig, tt as SidebarNode, u as CopyMarkdownConfig, v as DocsMcpConfig, w as DocsSearchAdapterContext, x as DocsNav, y as DocsMcpToolsConfig, z as LlmsTxtConfig } from "./types-
|
|
1
|
+
import { $ as SidebarConfig, A as DocsSearchQuery, B as McpDocsSearchConfig, C as DocsSearchAdapter, D as DocsSearchConfig, E as DocsSearchChunkingConfig, F as FeedbackConfig, G as OrderingItem, H as OpenDocsConfig, I as FontStyle, J as PageOpenGraph, K as PageActionsConfig, L as GithubConfig, M as DocsSearchResultType, N as DocsSearchSourcePage, O as DocsSearchDocument, P as DocsTheme, Q as SidebarComponentProps, R as LastUpdatedConfig, S as DocsRelatedItem, T as DocsSearchAdapterFactory, U as OpenDocsProvider, V as OGConfig, W as OpenGraphImage, X as ReadingTimeConfig, Y as PageTwitter, Z as ResolvedDocsRelatedLink, _ as DocsI18nConfig, a as ApiReferenceRenderer, at as ThemeToggleConfig, b as DocsMetadata, c as ChangelogFrontmatter, ct as UIConfig, d as CustomDocsSearchConfig, et as SidebarFolderNode, f as DocsAgentFeedbackContext, g as DocsFeedbackValue, h as DocsFeedbackData, i as ApiReferenceConfig, it as SimpleDocsSearchConfig, j as DocsSearchResult, k as DocsSearchEmbeddingsConfig, l as CodeBlockCopyData, m as DocsConfig, n as AgentFeedbackConfig, nt as SidebarPageNode, o as BreadcrumbConfig, ot as TypesenseDocsSearchConfig, p as DocsAgentFeedbackData, q as PageFrontmatter, r as AlgoliaDocsSearchConfig, rt as SidebarTree, s as ChangelogConfig, st as TypographyConfig, t as AIConfig, tt as SidebarNode, u as CopyMarkdownConfig, v as DocsMcpConfig, w as DocsSearchAdapterContext, x as DocsNav, y as DocsMcpToolsConfig, z as LlmsTxtConfig } from "./types-Cl6WPIHa.mjs";
|
|
2
2
|
import { DocsMcpPage, DocsMcpResolvedConfig } from "./mcp.mjs";
|
|
3
|
-
import { a as createSimpleSearchAdapter, c as resolveSearchRequestConfig, i as createMcpSearchAdapter, n as createAlgoliaSearchAdapter, o as createTypesenseSearchAdapter, r as createCustomSearchAdapter, s as performDocsSearch, t as buildDocsSearchDocuments } from "./search-
|
|
3
|
+
import { a as createSimpleSearchAdapter, c as resolveSearchRequestConfig, i as createMcpSearchAdapter, n as createAlgoliaSearchAdapter, o as createTypesenseSearchAdapter, r as createCustomSearchAdapter, s as performDocsSearch, t as buildDocsSearchDocuments } from "./search-KMMtXPTi.mjs";
|
|
4
4
|
|
|
5
5
|
//#region src/define-docs.d.ts
|
|
6
6
|
/**
|
|
@@ -134,6 +134,28 @@ declare function resolveReadingTimeFromSource(source: string, wordsPerMinute?: n
|
|
|
134
134
|
declare function normalizeDocsRelated(value: unknown): ResolvedDocsRelatedLink[];
|
|
135
135
|
declare function renderDocsRelatedMarkdownLines(related: ResolvedDocsRelatedLink[] | undefined): string[];
|
|
136
136
|
//#endregion
|
|
137
|
+
//#region src/agent-provenance.d.ts
|
|
138
|
+
declare const GENERATED_AGENT_PROVENANCE_MARKER = "@farming-labs/docs:generated";
|
|
139
|
+
declare const GENERATED_AGENT_PROVENANCE_VERSION = 1;
|
|
140
|
+
type GeneratedAgentSourceKind = "resolved-page" | "agent-md";
|
|
141
|
+
interface GeneratedAgentProvenance {
|
|
142
|
+
version: number;
|
|
143
|
+
sourceKind: GeneratedAgentSourceKind;
|
|
144
|
+
sourceHash: string;
|
|
145
|
+
settingsHash: string;
|
|
146
|
+
outputHash: string;
|
|
147
|
+
generatedAt: string;
|
|
148
|
+
}
|
|
149
|
+
interface ParsedGeneratedAgentDocument {
|
|
150
|
+
provenance?: GeneratedAgentProvenance;
|
|
151
|
+
content: string;
|
|
152
|
+
}
|
|
153
|
+
declare function normalizeGeneratedAgentContent(value: string): string;
|
|
154
|
+
declare function hashGeneratedAgentContent(value: string): string;
|
|
155
|
+
declare function parseGeneratedAgentDocument(raw: string): ParsedGeneratedAgentDocument;
|
|
156
|
+
declare function stripGeneratedAgentProvenance(raw: string): string;
|
|
157
|
+
declare function serializeGeneratedAgentDocument(content: string, provenance: GeneratedAgentProvenance): string;
|
|
158
|
+
//#endregion
|
|
137
159
|
//#region src/agent.d.ts
|
|
138
160
|
declare const DEFAULT_DOCS_API_ROUTE = "/api/docs";
|
|
139
161
|
declare const DEFAULT_AGENT_SPEC_ROUTE = "/api/docs/agent/spec";
|
|
@@ -338,4 +360,4 @@ declare function buildDocsAgentDiscoverySpec({
|
|
|
338
360
|
};
|
|
339
361
|
};
|
|
340
362
|
//#endregion
|
|
341
|
-
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_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_SKILL_MD_ROUTE, DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, type DocsAgentDiscoverySpecOptions, type DocsAgentFeedbackContext, type DocsAgentFeedbackData, type DocsAgentFeedbackDiscoveryConfig, type DocsConfig, type DocsFeedbackData, type DocsFeedbackValue, type DocsI18nConfig, type DocsLlmsDiscoveryConfig, type DocsMarkdownPage, type DocsMcpConfig, type DocsMcpToolsConfig, type DocsMetadata, type DocsNav, type DocsPathMatch, type DocsRelatedItem, type DocsSearchAdapter, type DocsSearchAdapterContext, type DocsSearchAdapterFactory, type DocsSearchChunkingConfig, type DocsSearchConfig, type DocsSearchDocument, type DocsSearchEmbeddingsConfig, type DocsSearchQuery, type DocsSearchResult, type DocsSearchResultType, type DocsSearchSourcePage, type DocsSkillDocumentOptions, type DocsTheme, type FeedbackConfig, type FontStyle, 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 PageTwitter, type ReadingTimeConfig, type ResolvedChangelogConfig, type ResolvedDocsI18n, type ResolvedDocsRelatedLink, type SidebarComponentProps, type SidebarConfig, type SidebarFolderNode, type SidebarNode, type SidebarPageNode, type SidebarTree, type SimpleDocsSearchConfig, type ThemeToggleConfig, type TypesenseDocsSearchConfig, type TypographyConfig, type UIConfig, buildDocsAgentDiscoverySpec, buildDocsSearchDocuments, buildPageOpenGraph, buildPageTwitter, createAlgoliaSearchAdapter, createCustomSearchAdapter, createMcpSearchAdapter, createSimpleSearchAdapter, createTheme, createTypesenseSearchAdapter, deepMerge, defineDocs, estimateReadingTimeMinutes, extendTheme, findDocsMarkdownPage, isDocsAgentDiscoveryRequest, isDocsMcpRequest, isDocsPublicGetRequest, isDocsSkillRequest, normalizeDocsPathSegment, normalizeDocsRelated, normalizeDocsUrlPath, performDocsSearch, renderDocsMarkdownDocument, renderDocsRelatedMarkdownLines, renderDocsSkillDocument, resolveChangelogConfig, resolveDocsAgentMdxContent, resolveDocsI18n, resolveDocsLlmsTxtFormat, resolveDocsLocale, resolveDocsMarkdownRequest, resolveDocsPath, resolveDocsSkillFormat, resolveOGImage, resolvePageReadingTime, resolveReadingTimeFromContent, resolveReadingTimeFromSource, resolveReadingTimeOptions, resolveSearchRequestConfig, resolveTitle };
|
|
363
|
+
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_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_SKILL_MD_ROUTE, DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, type DocsAgentDiscoverySpecOptions, type DocsAgentFeedbackContext, type DocsAgentFeedbackData, type DocsAgentFeedbackDiscoveryConfig, type DocsConfig, type DocsFeedbackData, type DocsFeedbackValue, type DocsI18nConfig, type DocsLlmsDiscoveryConfig, type DocsMarkdownPage, type DocsMcpConfig, type DocsMcpToolsConfig, type DocsMetadata, type DocsNav, type DocsPathMatch, type DocsRelatedItem, type DocsSearchAdapter, type DocsSearchAdapterContext, type DocsSearchAdapterFactory, type DocsSearchChunkingConfig, type DocsSearchConfig, type DocsSearchDocument, type DocsSearchEmbeddingsConfig, type DocsSearchQuery, type DocsSearchResult, type DocsSearchResultType, type DocsSearchSourcePage, type DocsSkillDocumentOptions, 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 PageTwitter, type ReadingTimeConfig, type ResolvedChangelogConfig, type ResolvedDocsI18n, type ResolvedDocsRelatedLink, type SidebarComponentProps, type SidebarConfig, type SidebarFolderNode, type SidebarNode, type SidebarPageNode, type SidebarTree, type SimpleDocsSearchConfig, type ThemeToggleConfig, type TypesenseDocsSearchConfig, type TypographyConfig, type UIConfig, buildDocsAgentDiscoverySpec, buildDocsSearchDocuments, buildPageOpenGraph, buildPageTwitter, createAlgoliaSearchAdapter, createCustomSearchAdapter, createMcpSearchAdapter, createSimpleSearchAdapter, createTheme, createTypesenseSearchAdapter, deepMerge, defineDocs, estimateReadingTimeMinutes, extendTheme, findDocsMarkdownPage, hashGeneratedAgentContent, isDocsAgentDiscoveryRequest, isDocsMcpRequest, isDocsPublicGetRequest, isDocsSkillRequest, normalizeDocsPathSegment, normalizeDocsRelated, normalizeDocsUrlPath, normalizeGeneratedAgentContent, parseGeneratedAgentDocument, performDocsSearch, renderDocsMarkdownDocument, renderDocsRelatedMarkdownLines, renderDocsSkillDocument, resolveChangelogConfig, resolveDocsAgentMdxContent, resolveDocsI18n, resolveDocsLlmsTxtFormat, resolveDocsLocale, resolveDocsMarkdownRequest, resolveDocsPath, resolveDocsSkillFormat, resolveOGImage, resolvePageReadingTime, resolveReadingTimeFromContent, resolveReadingTimeFromSource, resolveReadingTimeOptions, resolveSearchRequestConfig, resolveTitle, serializeGeneratedAgentDocument, stripGeneratedAgentProvenance };
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as createSimpleSearchAdapter, c as resolveSearchRequestConfig, i as createMcpSearchAdapter, l as
|
|
3
|
-
import { C as renderDocsMarkdownDocument, D as resolveDocsMarkdownRequest, E as resolveDocsLlmsTxtFormat, O as resolveDocsSkillFormat, S as normalizeDocsUrlPath, T as resolveDocsAgentMdxContent, _ as isDocsAgentDiscoveryRequest, a as DEFAULT_DOCS_API_ROUTE, b as isDocsSkillRequest, c as DEFAULT_LLMS_TXT_ROUTE, d as DEFAULT_MCP_ROUTE, f as DEFAULT_MCP_WELL_KNOWN_ROUTE, g as findDocsMarkdownPage, h as buildDocsAgentDiscoverySpec, i as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, l as DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE, m as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, n as DEFAULT_AGENT_SPEC_ROUTE, o as DEFAULT_LLMS_FULL_TXT_ROUTE, p as DEFAULT_SKILL_MD_ROUTE, r as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, s as DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, t as DEFAULT_AGENT_FEEDBACK_ROUTE, u as DEFAULT_MCP_PUBLIC_ROUTE, v as isDocsMcpRequest, w as renderDocsSkillDocument, x as normalizeDocsPathSegment, y as isDocsPublicGetRequest } from "./agent-CbAtuZAc.mjs";
|
|
1
|
+
import { A as resolvePageReadingTime, B as resolveDocsPath, C as renderDocsMarkdownDocument, D as resolveDocsMarkdownRequest, E as resolveDocsLlmsTxtFormat, F as buildPageTwitter, G as defineDocs, H as extendTheme, I as resolveOGImage, L as resolveTitle, M as resolveReadingTimeFromSource, N as resolveReadingTimeOptions, O as resolveDocsSkillFormat, P as buildPageOpenGraph, R as resolveDocsI18n, S as normalizeDocsUrlPath, T as resolveDocsAgentMdxContent, U as deepMerge, V as createTheme, W as resolveChangelogConfig, _ as isDocsAgentDiscoveryRequest, a as DEFAULT_DOCS_API_ROUTE, b as isDocsSkillRequest, c as DEFAULT_LLMS_TXT_ROUTE, d as DEFAULT_MCP_ROUTE, f as DEFAULT_MCP_WELL_KNOWN_ROUTE, g as findDocsMarkdownPage, h as buildDocsAgentDiscoverySpec, i as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, j as resolveReadingTimeFromContent, k as estimateReadingTimeMinutes, l as DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE, m as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, n as DEFAULT_AGENT_SPEC_ROUTE, o as DEFAULT_LLMS_FULL_TXT_ROUTE, p as DEFAULT_SKILL_MD_ROUTE, r as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, s as DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, t as DEFAULT_AGENT_FEEDBACK_ROUTE, u as DEFAULT_MCP_PUBLIC_ROUTE, v as isDocsMcpRequest, w as renderDocsSkillDocument, x as normalizeDocsPathSegment, y as isDocsPublicGetRequest, z as resolveDocsLocale } from "./agent-Xh0UaY5I.mjs";
|
|
2
|
+
import { _ as renderDocsRelatedMarkdownLines, a as createSimpleSearchAdapter, c as resolveSearchRequestConfig, d as hashGeneratedAgentContent, f as normalizeGeneratedAgentContent, g as normalizeDocsRelated, h as stripGeneratedAgentProvenance, i as createMcpSearchAdapter, l as GENERATED_AGENT_PROVENANCE_MARKER, m as serializeGeneratedAgentDocument, n as createAlgoliaSearchAdapter, o as createTypesenseSearchAdapter, p as parseGeneratedAgentDocument, r as createCustomSearchAdapter, s as performDocsSearch, t as buildDocsSearchDocuments, u as GENERATED_AGENT_PROVENANCE_VERSION } from "./search-Cu_pxL8o.mjs";
|
|
4
3
|
|
|
5
|
-
export { DEFAULT_AGENT_FEEDBACK_ROUTE, DEFAULT_AGENT_SPEC_ROUTE, DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, 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_SKILL_MD_ROUTE, DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, buildDocsAgentDiscoverySpec, buildDocsSearchDocuments, buildPageOpenGraph, buildPageTwitter, createAlgoliaSearchAdapter, createCustomSearchAdapter, createMcpSearchAdapter, createSimpleSearchAdapter, createTheme, createTypesenseSearchAdapter, deepMerge, defineDocs, estimateReadingTimeMinutes, extendTheme, findDocsMarkdownPage, isDocsAgentDiscoveryRequest, isDocsMcpRequest, isDocsPublicGetRequest, isDocsSkillRequest, normalizeDocsPathSegment, normalizeDocsRelated, normalizeDocsUrlPath, performDocsSearch, renderDocsMarkdownDocument, renderDocsRelatedMarkdownLines, renderDocsSkillDocument, resolveChangelogConfig, resolveDocsAgentMdxContent, resolveDocsI18n, resolveDocsLlmsTxtFormat, resolveDocsLocale, resolveDocsMarkdownRequest, resolveDocsPath, resolveDocsSkillFormat, resolveOGImage, resolvePageReadingTime, resolveReadingTimeFromContent, resolveReadingTimeFromSource, resolveReadingTimeOptions, resolveSearchRequestConfig, resolveTitle };
|
|
4
|
+
export { DEFAULT_AGENT_FEEDBACK_ROUTE, DEFAULT_AGENT_SPEC_ROUTE, DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, 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_SKILL_MD_ROUTE, DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, GENERATED_AGENT_PROVENANCE_MARKER, GENERATED_AGENT_PROVENANCE_VERSION, buildDocsAgentDiscoverySpec, buildDocsSearchDocuments, buildPageOpenGraph, buildPageTwitter, createAlgoliaSearchAdapter, createCustomSearchAdapter, createMcpSearchAdapter, createSimpleSearchAdapter, createTheme, createTypesenseSearchAdapter, deepMerge, defineDocs, estimateReadingTimeMinutes, extendTheme, findDocsMarkdownPage, hashGeneratedAgentContent, isDocsAgentDiscoveryRequest, isDocsMcpRequest, isDocsPublicGetRequest, isDocsSkillRequest, normalizeDocsPathSegment, normalizeDocsRelated, normalizeDocsUrlPath, normalizeGeneratedAgentContent, parseGeneratedAgentDocument, performDocsSearch, renderDocsMarkdownDocument, renderDocsRelatedMarkdownLines, renderDocsSkillDocument, resolveChangelogConfig, resolveDocsAgentMdxContent, resolveDocsI18n, resolveDocsLlmsTxtFormat, resolveDocsLocale, resolveDocsMarkdownRequest, resolveDocsPath, resolveDocsSkillFormat, resolveOGImage, resolvePageReadingTime, resolveReadingTimeFromContent, resolveReadingTimeFromSource, resolveReadingTimeOptions, resolveSearchRequestConfig, resolveTitle, serializeGeneratedAgentDocument, stripGeneratedAgentProvenance };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
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-
|
|
1
|
+
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-CpTFbAiS.mjs";
|
|
2
2
|
import fs from "node:fs";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import pc from "picocolors";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import "./api-reference-
|
|
1
|
+
import "./api-reference-GDAEzQn1.mjs";
|
|
2
2
|
import { createFilesystemDocsMcpSource, resolveDocsMcpConfig, runDocsMcpStdio } from "./mcp.mjs";
|
|
3
3
|
import "./server.mjs";
|
|
4
|
-
import { c as readNavTitle, f as resolveDocsConfigPath, n as extractObjectLiteral, o as readBooleanProperty, p as resolveDocsContentDir, u as readStringProperty } from "./config-
|
|
4
|
+
import { c as readNavTitle, f as resolveDocsConfigPath, n as extractObjectLiteral, o as readBooleanProperty, p as resolveDocsContentDir, u as readStringProperty } from "./config-Si-yUfM_.mjs";
|
|
5
5
|
import { readFileSync } from "node:fs";
|
|
6
6
|
|
|
7
7
|
//#region src/cli/mcp.ts
|
package/dist/mcp.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { D as DocsSearchConfig, G as OrderingItem, N as DocsSearchSourcePage, v as DocsMcpConfig } from "./types-
|
|
1
|
+
import { D as DocsSearchConfig, G as OrderingItem, N as DocsSearchSourcePage, v as DocsMcpConfig } from "./types-Cl6WPIHa.mjs";
|
|
2
2
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
3
|
|
|
4
4
|
//#region src/mcp.d.ts
|
package/dist/mcp.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { _ as renderDocsRelatedMarkdownLines, g as normalizeDocsRelated, h as stripGeneratedAgentProvenance, s as performDocsSearch } from "./search-Cu_pxL8o.mjs";
|
|
2
2
|
import matter from "gray-matter";
|
|
3
3
|
import fs from "node:fs";
|
|
4
4
|
import path from "node:path";
|
|
@@ -347,7 +347,7 @@ function scanFilesystemDocsPages(contentDirAbs, entry) {
|
|
|
347
347
|
function readFilesystemAgentDoc(dir) {
|
|
348
348
|
const agentPath = path.join(dir, "agent.md");
|
|
349
349
|
if (!fs.existsSync(agentPath)) return void 0;
|
|
350
|
-
const { content } = matter(fs.readFileSync(agentPath, "utf-8"));
|
|
350
|
+
const { content } = matter(stripGeneratedAgentProvenance(fs.readFileSync(agentPath, "utf-8")));
|
|
351
351
|
return {
|
|
352
352
|
agentContent: stripMarkdownForMcp(content),
|
|
353
353
|
agentRawContent: content
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { n as createAlgoliaSearchAdapter, o as createTypesenseSearchAdapter, t as buildDocsSearchDocuments } from "./search-
|
|
2
|
-
import "./api-reference-
|
|
1
|
+
import { n as createAlgoliaSearchAdapter, o as createTypesenseSearchAdapter, t as buildDocsSearchDocuments } from "./search-Cu_pxL8o.mjs";
|
|
2
|
+
import "./api-reference-GDAEzQn1.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-
|
|
5
|
+
import { a as loadProjectEnv, d as readTopLevelStringProperty, f as resolveDocsConfigPath, p as resolveDocsContentDir } from "./config-Si-yUfM_.mjs";
|
|
6
6
|
import { readFileSync } from "node:fs";
|
|
7
7
|
import pc from "picocolors";
|
|
8
8
|
|
|
@@ -46,6 +46,82 @@ function normalizeInlineText(value) {
|
|
|
46
46
|
return value.replace(/\s+/g, " ").trim();
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
+
//#endregion
|
|
50
|
+
//#region src/agent-provenance.ts
|
|
51
|
+
const GENERATED_AGENT_PROVENANCE_MARKER = "@farming-labs/docs:generated";
|
|
52
|
+
const GENERATED_AGENT_PROVENANCE_VERSION = 1;
|
|
53
|
+
function normalizeLineEndings(value) {
|
|
54
|
+
return value.replace(/\r\n?/g, "\n").replace(/^\uFEFF/, "");
|
|
55
|
+
}
|
|
56
|
+
function normalizeGeneratedAgentContent(value) {
|
|
57
|
+
return normalizeLineEndings(value).trimEnd();
|
|
58
|
+
}
|
|
59
|
+
function hashGeneratedAgentContent(value) {
|
|
60
|
+
const normalized = normalizeGeneratedAgentContent(value);
|
|
61
|
+
const bytes = new TextEncoder().encode(normalized);
|
|
62
|
+
let hash = 14695981039346656037n;
|
|
63
|
+
for (const byte of bytes) {
|
|
64
|
+
hash ^= BigInt(byte);
|
|
65
|
+
hash = BigInt.asUintN(64, hash * 1099511628211n);
|
|
66
|
+
}
|
|
67
|
+
return `fnv1a64:${hash.toString(16).padStart(16, "0")}`;
|
|
68
|
+
}
|
|
69
|
+
function parseProvenanceBlock(rawBlock) {
|
|
70
|
+
const entries = /* @__PURE__ */ new Map();
|
|
71
|
+
for (const line of rawBlock.split("\n")) {
|
|
72
|
+
const trimmed = line.trim();
|
|
73
|
+
if (!trimmed) continue;
|
|
74
|
+
const separatorIndex = trimmed.indexOf("=");
|
|
75
|
+
if (separatorIndex <= 0) continue;
|
|
76
|
+
const key = trimmed.slice(0, separatorIndex).trim();
|
|
77
|
+
const value = trimmed.slice(separatorIndex + 1).trim();
|
|
78
|
+
if (!key || !value) continue;
|
|
79
|
+
entries.set(key, value);
|
|
80
|
+
}
|
|
81
|
+
const version = Number.parseInt(entries.get("version") ?? "", 10);
|
|
82
|
+
const sourceKind = entries.get("sourceKind");
|
|
83
|
+
const sourceHash = entries.get("sourceHash");
|
|
84
|
+
const settingsHash = entries.get("settingsHash");
|
|
85
|
+
const outputHash = entries.get("outputHash");
|
|
86
|
+
const generatedAt = entries.get("generatedAt");
|
|
87
|
+
if (!Number.isFinite(version) || sourceKind !== "resolved-page" && sourceKind !== "agent-md" || !sourceHash || !settingsHash || !outputHash || !generatedAt) return;
|
|
88
|
+
return {
|
|
89
|
+
version,
|
|
90
|
+
sourceKind,
|
|
91
|
+
sourceHash,
|
|
92
|
+
settingsHash,
|
|
93
|
+
outputHash,
|
|
94
|
+
generatedAt
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
function parseGeneratedAgentDocument(raw) {
|
|
98
|
+
const normalized = normalizeLineEndings(raw);
|
|
99
|
+
const headerPattern = new RegExp(`^<!-- ${GENERATED_AGENT_PROVENANCE_MARKER}\\n([\\s\\S]*?)\\n-->\\n?`);
|
|
100
|
+
const match = normalized.match(headerPattern);
|
|
101
|
+
if (!match) return { content: normalized };
|
|
102
|
+
return {
|
|
103
|
+
provenance: parseProvenanceBlock(match[1]),
|
|
104
|
+
content: normalized.slice(match[0].length)
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
function stripGeneratedAgentProvenance(raw) {
|
|
108
|
+
return parseGeneratedAgentDocument(raw).content;
|
|
109
|
+
}
|
|
110
|
+
function serializeGeneratedAgentDocument(content, provenance) {
|
|
111
|
+
const normalizedContent = normalizeGeneratedAgentContent(content);
|
|
112
|
+
return `${[
|
|
113
|
+
`<!-- ${GENERATED_AGENT_PROVENANCE_MARKER}`,
|
|
114
|
+
`version=${provenance.version}`,
|
|
115
|
+
`sourceKind=${provenance.sourceKind}`,
|
|
116
|
+
`sourceHash=${provenance.sourceHash}`,
|
|
117
|
+
`settingsHash=${provenance.settingsHash}`,
|
|
118
|
+
`outputHash=${provenance.outputHash}`,
|
|
119
|
+
`generatedAt=${provenance.generatedAt}`,
|
|
120
|
+
"-->",
|
|
121
|
+
normalizedContent
|
|
122
|
+
].join("\n")}\n`;
|
|
123
|
+
}
|
|
124
|
+
|
|
49
125
|
//#endregion
|
|
50
126
|
//#region src/search.ts
|
|
51
127
|
const DEFAULT_SEARCH_LIMIT = 10;
|
|
@@ -717,4 +793,4 @@ function createCustomSearchAdapter(adapter) {
|
|
|
717
793
|
}
|
|
718
794
|
|
|
719
795
|
//#endregion
|
|
720
|
-
export { createSimpleSearchAdapter as a, resolveSearchRequestConfig as c, createMcpSearchAdapter as i,
|
|
796
|
+
export { renderDocsRelatedMarkdownLines as _, createSimpleSearchAdapter as a, resolveSearchRequestConfig as c, hashGeneratedAgentContent as d, normalizeGeneratedAgentContent as f, normalizeDocsRelated as g, stripGeneratedAgentProvenance as h, createMcpSearchAdapter as i, GENERATED_AGENT_PROVENANCE_MARKER as l, serializeGeneratedAgentDocument as m, createAlgoliaSearchAdapter as n, createTypesenseSearchAdapter as o, parseGeneratedAgentDocument as p, createCustomSearchAdapter as r, performDocsSearch as s, buildDocsSearchDocuments as t, GENERATED_AGENT_PROVENANCE_VERSION as u };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as McpDocsSearchConfig, C as DocsSearchAdapter, D as DocsSearchConfig, E as DocsSearchChunkingConfig, N as DocsSearchSourcePage, O as DocsSearchDocument, T as DocsSearchAdapterFactory, d as CustomDocsSearchConfig, j as DocsSearchResult, ot as TypesenseDocsSearchConfig, r as AlgoliaDocsSearchConfig } from "./types-
|
|
1
|
+
import { B as McpDocsSearchConfig, C as DocsSearchAdapter, D as DocsSearchConfig, E as DocsSearchChunkingConfig, N as DocsSearchSourcePage, O as DocsSearchDocument, T as DocsSearchAdapterFactory, d as CustomDocsSearchConfig, j as DocsSearchResult, ot as TypesenseDocsSearchConfig, r as AlgoliaDocsSearchConfig } from "./types-Cl6WPIHa.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/search.d.ts
|
|
4
4
|
declare function buildDocsSearchDocuments(pages: DocsSearchSourcePage[], chunking?: DocsSearchChunkingConfig): DocsSearchDocument[];
|
package/dist/server.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { A as DocsSearchQuery, B as McpDocsSearchConfig, C as DocsSearchAdapter, D as DocsSearchConfig, N as DocsSearchSourcePage, O as DocsSearchDocument, T as DocsSearchAdapterFactory, a as ApiReferenceRenderer, j as DocsSearchResult, m as DocsConfig, w as DocsSearchAdapterContext } from "./types-
|
|
1
|
+
import { A as DocsSearchQuery, B as McpDocsSearchConfig, C as DocsSearchAdapter, D as DocsSearchConfig, N as DocsSearchSourcePage, O as DocsSearchDocument, T as DocsSearchAdapterFactory, a as ApiReferenceRenderer, j as DocsSearchResult, m as DocsConfig, w as DocsSearchAdapterContext } from "./types-Cl6WPIHa.mjs";
|
|
2
2
|
import { DocsMcpHttpHandlers, DocsMcpNavigationNode, DocsMcpNavigationTree, DocsMcpPage, DocsMcpResolvedConfig, DocsMcpSource, createDocsMcpHttpHandler, createDocsMcpServer, createFilesystemDocsMcpSource, normalizeDocsMcpRoute, resolveDocsMcpConfig, runDocsMcpStdio } from "./mcp.mjs";
|
|
3
|
-
import { a as createSimpleSearchAdapter, c as resolveSearchRequestConfig, i as createMcpSearchAdapter, n as createAlgoliaSearchAdapter, o as createTypesenseSearchAdapter, r as createCustomSearchAdapter, s as performDocsSearch, t as buildDocsSearchDocuments } from "./search-
|
|
3
|
+
import { a as createSimpleSearchAdapter, c as resolveSearchRequestConfig, i as createMcpSearchAdapter, n as createAlgoliaSearchAdapter, o as createTypesenseSearchAdapter, r as createCustomSearchAdapter, s as performDocsSearch, t as buildDocsSearchDocuments } from "./search-KMMtXPTi.mjs";
|
|
4
4
|
|
|
5
5
|
//#region src/api-reference.d.ts
|
|
6
6
|
type HttpMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD";
|
package/dist/server.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as createSimpleSearchAdapter, c as resolveSearchRequestConfig, i as createMcpSearchAdapter, n as createAlgoliaSearchAdapter, o as createTypesenseSearchAdapter, r as createCustomSearchAdapter, s as performDocsSearch, t as buildDocsSearchDocuments } from "./search-
|
|
2
|
-
import { a as buildApiReferencePageTitle, c as resolveApiReferenceRenderer, i as buildApiReferenceOpenApiDocumentAsync, n as buildApiReferenceHtmlDocumentAsync, o as buildApiReferenceScalarCss, r as buildApiReferenceOpenApiDocument, s as resolveApiReferenceConfig, t as buildApiReferenceHtmlDocument } from "./api-reference-
|
|
1
|
+
import { a as createSimpleSearchAdapter, c as resolveSearchRequestConfig, i as createMcpSearchAdapter, n as createAlgoliaSearchAdapter, o as createTypesenseSearchAdapter, r as createCustomSearchAdapter, s as performDocsSearch, t as buildDocsSearchDocuments } from "./search-Cu_pxL8o.mjs";
|
|
2
|
+
import { a as buildApiReferencePageTitle, c as resolveApiReferenceRenderer, i as buildApiReferenceOpenApiDocumentAsync, n as buildApiReferenceHtmlDocumentAsync, o as buildApiReferenceScalarCss, r as buildApiReferenceOpenApiDocument, s as resolveApiReferenceConfig, t as buildApiReferenceHtmlDocument } from "./api-reference-GDAEzQn1.mjs";
|
|
3
3
|
import { createDocsMcpHttpHandler, createDocsMcpServer, createFilesystemDocsMcpSource, normalizeDocsMcpRoute, resolveDocsMcpConfig, runDocsMcpStdio } from "./mcp.mjs";
|
|
4
4
|
|
|
5
5
|
export { buildApiReferenceHtmlDocument, buildApiReferenceHtmlDocumentAsync, buildApiReferenceOpenApiDocument, buildApiReferenceOpenApiDocumentAsync, buildApiReferencePageTitle, buildApiReferenceScalarCss, buildDocsSearchDocuments, createAlgoliaSearchAdapter, createCustomSearchAdapter, createDocsMcpHttpHandler, createDocsMcpServer, createFilesystemDocsMcpSource, createMcpSearchAdapter, createSimpleSearchAdapter, createTypesenseSearchAdapter, normalizeDocsMcpRoute, performDocsSearch, resolveApiReferenceConfig, resolveApiReferenceRenderer, resolveDocsMcpConfig, resolveSearchRequestConfig, runDocsMcpStdio };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as installCommand, i as detectPackageManagerFromLockfile, o as exec, s as fileExists, t as detectFramework } from "./utils-
|
|
1
|
+
import { c as installCommand, i as detectPackageManagerFromLockfile, o as exec, s as fileExists, t as detectFramework } from "./utils-CpTFbAiS.mjs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import pc from "picocolors";
|
|
4
4
|
import * as p from "@clack/prompts";
|