@farming-labs/docs 0.2.72 → 0.2.74
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-pS2nNQS3.mjs → agent-BJ0KXN-A.mjs} +583 -765
- package/dist/{agent-DbDfIqhe.mjs → agent-D0LEY2Vy.mjs} +4 -3
- package/dist/{agent-evals-CjYzCQMZ.mjs → agent-evals-LIScgQVm.mjs} +86 -43
- package/dist/{agent-export-CpQhD8eA.mjs → agent-export-B92pNe6g.mjs} +12 -11
- package/dist/agent-skills-bundle.d.mts +1 -1
- package/dist/{agent-skills-server-DZnNB4_S.d.mts → agent-skills-server-BqvIGQb1.d.mts} +2 -2
- package/dist/{agent-skills-server-BPVv4gMg.mjs → agent-skills-server-noFn1l_p.mjs} +1 -1
- package/dist/agent-skills-vite.d.mts +3 -3
- package/dist/agent-skills-vite.mjs +2 -2
- package/dist/{agents-B-1h9Jlm.mjs → agents-C228QGbp.mjs} +10 -9
- package/dist/cli/index.mjs +34 -30
- package/dist/client/react.d.mts +1 -1
- package/dist/{cloud-ask-ai-D9gIN4Vr.d.mts → cloud-ask-ai-6X9pVjIY.d.mts} +1 -1
- package/dist/{cloud-CyysfDny.mjs → cloud-pdNC-tyj.mjs} +3 -3
- package/dist/{codeblocks-DAj7EAwt.mjs → codeblocks-CFuurVIH.mjs} +2 -2
- package/dist/{dev-qE7MYEh9.mjs → dev-Cc1cFFj-.mjs} +2 -2
- package/dist/docs-cloud-server.d.mts +2 -2
- package/dist/docs-cloud-server.mjs +1 -1
- package/dist/{doctor-CBy8-tPu.mjs → doctor-CgrUZ3tY.mjs} +15 -14
- package/dist/{downgrade-DCxezPZI.mjs → downgrade-w7e6Se0L.mjs} +2 -2
- package/dist/{golden-evaluations-DGg_eHIY.mjs → golden-evaluations-DTEPZeb0.mjs} +4 -3
- package/dist/index.d.mts +72 -6
- package/dist/index.mjs +9 -8
- package/dist/{init-p1MHf06G.mjs → init-DAkI0Lkf.mjs} +3 -3
- package/dist/markdown-rendering.d.mts +75 -0
- package/dist/markdown-rendering.mjs +618 -0
- package/dist/markdown-sections-7OoA7ylx.mjs +1492 -0
- package/dist/{mcp-BNK45dzD.mjs → mcp-YD37HlPY.mjs} +12 -9
- package/dist/mcp.d.mts +13 -2
- package/dist/mcp.mjs +121 -60
- package/dist/{metadata-D6qlWDu-.mjs → metadata-N252j5_a.mjs} +1 -1
- package/dist/{package-version-BXHcIm1T.mjs → package-version-n5AFur8a.mjs} +1 -1
- package/dist/{reading-time-DvTuW2Iy.mjs → prompt-references-BIS1eXt4.mjs} +158 -4
- package/dist/{search-1aftosa5.d.mts → retrieval-digest-9Kp3uSaZ.d.mts} +69 -5
- package/dist/{review-Cace7A2c.mjs → review-Dbzkdl6K.mjs} +10 -9
- package/dist/{robots-DmE_wXvG.mjs → robots-DUO0r4UI.mjs} +6 -5
- package/dist/{robots-C2SindI5.mjs → robots-RbgmSvPH.mjs} +2 -2
- package/dist/{search-BbArHODP.mjs → search-DIyIl-tE.mjs} +1288 -149
- package/dist/{search-DB3svkNQ.mjs → search-hcqaEZVN.mjs} +66 -27
- package/dist/server.d.mts +5 -5
- package/dist/server.mjs +10 -9
- package/dist/{sitemap-DPTLh_26.mjs → sitemap-jhkS_jYx.mjs} +10 -9
- package/dist/{sitemap-server-PUoOhplO.mjs → sitemap-server-BfyBM7_V.mjs} +1 -1
- package/dist/{standards-discovery-CYfiQE13.mjs → standards-discovery-BwL5ffGx.mjs} +4 -3
- package/dist/{standards-discovery-DRJ10g7B.d.mts → standards-discovery-CdrOE-05.d.mts} +5 -4
- package/dist/{types-B9DNNAdT.d.mts → types-clg5J1R4.d.mts} +60 -1
- package/dist/{upgrade-DDJQ5l6n.mjs → upgrade-oz-GChgt.mjs} +2 -2
- package/package.json +9 -1
- /package/dist/{cloud-ask-ai-hnJfj8-X.mjs → cloud-ask-ai-sbpjOR2K.mjs} +0 -0
- /package/dist/{code-blocks-qe0T8-xe.mjs → code-blocks-DnNVNK2M.mjs} +0 -0
- /package/dist/{config-z7_R0f86.mjs → config-Wcdj-D0a.mjs} +0 -0
- /package/dist/{errors-Cc_qplZU.mjs → errors-DbOhkE1h.mjs} +0 -0
- /package/dist/{i18n-CCaFUnAN.mjs → i18n-hHVWcflJ.mjs} +0 -0
- /package/dist/{templates-BJnf6B8l.mjs → templates-C6avM0U3.mjs} +0 -0
- /package/dist/{utils-C4RC8Zq_.mjs → utils-DpiIioYb.mjs} +0 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { B as findDocsMarkdownPage,
|
|
2
|
-
import {
|
|
1
|
+
import { B as findDocsMarkdownPage, at as renderDocsMarkdownDocument } from "./agent-BJ0KXN-A.mjs";
|
|
2
|
+
import { v as normalizePageAgentFrontmatter, x as stripGeneratedPageAgentContractMarkdown } from "./markdown-sections-7OoA7ylx.mjs";
|
|
3
|
+
import { F as serializeGeneratedAgentDocument, M as hashGeneratedAgentContent, P as parseGeneratedAgentDocument, j as GENERATED_AGENT_PROVENANCE_VERSION } from "./search-DIyIl-tE.mjs";
|
|
3
4
|
import { createFilesystemDocsMcpSource } from "./mcp.mjs";
|
|
4
|
-
import { _ as resolveDocsContentDir, a as loadDocsConfigModule, c as loadProjectEnv, d as readNavTitle, f as readNumberProperty, g as resolveDocsConfigPath, h as readTopLevelStringProperty, l as readBooleanProperty, p as readStringProperty, t as extractNestedObjectLiteral, u as readEnvReferenceProperty } from "./config-
|
|
5
|
+
import { _ as resolveDocsContentDir, a as loadDocsConfigModule, c as loadProjectEnv, d as readNavTitle, f as readNumberProperty, g as resolveDocsConfigPath, h as readTopLevelStringProperty, l as readBooleanProperty, p as readStringProperty, t as extractNestedObjectLiteral, u as readEnvReferenceProperty } from "./config-Wcdj-D0a.mjs";
|
|
5
6
|
import { createRequire } from "node:module";
|
|
6
7
|
import matter from "gray-matter";
|
|
7
8
|
import { existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync } from "node:fs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { C as normalizeAgentVersion,
|
|
1
|
+
import { S as upsertPageAgentContractMarkdown, l as stripDocsGeneratedAgentContractMarkers, o as findDocsMarkdownSection } from "./markdown-sections-7OoA7ylx.mjs";
|
|
2
|
+
import { C as agentVersionConstraintsOverlap, D as normalizeAgentVersion, E as normalizeAgentScopeValues, S as agentVersionConstraintMatches, T as normalizeAgentLocale, b as resolveSearchRequestConfig, f as normalizeDocsSearchFilters, p as performDocsSearch, t as buildDocsAskAIContext, w as normalizeAgentFramework, x as agentVersionConstraintGroupsOverlap } from "./search-DIyIl-tE.mjs";
|
|
3
3
|
import { buildDocsMcpContext } from "./mcp.mjs";
|
|
4
|
-
import { i as validateCodeBlockPlans, n as planCodeBlockTargets, r as resolveDocsCodeBlocksValidateConfig, t as extractCodeBlocksFromMarkdown } from "./code-blocks-
|
|
4
|
+
import { i as validateCodeBlockPlans, n as planCodeBlockTargets, r as resolveDocsCodeBlocksValidateConfig, t as extractCodeBlocksFromMarkdown } from "./code-blocks-DnNVNK2M.mjs";
|
|
5
5
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
6
6
|
import { dirname, isAbsolute, join, relative } from "node:path";
|
|
7
7
|
import { createJiti } from "jiti";
|
|
@@ -813,6 +813,7 @@ function safeDecode(value) {
|
|
|
813
813
|
function canonicalizeSource(value, baseUrl) {
|
|
814
814
|
const rawValue = value.trim();
|
|
815
815
|
let pathname;
|
|
816
|
+
let search;
|
|
816
817
|
let hash;
|
|
817
818
|
let origin = "";
|
|
818
819
|
try {
|
|
@@ -824,27 +825,38 @@ function canonicalizeSource(value, baseUrl) {
|
|
|
824
825
|
const base = configuredBase ?? new URL("https://docs.local");
|
|
825
826
|
const parsed = new URL(rawValue, base);
|
|
826
827
|
pathname = parsed.pathname;
|
|
828
|
+
search = parsed.search;
|
|
827
829
|
hash = parsed.hash;
|
|
828
830
|
const explicitlySchemed = /^[a-z][a-z\d+.-]*:/iu.test(rawValue);
|
|
829
831
|
if ((explicitlySchemed && (parsed.protocol === "http:" || parsed.protocol === "https:") || /^[\\/]{2}/u.test(rawValue)) && (!configuredBase || parsed.origin !== configuredBase.origin)) origin = parsed.origin;
|
|
830
832
|
if (explicitlySchemed && parsed.protocol !== "http:" && parsed.protocol !== "https:") origin = `${parsed.protocol}//${parsed.host}`;
|
|
831
833
|
} catch {
|
|
832
|
-
const
|
|
833
|
-
|
|
834
|
+
const hashIndex = rawValue.indexOf("#");
|
|
835
|
+
const pathAndQuery = hashIndex >= 0 ? rawValue.slice(0, hashIndex) : rawValue || "/";
|
|
836
|
+
const fragment = hashIndex >= 0 ? rawValue.slice(hashIndex + 1) : "";
|
|
837
|
+
const queryIndex = pathAndQuery.indexOf("?");
|
|
838
|
+
pathname = (queryIndex >= 0 ? pathAndQuery.slice(0, queryIndex) : pathAndQuery) || "/";
|
|
839
|
+
search = queryIndex >= 0 ? pathAndQuery.slice(queryIndex) : "";
|
|
834
840
|
hash = fragment ? `#${fragment}` : "";
|
|
835
841
|
}
|
|
836
842
|
pathname = pathname.replace(/\/{2,}/gu, "/").replace(/\.md$/iu, "");
|
|
837
843
|
if (pathname !== "/") pathname = pathname.replace(/\/+$/gu, "");
|
|
838
844
|
if (!pathname.startsWith("/")) pathname = `/${pathname}`;
|
|
839
|
-
const
|
|
840
|
-
|
|
845
|
+
const decodedHash = hash ? safeDecode(hash.slice(1)).trim() : "";
|
|
846
|
+
const normalizedHash = decodedHash ? `#${encodeURIComponent(decodedHash)}` : "";
|
|
847
|
+
return `${origin}${pathname || "/"}${search}${normalizedHash === "#" ? "" : normalizedHash}`;
|
|
841
848
|
}
|
|
842
849
|
function sourcePage(value) {
|
|
843
850
|
return canonicalizeSource(value).split("#", 1)[0] ?? "/";
|
|
844
851
|
}
|
|
845
852
|
function sourceMatches(actual, expected, baseUrl) {
|
|
846
|
-
|
|
853
|
+
let canonicalActual = canonicalizeSource(actual, baseUrl);
|
|
847
854
|
const canonicalExpected = canonicalizeSource(expected, baseUrl);
|
|
855
|
+
if (!(canonicalExpected.split("#", 1)[0] ?? canonicalExpected).includes("?")) {
|
|
856
|
+
const hashIndex = canonicalActual.indexOf("#");
|
|
857
|
+
const hash = hashIndex >= 0 ? canonicalActual.slice(hashIndex) : "";
|
|
858
|
+
canonicalActual = `${(hashIndex >= 0 ? canonicalActual.slice(0, hashIndex) : canonicalActual).split("?", 1)[0]}${hash}`;
|
|
859
|
+
}
|
|
848
860
|
return canonicalExpected.includes("#") ? canonicalActual === canonicalExpected : sourcePage(canonicalActual) === sourcePage(canonicalExpected);
|
|
849
861
|
}
|
|
850
862
|
function uniqueCanonicalSources(values, baseUrl) {
|
|
@@ -864,11 +876,14 @@ function getPageScope(page) {
|
|
|
864
876
|
return {
|
|
865
877
|
framework: Array.from(new Set([...topFramework, ...contractFramework])),
|
|
866
878
|
version: Array.from(new Set([...topVersion, ...contractVersion])),
|
|
879
|
+
versionGroups: [topVersion, contractVersion].filter((group) => group.length > 0),
|
|
867
880
|
package: packageValues,
|
|
868
881
|
tags,
|
|
869
882
|
locale,
|
|
870
883
|
frameworkAmbiguous: topFramework.length > 0 && contractFramework.length > 0 && !valuesOverlap(topFramework, contractFramework, (left, right) => left === right),
|
|
871
|
-
versionAmbiguous: topVersion.length > 0 && contractVersion.length > 0 && !valuesOverlap(topVersion, contractVersion, agentVersionConstraintsOverlap)
|
|
884
|
+
versionAmbiguous: topVersion.length > 0 && contractVersion.length > 0 && !valuesOverlap(topVersion, contractVersion, agentVersionConstraintsOverlap),
|
|
885
|
+
packageAmbiguous: false,
|
|
886
|
+
tagsAmbiguous: false
|
|
872
887
|
};
|
|
873
888
|
}
|
|
874
889
|
function compareCodePoints(left, right) {
|
|
@@ -891,7 +906,7 @@ function toGoldenSources(sources, relevantSources, baseUrl) {
|
|
|
891
906
|
}
|
|
892
907
|
function toContextCandidates(sources, pagesByUrl) {
|
|
893
908
|
return sources.flatMap((source) => {
|
|
894
|
-
const page = pagesByUrl
|
|
909
|
+
const page = findPageForSource(pagesByUrl, source.pageUrl);
|
|
895
910
|
if (!page) return [];
|
|
896
911
|
return [{
|
|
897
912
|
page,
|
|
@@ -934,23 +949,40 @@ function extractRenderedCitations(context, sources) {
|
|
|
934
949
|
blockUtf8Bytes
|
|
935
950
|
};
|
|
936
951
|
}
|
|
952
|
+
function getPageAgentSectionMarkdown(page) {
|
|
953
|
+
return upsertPageAgentContractMarkdown(page.agentRawContent ?? page.agentFallbackRawContent ?? page.agentContent ?? page.agentFallbackContent ?? page.rawContent ?? page.content, page.agent);
|
|
954
|
+
}
|
|
955
|
+
function cleanPageAgentContractMarkers(markdown, sourceMarkdown, startLine) {
|
|
956
|
+
return sourceMarkdown && startLine ? stripDocsGeneratedAgentContractMarkers(markdown, {
|
|
957
|
+
sourceMarkdown,
|
|
958
|
+
startLine
|
|
959
|
+
}) : stripDocsGeneratedAgentContractMarkers(markdown);
|
|
960
|
+
}
|
|
937
961
|
function getPageAgentMarkdown(page) {
|
|
938
|
-
return page
|
|
962
|
+
return cleanPageAgentContractMarkers(getPageAgentSectionMarkdown(page));
|
|
939
963
|
}
|
|
940
964
|
function findPageForSource(pagesByUrl, value) {
|
|
941
|
-
|
|
965
|
+
const canonicalPage = sourcePage(value);
|
|
966
|
+
return pagesByUrl.get(canonicalPage) ?? pagesByUrl.get(canonicalPage.split("?", 1)[0] ?? "/");
|
|
942
967
|
}
|
|
943
968
|
function getResultAnchor(value) {
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
969
|
+
const canonical = canonicalizeSource(value);
|
|
970
|
+
const hashIndex = canonical.indexOf("#");
|
|
971
|
+
return (hashIndex >= 0 ? canonical.slice(hashIndex + 1) : "") || void 0;
|
|
972
|
+
}
|
|
973
|
+
/** @internal */
|
|
974
|
+
function hydrateDocsEvaluationSearchSource(result, index, pagesByUrl, contentMode, baseUrl) {
|
|
975
|
+
const normalizedTransportUrl = canonicalizeSource(result.url, baseUrl);
|
|
976
|
+
const normalizedResultUrl = canonicalizeSource(result.source?.canonicalUrl ?? result.url, baseUrl);
|
|
977
|
+
const page = findPageForSource(pagesByUrl, normalizedResultUrl) ?? findPageForSource(pagesByUrl, normalizedTransportUrl);
|
|
978
|
+
const anchor = getResultAnchor(result.source?.canonicalUrl ?? result.url);
|
|
950
979
|
const section = anchor ?? result.section;
|
|
951
|
-
const
|
|
952
|
-
const
|
|
980
|
+
const sectionMarkdown = page ? getPageAgentSectionMarkdown(page) : void 0;
|
|
981
|
+
const pageSection = sectionMarkdown && section ? findDocsMarkdownSection(sectionMarkdown, section) : void 0;
|
|
982
|
+
if (contentMode === "page-section" && page && section && !pageSection) return void 0;
|
|
983
|
+
const content = contentMode === "page-section" && page ? cleanPageAgentContractMarkers(pageSection?.content ?? getPageAgentMarkdown(page), pageSection ? sectionMarkdown : void 0, pageSection?.startLine).trim() : [result.content, result.description].filter(Boolean).join("\n\n").trim();
|
|
953
984
|
const scope = page ? getPageScope(page) : void 0;
|
|
985
|
+
const provenanceScope = result.source?.scope;
|
|
954
986
|
const url = normalizedResultUrl;
|
|
955
987
|
return {
|
|
956
988
|
id: result.id || `evaluation-result-${index + 1}`,
|
|
@@ -960,12 +992,13 @@ function hydrateSearchSource(result, index, pagesByUrl, contentMode, baseUrl) {
|
|
|
960
992
|
section: pageSection?.title ?? result.section,
|
|
961
993
|
anchor: pageSection?.anchor ?? anchor,
|
|
962
994
|
sourcePath: page?.sourcePath,
|
|
963
|
-
lastModified: page?.lastModified,
|
|
964
|
-
locale: scope?.locale[0],
|
|
965
|
-
framework: scope?.framework[0],
|
|
966
|
-
version: scope?.version[0],
|
|
967
|
-
package: scope?.package.length ? [...scope.package] : void 0,
|
|
968
|
-
tags: scope?.tags.length ? [...scope.tags] : void 0,
|
|
995
|
+
lastModified: result.source?.lastModified ?? page?.lastModified,
|
|
996
|
+
locale: scope?.locale[0] ?? provenanceScope?.locale?.[0],
|
|
997
|
+
framework: scope?.framework[0] ?? provenanceScope?.framework?.[0],
|
|
998
|
+
version: scope?.version[0] ?? provenanceScope?.version?.[0],
|
|
999
|
+
package: scope?.package.length ? [...scope.package] : provenanceScope?.package?.length ? [...provenanceScope.package] : void 0,
|
|
1000
|
+
tags: scope?.tags.length ? [...scope.tags] : provenanceScope?.tags?.length ? [...provenanceScope.tags] : void 0,
|
|
1001
|
+
source: result.source,
|
|
969
1002
|
score: result.score,
|
|
970
1003
|
content,
|
|
971
1004
|
chars: content.length,
|
|
@@ -1155,9 +1188,12 @@ function parseAskAIContextSources(options) {
|
|
|
1155
1188
|
integrity = false;
|
|
1156
1189
|
continue;
|
|
1157
1190
|
}
|
|
1158
|
-
const
|
|
1191
|
+
const headerLines = block.slice(0, contentStart).split(/\r?\n/u);
|
|
1192
|
+
const urlLines = headerLines.map((line) => line.match(/^URL:\s+(.+)$/u)?.[1]?.trim()).filter((value) => Boolean(value));
|
|
1193
|
+
const canonicalUrlLines = headerLines.map((line) => line.match(/^Canonical URL:\s+(.+)$/u)?.[1]?.trim()).filter((value) => Boolean(value));
|
|
1159
1194
|
if (urlLines.length !== 1) integrity = false;
|
|
1160
|
-
|
|
1195
|
+
if (canonicalUrlLines.length > 1) integrity = false;
|
|
1196
|
+
const url = canonicalizeSource(canonicalUrlLines[0] ?? urlLines[0] ?? "/", options.baseUrl);
|
|
1161
1197
|
const expected = options.results[index];
|
|
1162
1198
|
if (!expected || !sourceMatches(url, expected.url) || canonicalizeSource(expected.url) !== url) integrity = false;
|
|
1163
1199
|
const content = block.slice(contentStart + 2);
|
|
@@ -1201,7 +1237,8 @@ async function buildGoldenSurface(options) {
|
|
|
1201
1237
|
package: options.task.filters?.package,
|
|
1202
1238
|
tags: options.task.filters?.tags,
|
|
1203
1239
|
locale: options.task.filters?.locale,
|
|
1204
|
-
maxResults: options.topK
|
|
1240
|
+
maxResults: options.topK,
|
|
1241
|
+
baseUrl: options.runOptions.baseUrl
|
|
1205
1242
|
};
|
|
1206
1243
|
const [rankedContext, budgetedContext] = await Promise.all([buildDocsMcpContext({
|
|
1207
1244
|
...contextOptions,
|
|
@@ -1254,7 +1291,7 @@ async function buildGoldenSurface(options) {
|
|
|
1254
1291
|
signal
|
|
1255
1292
|
})
|
|
1256
1293
|
});
|
|
1257
|
-
const rankedSources = results.slice(0, options.topK).map((result, index) =>
|
|
1294
|
+
const rankedSources = results.slice(0, options.topK).map((result, index) => hydrateDocsEvaluationSearchSource(result, index, pagesByUrl, "result", options.runOptions.baseUrl)).filter((source) => Boolean(source));
|
|
1258
1295
|
return {
|
|
1259
1296
|
surface,
|
|
1260
1297
|
provider,
|
|
@@ -1273,7 +1310,7 @@ async function buildGoldenSurface(options) {
|
|
|
1273
1310
|
citationEvidence: {
|
|
1274
1311
|
mode: "results",
|
|
1275
1312
|
actual: rankedSources.map((source) => canonicalizeSource(source.url)),
|
|
1276
|
-
integrity: rankedSources.every((source, index) => source.url === canonicalizeSource(results[index]?.url ?? "", options.runOptions.baseUrl))
|
|
1313
|
+
integrity: rankedSources.every((source, index) => source.url === canonicalizeSource(results[index]?.source?.canonicalUrl ?? results[index]?.url ?? "", options.runOptions.baseUrl))
|
|
1277
1314
|
}
|
|
1278
1315
|
};
|
|
1279
1316
|
}
|
|
@@ -1300,8 +1337,8 @@ async function buildGoldenSurface(options) {
|
|
|
1300
1337
|
signal
|
|
1301
1338
|
})
|
|
1302
1339
|
});
|
|
1303
|
-
const rankedSources = askAI.searchResults.slice(0, options.topK).map((result, index) =>
|
|
1304
|
-
const resultSources = askAI.results.map((result, index) =>
|
|
1340
|
+
const rankedSources = askAI.searchResults.slice(0, options.topK).map((result, index) => hydrateDocsEvaluationSearchSource(result, index, pagesByUrl, "result", options.runOptions.baseUrl)).filter((source) => Boolean(source));
|
|
1341
|
+
const resultSources = askAI.results.map((result, index) => hydrateDocsEvaluationSearchSource(result, index, pagesByUrl, "page-section", options.runOptions.baseUrl));
|
|
1305
1342
|
const parsed = parseAskAIContextSources({
|
|
1306
1343
|
context: askAI.context,
|
|
1307
1344
|
blocks: askAI.blocks.map((block) => block.text),
|
|
@@ -1947,14 +1984,20 @@ function buildSelectionMetrics(task, sources, pagesByUrl) {
|
|
|
1947
1984
|
const locale = expectedLocale ? normalizeAgentLocale(expectedLocale) : void 0;
|
|
1948
1985
|
const candidates = sources.map((source) => {
|
|
1949
1986
|
const page = findPageForSource(pagesByUrl, source.pageUrl || source.url);
|
|
1987
|
+
const provenance = source.source?.scope;
|
|
1988
|
+
const conflicts = new Set(provenance?.conflicts ?? []);
|
|
1989
|
+
const truncated = new Set(provenance?.truncated ?? []);
|
|
1950
1990
|
const scope = page ? getPageScope(page) : {
|
|
1951
|
-
framework: normalizeAgentScopeValues(source.framework).map(normalizeAgentFramework),
|
|
1952
|
-
version: normalizeAgentScopeValues(source.version).map(normalizeAgentVersion),
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1991
|
+
framework: Array.from(new Set([...normalizeAgentScopeValues(source.framework), ...provenance?.framework ?? []].map(normalizeAgentFramework))),
|
|
1992
|
+
version: Array.from(new Set([...normalizeAgentScopeValues(source.version), ...provenance?.version ?? []].map(normalizeAgentVersion))),
|
|
1993
|
+
versionGroups: provenance?.versionGroups?.map((group) => group.map(normalizeAgentVersion)),
|
|
1994
|
+
package: normalizeDocsSearchFilters({ package: provenance?.package?.length ? provenance.package : source.package }).package ?? [],
|
|
1995
|
+
tags: normalizeDocsSearchFilters({ tags: provenance?.tags?.length ? provenance.tags : source.tags }).tags ?? [],
|
|
1996
|
+
locale: Array.from(new Set([...normalizeAgentScopeValues(source.locale), ...provenance?.locale ?? []].map(normalizeAgentLocale))),
|
|
1997
|
+
frameworkAmbiguous: conflicts.has("framework") || truncated.has("framework"),
|
|
1998
|
+
versionAmbiguous: conflicts.has("version") || truncated.has("version"),
|
|
1999
|
+
packageAmbiguous: conflicts.has("package") || truncated.has("package"),
|
|
2000
|
+
tagsAmbiguous: conflicts.has("tags") || truncated.has("tags")
|
|
1958
2001
|
};
|
|
1959
2002
|
return {
|
|
1960
2003
|
source: canonicalizeSource(source.url),
|
|
@@ -1962,12 +2005,12 @@ function buildSelectionMetrics(task, sources, pagesByUrl) {
|
|
|
1962
2005
|
};
|
|
1963
2006
|
});
|
|
1964
2007
|
const firstFrameworkMatchRank = framework ? candidates.findIndex((candidate) => candidate.scope.framework.includes(framework)) + 1 || null : null;
|
|
1965
|
-
const firstVersionMatchRank = expectedVersion ? candidates.findIndex((candidate) => candidate.scope.version.some((version) => agentVersionConstraintMatches(expectedVersion, version))) + 1 || null : null;
|
|
2008
|
+
const firstVersionMatchRank = expectedVersion ? candidates.findIndex((candidate) => candidate.scope.versionGroups?.length ? agentVersionConstraintGroupsOverlap([[normalizeAgentVersion(expectedVersion)], ...candidate.scope.versionGroups]) : candidate.scope.version.some((version) => agentVersionConstraintMatches(expectedVersion, version))) + 1 || null : null;
|
|
1966
2009
|
const firstPackageMatchRank = expectedSearchScope.package ? candidates.findIndex((candidate) => valuesOverlap(expectedSearchScope.package ?? [], candidate.scope.package, (left, right) => left === right)) + 1 || null : null;
|
|
1967
2010
|
const firstTagsMatchRank = expectedSearchScope.tags ? candidates.findIndex((candidate) => valuesOverlap(expectedSearchScope.tags ?? [], candidate.scope.tags, (left, right) => left === right)) + 1 || null : null;
|
|
1968
2011
|
const firstLocaleMatchRank = locale ? candidates.findIndex((candidate) => candidate.scope.locale.includes(locale)) + 1 || null : null;
|
|
1969
|
-
const conflictingSources = candidates.filter((candidate) => framework && candidate.scope.framework.length > 0 && !candidate.scope.framework.includes(framework) || expectedVersion && candidate.scope.version.length > 0 && !candidate.scope.version.some((version) => agentVersionConstraintMatches(expectedVersion, version)) || expectedSearchScope.package && candidate.scope.package.length > 0 && !valuesOverlap(expectedSearchScope.package, candidate.scope.package, (left, right) => left === right) || expectedSearchScope.tags && candidate.scope.tags.length > 0 && !valuesOverlap(expectedSearchScope.tags, candidate.scope.tags, (left, right) => left === right) || locale && candidate.scope.locale.length > 0 && !candidate.scope.locale.includes(locale)).map((candidate) => candidate.source);
|
|
1970
|
-
const ambiguousSources = candidates.filter((candidate) => candidate.scope.frameworkAmbiguous || candidate.scope.versionAmbiguous || Boolean(framework && candidate.scope.framework.length === 0) || Boolean(expectedVersion && candidate.scope.version.length === 0) || Boolean(expectedSearchScope.package && candidate.scope.package.length === 0) || Boolean(expectedSearchScope.tags && candidate.scope.tags.length === 0) || Boolean(locale && candidate.scope.locale.length === 0)).map((candidate) => candidate.source);
|
|
2012
|
+
const conflictingSources = candidates.filter((candidate) => framework && candidate.scope.framework.length > 0 && !candidate.scope.framework.includes(framework) || expectedVersion && candidate.scope.version.length > 0 && !(candidate.scope.versionGroups?.length ? agentVersionConstraintGroupsOverlap([[normalizeAgentVersion(expectedVersion)], ...candidate.scope.versionGroups]) : candidate.scope.version.some((version) => agentVersionConstraintMatches(expectedVersion, version))) || expectedSearchScope.package && candidate.scope.package.length > 0 && !valuesOverlap(expectedSearchScope.package, candidate.scope.package, (left, right) => left === right) || expectedSearchScope.tags && candidate.scope.tags.length > 0 && !valuesOverlap(expectedSearchScope.tags, candidate.scope.tags, (left, right) => left === right) || locale && candidate.scope.locale.length > 0 && !candidate.scope.locale.includes(locale)).map((candidate) => candidate.source);
|
|
2013
|
+
const ambiguousSources = candidates.filter((candidate) => candidate.scope.frameworkAmbiguous || candidate.scope.versionAmbiguous || Boolean(expectedSearchScope.package && candidate.scope.packageAmbiguous) || Boolean(expectedSearchScope.tags && candidate.scope.tagsAmbiguous) || Boolean(framework && candidate.scope.framework.length === 0) || Boolean(expectedVersion && candidate.scope.version.length === 0) || Boolean(expectedSearchScope.package && candidate.scope.package.length === 0) || Boolean(expectedSearchScope.tags && candidate.scope.tags.length === 0) || Boolean(locale && candidate.scope.locale.length === 0)).map((candidate) => candidate.source);
|
|
1971
2014
|
const frameworkPassed = !framework || firstFrameworkMatchRank !== null;
|
|
1972
2015
|
const versionPassed = !expectedVersion || firstVersionMatchRank !== null;
|
|
1973
2016
|
const packagePassed = !expectedSearchScope.package || firstPackageMatchRank !== null;
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { A as buildDocsAgentDiscoverySpec, Bt as
|
|
2
|
-
import
|
|
3
|
-
import "./
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import "./
|
|
7
|
-
import "./
|
|
1
|
+
import { A as buildDocsAgentDiscoverySpec, Bt as renderDocsSitemapMarkdown, Ht as resolveDocsSitemapConfig, Lt as buildDocsSitemapManifest, S as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, Vt as renderDocsSitemapXml, a as DEFAULT_AGENT_MD_ROUTE, at as renderDocsMarkdownDocument, c as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, g as DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, h as DEFAULT_LLMS_FULL_TXT_ROUTE, it as renderDocsLlmsTxt, l as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, lt as resolveDocsAgentFeedbackConfig, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, o as DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, rt as renderDocsAgentsDocument, st as renderDocsSkillDocument, t as DEFAULT_AGENTS_MD_ROUTE, v as DEFAULT_LLMS_TXT_ROUTE, wt as toDocsMarkdownUrl, x as DEFAULT_SKILL_MD_ROUTE, y as DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE } from "./agent-BJ0KXN-A.mjs";
|
|
2
|
+
import "./markdown-sections-7OoA7ylx.mjs";
|
|
3
|
+
import { A as buildDocsLegacySkillsIndex, D as buildDocsA2AAgentCard, L as resolveDocsPublishedAgentSkill, O as buildDocsAgentSkillsIndex, a as DEFAULT_A2A_AGENT_CARD_ROUTE, b as DEFAULT_LEGACY_SKILLS_INDEX_ROUTE, f as DEFAULT_AGENT_SKILLS_ROUTE_PREFIX, u as DEFAULT_AGENT_SKILLS_INDEX_ROUTE, x as DEFAULT_LEGACY_SKILLS_ROUTE_PREFIX } from "./standards-discovery-BwL5ffGx.mjs";
|
|
4
|
+
import "./search-DIyIl-tE.mjs";
|
|
5
|
+
import { t as resolveDocsI18n } from "./i18n-hHVWcflJ.mjs";
|
|
6
|
+
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-RbgmSvPH.mjs";
|
|
7
|
+
import "./sitemap-server-BfyBM7_V.mjs";
|
|
8
|
+
import "./agent-evals-LIScgQVm.mjs";
|
|
8
9
|
import { createFilesystemDocsMcpSource, resolveDocsMcpConfig } from "./mcp.mjs";
|
|
9
|
-
import "./code-blocks-
|
|
10
|
-
import { t as resolveConfiguredAgentSkills } from "./agent-skills-server-
|
|
10
|
+
import "./code-blocks-DnNVNK2M.mjs";
|
|
11
|
+
import { t as resolveConfiguredAgentSkills } from "./agent-skills-server-noFn1l_p.mjs";
|
|
11
12
|
import "./server.mjs";
|
|
12
|
-
import { _ as resolveDocsContentDir, a as loadDocsConfigModule, d as readNavTitle, g as resolveDocsConfigPath, h as readTopLevelStringProperty, l as readBooleanProperty, m as readTopLevelBooleanProperty, p as readStringProperty, r as extractTopLevelConfigObject, t as extractNestedObjectLiteral } from "./config-
|
|
13
|
-
import { t as detectFramework } from "./utils-
|
|
13
|
+
import { _ as resolveDocsContentDir, a as loadDocsConfigModule, d as readNavTitle, g as resolveDocsConfigPath, h as readTopLevelStringProperty, l as readBooleanProperty, m as readTopLevelBooleanProperty, p as readStringProperty, r as extractTopLevelConfigObject, t as extractNestedObjectLiteral } from "./config-Wcdj-D0a.mjs";
|
|
14
|
+
import { t as detectFramework } from "./utils-DpiIioYb.mjs";
|
|
14
15
|
import { existsSync, lstatSync, mkdirSync, readFileSync, realpathSync, renameSync, rmSync, writeFileSync } from "node:fs";
|
|
15
16
|
import path from "node:path";
|
|
16
17
|
import { execFileSync } from "node:child_process";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { $ as DocsAgentSkillsInput } from "./types-
|
|
2
|
-
import {
|
|
1
|
+
import { $ as DocsAgentSkillsInput } from "./types-clg5J1R4.mjs";
|
|
2
|
+
import { L as DocsPublishedAgentSkill } from "./standards-discovery-CdrOE-05.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/agent-skills-server.d.ts
|
|
5
5
|
interface ResolveConfiguredAgentSkillsOptions {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { f as DEFAULT_AGENT_SKILLS_ROUTE_PREFIX, j as buildDocsPublishedAgentSkill } from "./standards-discovery-BwL5ffGx.mjs";
|
|
2
2
|
import { existsSync, lstatSync, readFileSync, readdirSync, realpathSync, statSync } from "node:fs";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { createHash } from "node:crypto";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { $ as DocsAgentSkillsInput } from "./types-
|
|
2
|
-
import {
|
|
3
|
-
import { t as ResolveConfiguredAgentSkillsOptions } from "./agent-skills-server-
|
|
1
|
+
import { $ as DocsAgentSkillsInput } from "./types-clg5J1R4.mjs";
|
|
2
|
+
import { L as DocsPublishedAgentSkill } from "./standards-discovery-CdrOE-05.mjs";
|
|
3
|
+
import { t as ResolveConfiguredAgentSkillsOptions } from "./agent-skills-server-BqvIGQb1.mjs";
|
|
4
4
|
|
|
5
5
|
//#region src/agent-skills-vite.d.ts
|
|
6
6
|
declare const DOCS_AGENT_SKILLS_BUNDLE_MODULE = "@farming-labs/docs/agent-skills-bundle";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "./standards-discovery-
|
|
2
|
-
import { t as resolveConfiguredAgentSkills } from "./agent-skills-server-
|
|
1
|
+
import "./standards-discovery-BwL5ffGx.mjs";
|
|
2
|
+
import { t as resolveConfiguredAgentSkills } from "./agent-skills-server-noFn1l_p.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/agent-skills-vite.ts
|
|
5
5
|
const DOCS_AGENT_SKILLS_BUNDLE_MODULE = "@farming-labs/docs/agent-skills-bundle";
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { a as DEFAULT_AGENT_MD_ROUTE, b as DEFAULT_OPENAPI_SCHEMA_ROUTE, lt as resolveDocsAgentFeedbackConfig, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, o as DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, rt as renderDocsAgentsDocument, t as DEFAULT_AGENTS_MD_ROUTE } from "./agent-
|
|
2
|
-
import "./
|
|
3
|
-
import "./
|
|
4
|
-
import
|
|
5
|
-
import "./
|
|
1
|
+
import { a as DEFAULT_AGENT_MD_ROUTE, b as DEFAULT_OPENAPI_SCHEMA_ROUTE, lt as resolveDocsAgentFeedbackConfig, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, o as DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, rt as renderDocsAgentsDocument, t as DEFAULT_AGENTS_MD_ROUTE } from "./agent-BJ0KXN-A.mjs";
|
|
2
|
+
import "./markdown-sections-7OoA7ylx.mjs";
|
|
3
|
+
import "./standards-discovery-BwL5ffGx.mjs";
|
|
4
|
+
import "./search-DIyIl-tE.mjs";
|
|
5
|
+
import { S as resolveApiReferenceConfig } from "./sitemap-server-BfyBM7_V.mjs";
|
|
6
|
+
import "./agent-evals-LIScgQVm.mjs";
|
|
6
7
|
import { resolveDocsMcpConfig } from "./mcp.mjs";
|
|
7
|
-
import "./code-blocks-
|
|
8
|
-
import "./agent-skills-server-
|
|
8
|
+
import "./code-blocks-DnNVNK2M.mjs";
|
|
9
|
+
import "./agent-skills-server-noFn1l_p.mjs";
|
|
9
10
|
import "./server.mjs";
|
|
10
|
-
import { a as loadDocsConfigModule, d as readNavTitle, g as resolveDocsConfigPath, h as readTopLevelStringProperty, l as readBooleanProperty, p as readStringProperty, t as extractNestedObjectLiteral } from "./config-
|
|
11
|
-
import { t as detectFramework } from "./utils-
|
|
11
|
+
import { a as loadDocsConfigModule, d as readNavTitle, g as resolveDocsConfigPath, h as readTopLevelStringProperty, l as readBooleanProperty, p as readStringProperty, t as extractNestedObjectLiteral } from "./config-Wcdj-D0a.mjs";
|
|
12
|
+
import { t as detectFramework } from "./utils-DpiIioYb.mjs";
|
|
12
13
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
13
14
|
import path from "node:path";
|
|
14
15
|
import pc from "picocolors";
|
package/dist/cli/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { i as wasCliErrorReported, r as shouldPrintStackTrace, t as formatCliError } from "../errors-
|
|
2
|
+
import { i as wasCliErrorReported, r as shouldPrintStackTrace, t as formatCliError } from "../errors-DbOhkE1h.mjs";
|
|
3
3
|
import pc from "picocolors";
|
|
4
4
|
|
|
5
5
|
//#region src/cli/index.ts
|
|
@@ -82,6 +82,7 @@ async function main() {
|
|
|
82
82
|
typesense: typeof flags.typesense === "boolean" ? flags.typesense : void 0,
|
|
83
83
|
algolia: typeof flags.algolia === "boolean" ? flags.algolia : void 0,
|
|
84
84
|
baseUrl: typeof flags["base-url"] === "string" ? flags["base-url"] : void 0,
|
|
85
|
+
siteUrl: typeof flags["site-url"] === "string" ? flags["site-url"] : void 0,
|
|
85
86
|
collection: typeof flags.collection === "string" ? flags.collection : void 0,
|
|
86
87
|
apiKey: typeof flags["api-key"] === "string" ? flags["api-key"] : void 0,
|
|
87
88
|
adminApiKey: typeof flags["admin-api-key"] === "string" ? flags["admin-api-key"] : void 0,
|
|
@@ -90,7 +91,8 @@ async function main() {
|
|
|
90
91
|
ollamaBaseUrl: typeof flags["ollama-base-url"] === "string" ? flags["ollama-base-url"] : void 0,
|
|
91
92
|
appId: typeof flags["app-id"] === "string" ? flags["app-id"] : void 0,
|
|
92
93
|
indexName: typeof flags["index-name"] === "string" ? flags["index-name"] : void 0,
|
|
93
|
-
searchApiKey: typeof flags["search-api-key"] === "string" ? flags["search-api-key"] : void 0
|
|
94
|
+
searchApiKey: typeof flags["search-api-key"] === "string" ? flags["search-api-key"] : void 0,
|
|
95
|
+
syncNamespace: typeof flags["sync-namespace"] === "string" ? flags["sync-namespace"] : void 0
|
|
94
96
|
};
|
|
95
97
|
const cloudOptions = {
|
|
96
98
|
configPath: typeof flags.config === "string" ? flags.config : void 0,
|
|
@@ -106,43 +108,43 @@ async function main() {
|
|
|
106
108
|
]
|
|
107
109
|
};
|
|
108
110
|
if (!parsedCommand.command || parsedCommand.command === "init") {
|
|
109
|
-
const { init } = await import("../init-
|
|
111
|
+
const { init } = await import("../init-DAkI0Lkf.mjs");
|
|
110
112
|
await init(initOptions);
|
|
111
113
|
} else if (parsedCommand.command === "dev") {
|
|
112
|
-
const { dev } = await import("../dev-
|
|
114
|
+
const { dev } = await import("../dev-Cc1cFFj-.mjs");
|
|
113
115
|
await dev(devOptions);
|
|
114
116
|
} else if (parsedCommand.command === "deploy") {
|
|
115
|
-
const { runCloudDeploy } = await import("../cloud-
|
|
117
|
+
const { runCloudDeploy } = await import("../cloud-pdNC-tyj.mjs");
|
|
116
118
|
await runCloudDeploy(cloudOptions);
|
|
117
119
|
} else if (parsedCommand.command === "preview") {
|
|
118
|
-
const { runCloudPreview } = await import("../cloud-
|
|
120
|
+
const { runCloudPreview } = await import("../cloud-pdNC-tyj.mjs");
|
|
119
121
|
await runCloudPreview(cloudOptions);
|
|
120
122
|
} else if (parsedCommand.command === "cloud" && subcommand === "deploy") {
|
|
121
|
-
const { runCloudDeploy } = await import("../cloud-
|
|
123
|
+
const { runCloudDeploy } = await import("../cloud-pdNC-tyj.mjs");
|
|
122
124
|
await runCloudDeploy(cloudOptions);
|
|
123
125
|
} else if (parsedCommand.command === "cloud" && subcommand === "preview") {
|
|
124
|
-
const { runCloudPreview } = await import("../cloud-
|
|
126
|
+
const { runCloudPreview } = await import("../cloud-pdNC-tyj.mjs");
|
|
125
127
|
await runCloudPreview(cloudOptions);
|
|
126
128
|
} else if (parsedCommand.command === "cloud" && subcommand === "init") {
|
|
127
|
-
const { runCloudInit } = await import("../cloud-
|
|
129
|
+
const { runCloudInit } = await import("../cloud-pdNC-tyj.mjs");
|
|
128
130
|
await runCloudInit(cloudOptions);
|
|
129
131
|
} else if (parsedCommand.command === "cloud" && subcommand === "sync") {
|
|
130
|
-
const { syncCloudConfig } = await import("../cloud-
|
|
132
|
+
const { syncCloudConfig } = await import("../cloud-pdNC-tyj.mjs");
|
|
131
133
|
await syncCloudConfig(cloudOptions);
|
|
132
134
|
} else if (parsedCommand.command === "cloud" && subcommand === "check") {
|
|
133
|
-
const { runCloudCheck } = await import("../cloud-
|
|
135
|
+
const { runCloudCheck } = await import("../cloud-pdNC-tyj.mjs");
|
|
134
136
|
await runCloudCheck(cloudOptions);
|
|
135
137
|
} else if (parsedCommand.command === "cloud") {
|
|
136
138
|
console.error(pc.red(`Unknown cloud subcommand: ${subcommand ?? "(missing)"}`));
|
|
137
139
|
console.error();
|
|
138
|
-
const { printCloudHelp } = await import("../cloud-
|
|
140
|
+
const { printCloudHelp } = await import("../cloud-pdNC-tyj.mjs");
|
|
139
141
|
printCloudHelp();
|
|
140
142
|
process.exit(1);
|
|
141
143
|
} else if (parsedCommand.command === "mcp") {
|
|
142
|
-
const { runMcp } = await import("../mcp-
|
|
144
|
+
const { runMcp } = await import("../mcp-YD37HlPY.mjs");
|
|
143
145
|
await runMcp(mcpOptions);
|
|
144
146
|
} else if (parsedCommand.command === "agent" && subcommand === "compact") {
|
|
145
|
-
const { compactAgentDocs, parseAgentCompactArgs, printAgentCompactHelp } = await import("../agent-
|
|
147
|
+
const { compactAgentDocs, parseAgentCompactArgs, printAgentCompactHelp } = await import("../agent-D0LEY2Vy.mjs").then((n) => n.t);
|
|
146
148
|
const agentCompactOptions = parseAgentCompactArgs(args.slice(2));
|
|
147
149
|
if (agentCompactOptions.help) {
|
|
148
150
|
printAgentCompactHelp();
|
|
@@ -150,7 +152,7 @@ async function main() {
|
|
|
150
152
|
}
|
|
151
153
|
await compactAgentDocs(agentCompactOptions);
|
|
152
154
|
} else if (parsedCommand.command === "agent" && subcommand === "export") {
|
|
153
|
-
const { exportAgentBundle, parseAgentExportArgs, printAgentExportHelp } = await import("../agent-export-
|
|
155
|
+
const { exportAgentBundle, parseAgentExportArgs, printAgentExportHelp } = await import("../agent-export-B92pNe6g.mjs");
|
|
154
156
|
const agentExportOptions = parseAgentExportArgs(args.slice(2));
|
|
155
157
|
if (agentExportOptions.help) {
|
|
156
158
|
printAgentExportHelp();
|
|
@@ -160,13 +162,13 @@ async function main() {
|
|
|
160
162
|
} else if (parsedCommand.command === "agent") {
|
|
161
163
|
console.error(pc.red(`Unknown agent subcommand: ${subcommand ?? "(missing)"}`));
|
|
162
164
|
console.error();
|
|
163
|
-
const { printAgentCompactHelp } = await import("../agent-
|
|
164
|
-
const { printAgentExportHelp } = await import("../agent-export-
|
|
165
|
+
const { printAgentCompactHelp } = await import("../agent-D0LEY2Vy.mjs").then((n) => n.t);
|
|
166
|
+
const { printAgentExportHelp } = await import("../agent-export-B92pNe6g.mjs");
|
|
165
167
|
printAgentCompactHelp();
|
|
166
168
|
printAgentExportHelp();
|
|
167
169
|
process.exit(1);
|
|
168
170
|
} else if (parsedCommand.command === "agents" && subcommand === "generate") {
|
|
169
|
-
const { generateAgents, parseAgentsGenerateArgs, printAgentsGenerateHelp } = await import("../agents-
|
|
171
|
+
const { generateAgents, parseAgentsGenerateArgs, printAgentsGenerateHelp } = await import("../agents-C228QGbp.mjs");
|
|
170
172
|
const agentsOptions = parseAgentsGenerateArgs(args.slice(2));
|
|
171
173
|
if (agentsOptions.help) {
|
|
172
174
|
printAgentsGenerateHelp();
|
|
@@ -176,11 +178,11 @@ async function main() {
|
|
|
176
178
|
} else if (parsedCommand.command === "agents") {
|
|
177
179
|
console.error(pc.red(`Unknown agents subcommand: ${subcommand ?? "(missing)"}`));
|
|
178
180
|
console.error();
|
|
179
|
-
const { printAgentsGenerateHelp } = await import("../agents-
|
|
181
|
+
const { printAgentsGenerateHelp } = await import("../agents-C228QGbp.mjs");
|
|
180
182
|
printAgentsGenerateHelp();
|
|
181
183
|
process.exit(1);
|
|
182
184
|
} else if (parsedCommand.command === "doctor") {
|
|
183
|
-
const { parseDoctorArgs, printDoctorHelp, runDoctor } = await import("../doctor-
|
|
185
|
+
const { parseDoctorArgs, printDoctorHelp, runDoctor } = await import("../doctor-CgrUZ3tY.mjs");
|
|
184
186
|
const doctorOptions = parseDoctorArgs(args.slice(1));
|
|
185
187
|
if (doctorOptions.help) {
|
|
186
188
|
printDoctorHelp();
|
|
@@ -188,7 +190,7 @@ async function main() {
|
|
|
188
190
|
}
|
|
189
191
|
await runDoctor(doctorOptions);
|
|
190
192
|
} else if (parsedCommand.command === "review") {
|
|
191
|
-
const { parseReviewArgs, printReviewHelp, runReview } = await import("../review-
|
|
193
|
+
const { parseReviewArgs, printReviewHelp, runReview } = await import("../review-Dbzkdl6K.mjs");
|
|
192
194
|
const reviewOptions = parseReviewArgs(args.slice(1));
|
|
193
195
|
if (reviewOptions.help) {
|
|
194
196
|
printReviewHelp();
|
|
@@ -196,7 +198,7 @@ async function main() {
|
|
|
196
198
|
}
|
|
197
199
|
await runReview(reviewOptions);
|
|
198
200
|
} else if ((parsedCommand.command === "codeblocks" || parsedCommand.command === "code-blocks") && subcommand === "validate") {
|
|
199
|
-
const { parseCodeBlocksValidateArgs, printCodeBlocksValidateHelp, runCodeBlocksValidate } = await import("../codeblocks-
|
|
201
|
+
const { parseCodeBlocksValidateArgs, printCodeBlocksValidateHelp, runCodeBlocksValidate } = await import("../codeblocks-CFuurVIH.mjs");
|
|
200
202
|
const codeBlocksOptions = parseCodeBlocksValidateArgs(args.slice(2));
|
|
201
203
|
if (codeBlocksOptions.help) {
|
|
202
204
|
printCodeBlocksValidateHelp();
|
|
@@ -206,11 +208,11 @@ async function main() {
|
|
|
206
208
|
} else if (parsedCommand.command === "codeblocks" || parsedCommand.command === "code-blocks") {
|
|
207
209
|
console.error(pc.red(`Unknown codeblocks subcommand: ${subcommand ?? "(missing)"}`));
|
|
208
210
|
console.error();
|
|
209
|
-
const { printCodeBlocksValidateHelp } = await import("../codeblocks-
|
|
211
|
+
const { printCodeBlocksValidateHelp } = await import("../codeblocks-CFuurVIH.mjs");
|
|
210
212
|
printCodeBlocksValidateHelp();
|
|
211
213
|
process.exit(1);
|
|
212
214
|
} else if (parsedCommand.command === "search" && subcommand === "sync") {
|
|
213
|
-
const { syncSearch } = await import("../search-
|
|
215
|
+
const { syncSearch } = await import("../search-hcqaEZVN.mjs");
|
|
214
216
|
await syncSearch(searchSyncOptions);
|
|
215
217
|
} else if (parsedCommand.command === "search") {
|
|
216
218
|
console.error(pc.red(`Unknown search subcommand: ${subcommand ?? "(missing)"}`));
|
|
@@ -218,7 +220,7 @@ async function main() {
|
|
|
218
220
|
printHelp();
|
|
219
221
|
process.exit(1);
|
|
220
222
|
} else if (parsedCommand.command === "sitemap" && subcommand === "generate") {
|
|
221
|
-
const { generateSitemap, parseSitemapGenerateArgs, printSitemapGenerateHelp } = await import("../sitemap-
|
|
223
|
+
const { generateSitemap, parseSitemapGenerateArgs, printSitemapGenerateHelp } = await import("../sitemap-jhkS_jYx.mjs");
|
|
222
224
|
const sitemapOptions = parseSitemapGenerateArgs(args.slice(2));
|
|
223
225
|
if (sitemapOptions.help) {
|
|
224
226
|
printSitemapGenerateHelp();
|
|
@@ -228,11 +230,11 @@ async function main() {
|
|
|
228
230
|
} else if (parsedCommand.command === "sitemap") {
|
|
229
231
|
console.error(pc.red(`Unknown sitemap subcommand: ${subcommand ?? "(missing)"}`));
|
|
230
232
|
console.error();
|
|
231
|
-
const { printSitemapGenerateHelp } = await import("../sitemap-
|
|
233
|
+
const { printSitemapGenerateHelp } = await import("../sitemap-jhkS_jYx.mjs");
|
|
232
234
|
printSitemapGenerateHelp();
|
|
233
235
|
process.exit(1);
|
|
234
236
|
} else if (parsedCommand.command === "robots" && subcommand === "generate") {
|
|
235
|
-
const { generateRobots, parseRobotsGenerateArgs, printRobotsGenerateHelp } = await import("../robots-
|
|
237
|
+
const { generateRobots, parseRobotsGenerateArgs, printRobotsGenerateHelp } = await import("../robots-DUO0r4UI.mjs");
|
|
236
238
|
const robotsOptions = parseRobotsGenerateArgs(args.slice(2));
|
|
237
239
|
if (robotsOptions.help) {
|
|
238
240
|
printRobotsGenerateHelp();
|
|
@@ -242,11 +244,11 @@ async function main() {
|
|
|
242
244
|
} else if (parsedCommand.command === "robots") {
|
|
243
245
|
console.error(pc.red(`Unknown robots subcommand: ${subcommand ?? "(missing)"}`));
|
|
244
246
|
console.error();
|
|
245
|
-
const { printRobotsGenerateHelp } = await import("../robots-
|
|
247
|
+
const { printRobotsGenerateHelp } = await import("../robots-DUO0r4UI.mjs");
|
|
246
248
|
printRobotsGenerateHelp();
|
|
247
249
|
process.exit(1);
|
|
248
250
|
} else if (parsedCommand.command === "downgrade") {
|
|
249
|
-
const { downgrade } = await import("../downgrade-
|
|
251
|
+
const { downgrade } = await import("../downgrade-w7e6Se0L.mjs");
|
|
250
252
|
const framework = (typeof flags.framework === "string" ? flags.framework : void 0) ?? (args[1] && !args[1].startsWith("--") ? args[1] : void 0);
|
|
251
253
|
const hasVersionFlag = args.includes("--version") || args.some((arg) => arg.startsWith("--version="));
|
|
252
254
|
await downgrade({
|
|
@@ -255,7 +257,7 @@ async function main() {
|
|
|
255
257
|
dryRun: flags["dry-run"] === true
|
|
256
258
|
});
|
|
257
259
|
} else if (parsedCommand.command === "upgrade") {
|
|
258
|
-
const { upgrade } = await import("../upgrade-
|
|
260
|
+
const { upgrade } = await import("../upgrade-oz-GChgt.mjs");
|
|
259
261
|
const framework = (typeof flags.framework === "string" ? flags.framework : void 0) ?? (args[1] && !args[1].startsWith("--") ? args[1] : void 0);
|
|
260
262
|
const hasVersionFlag = args.includes("--version") || args.some((arg) => arg.startsWith("--version="));
|
|
261
263
|
const version = typeof flags.version === "string" ? flags.version : hasVersionFlag ? "" : void 0;
|
|
@@ -395,6 +397,8 @@ ${pc.dim("Options for search sync:")}
|
|
|
395
397
|
${pc.cyan("--typesense")} Shortcut for ${pc.cyan("--provider typesense")}
|
|
396
398
|
${pc.cyan("--algolia")} Shortcut for ${pc.cyan("--provider algolia")}
|
|
397
399
|
${pc.cyan("--base-url <url>")} Typesense base URL (or use ${pc.dim("TYPESENSE_URL")})
|
|
400
|
+
${pc.cyan("--site-url <url>")} Canonical public docs URL for source provenance
|
|
401
|
+
${pc.cyan("--sync-namespace <name>")} Stable ownership namespace for a shared hosted index
|
|
398
402
|
${pc.cyan("--collection <name>")} Typesense collection name (default ${pc.dim("docs")})
|
|
399
403
|
${pc.cyan("--api-key <key>")} Typesense search/api key (or use ${pc.dim("TYPESENSE_API_KEY")})
|
|
400
404
|
${pc.cyan("--admin-api-key <key>")} Admin-capable sync key for Typesense/Algolia
|
package/dist/client/react.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _t as DocsCloudConfig, rt as DocsAnalyticsConfig, t as AIConfig } from "./types-
|
|
1
|
+
import { _t as DocsCloudConfig, rt as DocsAnalyticsConfig, t as AIConfig } from "./types-clg5J1R4.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/cloud-ask-ai.d.ts
|
|
4
4
|
interface DocsCloudAskAIConfig {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { n as markCliErrorReported } from "./errors-
|
|
2
|
-
import { _ as resolveDocsContentDir, a as loadDocsConfigModule, c as loadProjectEnv, d as readNavTitle, g as resolveDocsConfigPath, h as readTopLevelStringProperty, m as readTopLevelBooleanProperty, p as readStringProperty, t as extractNestedObjectLiteral } from "./config-
|
|
3
|
-
import { i as detectPackageManagerFromProject, t as detectFramework } from "./utils-
|
|
1
|
+
import { n as markCliErrorReported } from "./errors-DbOhkE1h.mjs";
|
|
2
|
+
import { _ as resolveDocsContentDir, a as loadDocsConfigModule, c as loadProjectEnv, d as readNavTitle, g as resolveDocsConfigPath, h as readTopLevelStringProperty, m as readTopLevelBooleanProperty, p as readStringProperty, t as extractNestedObjectLiteral } from "./config-Wcdj-D0a.mjs";
|
|
3
|
+
import { i as detectPackageManagerFromProject, t as detectFramework } from "./utils-DpiIioYb.mjs";
|
|
4
4
|
import fs from "node:fs";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import { execFileSync } from "node:child_process";
|