@farming-labs/docs 0.2.70 → 0.2.72
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-MOuft73V.mjs → agent-DbDfIqhe.mjs} +3 -3
- package/dist/{agent-evals-BTh28hl-.mjs → agent-evals-CjYzCQMZ.mjs} +90 -10
- package/dist/{agent-export-43XUqLf5.mjs → agent-export-CpQhD8eA.mjs} +13 -10
- package/dist/{agent-CXkn2ihX.mjs → agent-pS2nNQS3.mjs} +540 -14
- package/dist/agent-skills-bundle.d.mts +1 -1
- package/dist/{agent-skills-server-DTwblsLu.d.mts → agent-skills-server-DZnNB4_S.d.mts} +2 -2
- package/dist/agent-skills-vite.d.mts +3 -3
- package/dist/agent-skills-vite.mjs +1 -1
- package/dist/{agents-C16sSxHU.mjs → agents-B-1h9Jlm.mjs} +8 -8
- package/dist/cli/index.mjs +29 -29
- package/dist/client/react.d.mts +1 -1
- package/dist/{cloud-pdNC-tyj.mjs → cloud-CyysfDny.mjs} +3 -3
- package/dist/{cloud-ask-ai-BfnX18rI.d.mts → cloud-ask-ai-D9gIN4Vr.d.mts} +1 -1
- package/dist/{codeblocks-CFuurVIH.mjs → codeblocks-DAj7EAwt.mjs} +2 -2
- package/dist/{dev-Cc1cFFj-.mjs → dev-qE7MYEh9.mjs} +2 -2
- package/dist/docs-cloud-server.d.mts +2 -2
- package/dist/docs-cloud-server.mjs +1 -1
- package/dist/{doctor-WjSas47Z.mjs → doctor-CBy8-tPu.mjs} +13 -13
- package/dist/{downgrade-w7e6Se0L.mjs → downgrade-DCxezPZI.mjs} +2 -2
- package/dist/{golden-evaluations-Cg0braJV.mjs → golden-evaluations-DGg_eHIY.mjs} +23 -3
- package/dist/index.d.mts +104 -6
- package/dist/index.mjs +6 -6
- package/dist/{init-DAkI0Lkf.mjs → init-p1MHf06G.mjs} +3 -3
- package/dist/{mcp-BDPfedoh.mjs → mcp-BNK45dzD.mjs} +7 -7
- package/dist/mcp.d.mts +7 -2
- package/dist/mcp.mjs +122 -18
- package/dist/{metadata-BMBvGASC.mjs → metadata-D6qlWDu-.mjs} +1 -1
- package/dist/{package-version-n5AFur8a.mjs → package-version-BXHcIm1T.mjs} +1 -1
- package/dist/{reading-time-D0s9Osqw.mjs → reading-time-DvTuW2Iy.mjs} +2 -2
- package/dist/{review-_0G2gAtx.mjs → review-Cace7A2c.mjs} +8 -8
- package/dist/{robots-DOnLGE0l.mjs → robots-C2SindI5.mjs} +1 -1
- package/dist/{robots-DLl9Zizg.mjs → robots-DmE_wXvG.mjs} +4 -4
- package/dist/{search-CozHzW7v.d.mts → search-1aftosa5.d.mts} +24 -9
- package/dist/{search-Boqkxa3T.mjs → search-BbArHODP.mjs} +672 -147
- package/dist/{search-B9tkri5i.mjs → search-DB3svkNQ.mjs} +7 -7
- package/dist/server.d.mts +13 -5
- package/dist/server.mjs +8 -8
- package/dist/{sitemap-FgXlxHEO.mjs → sitemap-DPTLh_26.mjs} +8 -8
- package/dist/{sitemap-server-Bynukz-j.mjs → sitemap-server-PUoOhplO.mjs} +1 -1
- package/dist/{standards-discovery-C0CIC4QI.d.mts → standards-discovery-DRJ10g7B.d.mts} +1 -1
- package/dist/{types-BQC05SQm.d.mts → types-B9DNNAdT.d.mts} +49 -1
- package/dist/{upgrade-oz-GChgt.mjs → upgrade-DDJQ5l6n.mjs} +2 -2
- package/package.json +1 -1
- package/dist/agent-scope-C_U--OZ7.mjs +0 -283
- /package/dist/{agent-skills-server-B4u3qy-1.mjs → agent-skills-server-BPVv4gMg.mjs} +0 -0
- /package/dist/{cloud-ask-ai-sbpjOR2K.mjs → cloud-ask-ai-hnJfj8-X.mjs} +0 -0
- /package/dist/{code-blocks-DnNVNK2M.mjs → code-blocks-qe0T8-xe.mjs} +0 -0
- /package/dist/{config-Wcdj-D0a.mjs → config-z7_R0f86.mjs} +0 -0
- /package/dist/{errors-DbOhkE1h.mjs → errors-Cc_qplZU.mjs} +0 -0
- /package/dist/{templates-C6avM0U3.mjs → templates-BJnf6B8l.mjs} +0 -0
- /package/dist/{utils-DpiIioYb.mjs → utils-C4RC8Zq_.mjs} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { B as findDocsMarkdownPage, an as stripGeneratedPageAgentContractMarkdown, at as renderDocsMarkdownDocument, nn as normalizePageAgentFrontmatter } from "./agent-pS2nNQS3.mjs";
|
|
2
|
+
import { E as hashGeneratedAgentContent, O as parseGeneratedAgentDocument, T as GENERATED_AGENT_PROVENANCE_VERSION, k as serializeGeneratedAgentDocument } from "./search-BbArHODP.mjs";
|
|
3
3
|
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-
|
|
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-z7_R0f86.mjs";
|
|
5
5
|
import { createRequire } from "node:module";
|
|
6
6
|
import matter from "gray-matter";
|
|
7
7
|
import { existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync } from "node:fs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Gt as findDocsMarkdownSection } from "./agent-pS2nNQS3.mjs";
|
|
2
|
+
import { C as normalizeAgentVersion, S as normalizeAgentScopeValues, _ as resolveSearchRequestConfig, b as normalizeAgentFramework, d as performDocsSearch, t as buildDocsAskAIContext, u as normalizeDocsSearchFilters, v as agentVersionConstraintMatches, x as normalizeAgentLocale, y as agentVersionConstraintsOverlap } from "./search-BbArHODP.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-qe0T8-xe.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";
|
|
@@ -630,13 +630,33 @@ function normalizeRuntimeFilters(value, path, issues) {
|
|
|
630
630
|
}
|
|
631
631
|
const framework = normalizeRuntimeString(value.framework, `${path}.framework`, issues);
|
|
632
632
|
const version = normalizeRuntimeString(value.version, `${path}.version`, issues);
|
|
633
|
+
const packageName = normalizeRuntimeFilterValue(value.package, `${path}.package`, issues);
|
|
634
|
+
const tags = normalizeRuntimeFilterValue(value.tags, `${path}.tags`, issues);
|
|
633
635
|
const locale = normalizeRuntimeString(value.locale, `${path}.locale`, issues);
|
|
634
|
-
return framework || version || locale ? {
|
|
636
|
+
return framework || version || packageName || tags || locale ? {
|
|
635
637
|
framework,
|
|
636
638
|
version,
|
|
639
|
+
package: packageName,
|
|
640
|
+
tags,
|
|
637
641
|
locale
|
|
638
642
|
} : void 0;
|
|
639
643
|
}
|
|
644
|
+
function normalizeRuntimeFilterValue(value, path, issues) {
|
|
645
|
+
if (value === void 0) return void 0;
|
|
646
|
+
if (typeof value === "string") return normalizeRuntimeString(value, path, issues);
|
|
647
|
+
if (!Array.isArray(value)) {
|
|
648
|
+
issues.push(`${path} must be a non-empty string or string array.`);
|
|
649
|
+
return;
|
|
650
|
+
}
|
|
651
|
+
const normalized = value.filter((item) => typeof item === "string" && Boolean(item.trim())).map((item) => item.trim()).filter((item, index, items) => items.indexOf(item) === index);
|
|
652
|
+
const hasInvalidItem = value.some((item) => typeof item !== "string" || !item.trim());
|
|
653
|
+
if (hasInvalidItem) issues.push(`${path} must contain only non-empty strings.`);
|
|
654
|
+
if (normalized.length === 0) {
|
|
655
|
+
if (!hasInvalidItem) issues.push(`${path} must contain at least one non-empty string.`);
|
|
656
|
+
return;
|
|
657
|
+
}
|
|
658
|
+
return normalized;
|
|
659
|
+
}
|
|
640
660
|
function normalizeRuntimeEnum(value, path, issues, allowed) {
|
|
641
661
|
if (value === void 0) return void 0;
|
|
642
662
|
if (typeof value !== "string" || !allowed.includes(value)) {
|
|
@@ -838,10 +858,14 @@ function getPageScope(page) {
|
|
|
838
858
|
const contractFramework = normalizeAgentScopeValues(page.agent?.appliesTo?.framework).map(normalizeAgentFramework);
|
|
839
859
|
const topVersion = normalizeAgentScopeValues(page.version).map(normalizeAgentVersion);
|
|
840
860
|
const contractVersion = normalizeAgentScopeValues(page.agent?.appliesTo?.version).map(normalizeAgentVersion);
|
|
861
|
+
const packageValues = normalizeDocsSearchFilters({ package: page.agent?.appliesTo?.package }).package ?? [];
|
|
862
|
+
const tags = normalizeDocsSearchFilters({ tags: page.tags }).tags ?? [];
|
|
841
863
|
const locale = normalizeAgentScopeValues(page.locale).map(normalizeAgentLocale);
|
|
842
864
|
return {
|
|
843
865
|
framework: Array.from(new Set([...topFramework, ...contractFramework])),
|
|
844
866
|
version: Array.from(new Set([...topVersion, ...contractVersion])),
|
|
867
|
+
package: packageValues,
|
|
868
|
+
tags,
|
|
845
869
|
locale,
|
|
846
870
|
frameworkAmbiguous: topFramework.length > 0 && contractFramework.length > 0 && !valuesOverlap(topFramework, contractFramework, (left, right) => left === right),
|
|
847
871
|
versionAmbiguous: topVersion.length > 0 && contractVersion.length > 0 && !valuesOverlap(topVersion, contractVersion, agentVersionConstraintsOverlap)
|
|
@@ -858,6 +882,8 @@ function toGoldenSources(sources, relevantSources, baseUrl) {
|
|
|
858
882
|
title: source.section ?? source.title,
|
|
859
883
|
framework: source.framework,
|
|
860
884
|
version: source.version,
|
|
885
|
+
package: source.package,
|
|
886
|
+
tags: source.tags,
|
|
861
887
|
utf8Bytes: source.utf8Bytes,
|
|
862
888
|
relevant: relevantSources.some((expected) => sourceMatches(source.url, expected, baseUrl)),
|
|
863
889
|
truncated: source.truncated
|
|
@@ -938,7 +964,8 @@ function hydrateSearchSource(result, index, pagesByUrl, contentMode, baseUrl) {
|
|
|
938
964
|
locale: scope?.locale[0],
|
|
939
965
|
framework: scope?.framework[0],
|
|
940
966
|
version: scope?.version[0],
|
|
941
|
-
|
|
967
|
+
package: scope?.package.length ? [...scope.package] : void 0,
|
|
968
|
+
tags: scope?.tags.length ? [...scope.tags] : void 0,
|
|
942
969
|
score: result.score,
|
|
943
970
|
content,
|
|
944
971
|
chars: content.length,
|
|
@@ -978,11 +1005,17 @@ function buildContextFromSources(options) {
|
|
|
978
1005
|
}
|
|
979
1006
|
const context = blocks.join(CONTEXT_SEPARATOR);
|
|
980
1007
|
usedUtf8Bytes = Buffer.byteLength(context, "utf8");
|
|
1008
|
+
const normalizedFilters = normalizeDocsSearchFilters({
|
|
1009
|
+
package: options.filters?.package,
|
|
1010
|
+
tags: options.filters?.tags
|
|
1011
|
+
});
|
|
981
1012
|
return {
|
|
982
1013
|
query: options.query,
|
|
983
1014
|
filters: {
|
|
984
1015
|
framework: options.filters?.framework,
|
|
985
1016
|
version: options.filters?.version,
|
|
1017
|
+
package: normalizedFilters.package,
|
|
1018
|
+
tags: normalizedFilters.tags,
|
|
986
1019
|
locale: options.filters?.locale
|
|
987
1020
|
},
|
|
988
1021
|
budget: {
|
|
@@ -1077,11 +1110,17 @@ function createContextShell(options) {
|
|
|
1077
1110
|
const context = options.context ?? "";
|
|
1078
1111
|
const sources = options.sources ?? [];
|
|
1079
1112
|
const usedUtf8Bytes = Buffer.byteLength(context, "utf8");
|
|
1113
|
+
const normalizedFilters = normalizeDocsSearchFilters({
|
|
1114
|
+
package: options.filters?.package,
|
|
1115
|
+
tags: options.filters?.tags
|
|
1116
|
+
});
|
|
1080
1117
|
return {
|
|
1081
1118
|
query: options.query,
|
|
1082
1119
|
filters: {
|
|
1083
1120
|
framework: options.filters?.framework,
|
|
1084
1121
|
version: options.filters?.version,
|
|
1122
|
+
package: normalizedFilters.package,
|
|
1123
|
+
tags: normalizedFilters.tags,
|
|
1085
1124
|
locale: options.filters?.locale
|
|
1086
1125
|
},
|
|
1087
1126
|
budget: {
|
|
@@ -1159,6 +1198,8 @@ async function buildGoldenSurface(options) {
|
|
|
1159
1198
|
query: options.task.query,
|
|
1160
1199
|
framework: options.task.filters?.framework,
|
|
1161
1200
|
version: options.task.filters?.version,
|
|
1201
|
+
package: options.task.filters?.package,
|
|
1202
|
+
tags: options.task.filters?.tags,
|
|
1162
1203
|
locale: options.task.filters?.locale,
|
|
1163
1204
|
maxResults: options.topK
|
|
1164
1205
|
};
|
|
@@ -1198,6 +1239,12 @@ async function buildGoldenSurface(options) {
|
|
|
1198
1239
|
search: surfaceSearch,
|
|
1199
1240
|
audience: "agent",
|
|
1200
1241
|
locale: options.task.filters?.locale,
|
|
1242
|
+
filters: {
|
|
1243
|
+
framework: options.task.filters?.framework,
|
|
1244
|
+
version: options.task.filters?.version,
|
|
1245
|
+
package: options.task.filters?.package,
|
|
1246
|
+
tags: options.task.filters?.tags
|
|
1247
|
+
},
|
|
1201
1248
|
siteTitle: options.runOptions.siteTitle,
|
|
1202
1249
|
baseUrl: options.runOptions.baseUrl,
|
|
1203
1250
|
limit: options.topK,
|
|
@@ -1238,6 +1285,12 @@ async function buildGoldenSurface(options) {
|
|
|
1238
1285
|
query: options.task.query,
|
|
1239
1286
|
search: surfaceSearch,
|
|
1240
1287
|
locale: options.task.filters?.locale,
|
|
1288
|
+
filters: {
|
|
1289
|
+
framework: options.task.filters?.framework,
|
|
1290
|
+
version: options.task.filters?.version,
|
|
1291
|
+
package: options.task.filters?.package,
|
|
1292
|
+
tags: options.task.filters?.tags
|
|
1293
|
+
},
|
|
1241
1294
|
siteTitle: options.runOptions.siteTitle,
|
|
1242
1295
|
baseUrl: options.runOptions.baseUrl,
|
|
1243
1296
|
limit: options.topK,
|
|
@@ -1878,17 +1931,27 @@ async function runAnswerProvider(options) {
|
|
|
1878
1931
|
function buildSelectionMetrics(task, sources, pagesByUrl) {
|
|
1879
1932
|
const requestedFramework = task.filters?.framework;
|
|
1880
1933
|
const requestedVersion = task.filters?.version;
|
|
1934
|
+
const requestedPackage = task.filters?.package;
|
|
1935
|
+
const requestedTags = task.filters?.tags;
|
|
1881
1936
|
const requestedLocale = task.filters?.locale;
|
|
1882
1937
|
const expectedFramework = task.expect.scope?.framework ?? requestedFramework;
|
|
1883
1938
|
const expectedVersion = task.expect.scope?.version ?? requestedVersion;
|
|
1939
|
+
const expectedPackage = task.expect.scope?.package ?? requestedPackage;
|
|
1940
|
+
const expectedTags = task.expect.scope?.tags ?? requestedTags;
|
|
1884
1941
|
const expectedLocale = task.expect.scope?.locale ?? requestedLocale;
|
|
1885
1942
|
const framework = expectedFramework ? normalizeAgentFramework(expectedFramework) : void 0;
|
|
1943
|
+
const expectedSearchScope = normalizeDocsSearchFilters({
|
|
1944
|
+
package: expectedPackage,
|
|
1945
|
+
tags: expectedTags
|
|
1946
|
+
});
|
|
1886
1947
|
const locale = expectedLocale ? normalizeAgentLocale(expectedLocale) : void 0;
|
|
1887
1948
|
const candidates = sources.map((source) => {
|
|
1888
1949
|
const page = findPageForSource(pagesByUrl, source.pageUrl || source.url);
|
|
1889
1950
|
const scope = page ? getPageScope(page) : {
|
|
1890
1951
|
framework: normalizeAgentScopeValues(source.framework).map(normalizeAgentFramework),
|
|
1891
1952
|
version: normalizeAgentScopeValues(source.version).map(normalizeAgentVersion),
|
|
1953
|
+
package: normalizeDocsSearchFilters({ package: source.package }).package ?? [],
|
|
1954
|
+
tags: normalizeDocsSearchFilters({ tags: source.tags }).tags ?? [],
|
|
1892
1955
|
locale: normalizeAgentScopeValues(source.locale).map(normalizeAgentLocale),
|
|
1893
1956
|
frameworkAmbiguous: false,
|
|
1894
1957
|
versionAmbiguous: false
|
|
@@ -1900,22 +1963,34 @@ function buildSelectionMetrics(task, sources, pagesByUrl) {
|
|
|
1900
1963
|
});
|
|
1901
1964
|
const firstFrameworkMatchRank = framework ? candidates.findIndex((candidate) => candidate.scope.framework.includes(framework)) + 1 || null : null;
|
|
1902
1965
|
const firstVersionMatchRank = expectedVersion ? candidates.findIndex((candidate) => candidate.scope.version.some((version) => agentVersionConstraintMatches(expectedVersion, version))) + 1 || null : null;
|
|
1966
|
+
const firstPackageMatchRank = expectedSearchScope.package ? candidates.findIndex((candidate) => valuesOverlap(expectedSearchScope.package ?? [], candidate.scope.package, (left, right) => left === right)) + 1 || null : null;
|
|
1967
|
+
const firstTagsMatchRank = expectedSearchScope.tags ? candidates.findIndex((candidate) => valuesOverlap(expectedSearchScope.tags ?? [], candidate.scope.tags, (left, right) => left === right)) + 1 || null : null;
|
|
1903
1968
|
const firstLocaleMatchRank = locale ? candidates.findIndex((candidate) => candidate.scope.locale.includes(locale)) + 1 || null : null;
|
|
1904
|
-
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)) || locale && candidate.scope.locale.length > 0 && !candidate.scope.locale.includes(locale)).map((candidate) => candidate.source);
|
|
1905
|
-
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(locale && candidate.scope.locale.length === 0)).map((candidate) => candidate.source);
|
|
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);
|
|
1971
|
+
const frameworkPassed = !framework || firstFrameworkMatchRank !== null;
|
|
1972
|
+
const versionPassed = !expectedVersion || firstVersionMatchRank !== null;
|
|
1973
|
+
const packagePassed = !expectedSearchScope.package || firstPackageMatchRank !== null;
|
|
1974
|
+
const tagsPassed = !expectedSearchScope.tags || firstTagsMatchRank !== null;
|
|
1906
1975
|
return {
|
|
1907
1976
|
requestedFramework,
|
|
1908
1977
|
requestedVersion,
|
|
1978
|
+
requestedPackage,
|
|
1979
|
+
requestedTags,
|
|
1909
1980
|
requestedLocale,
|
|
1910
1981
|
expectedFramework,
|
|
1911
1982
|
expectedVersion,
|
|
1983
|
+
expectedPackage,
|
|
1984
|
+
expectedTags,
|
|
1912
1985
|
expectedLocale,
|
|
1913
1986
|
firstFrameworkMatchRank,
|
|
1914
1987
|
firstVersionMatchRank,
|
|
1988
|
+
firstPackageMatchRank,
|
|
1989
|
+
firstTagsMatchRank,
|
|
1915
1990
|
firstLocaleMatchRank,
|
|
1916
1991
|
conflictingSources,
|
|
1917
1992
|
ambiguousSources,
|
|
1918
|
-
passed:
|
|
1993
|
+
passed: frameworkPassed && versionPassed && packagePassed && tagsPassed && (!locale || firstLocaleMatchRank !== null) && conflictingSources.length === 0 && ambiguousSources.length === 0
|
|
1919
1994
|
};
|
|
1920
1995
|
}
|
|
1921
1996
|
function buildUsageMetrics(task, tokenBudget, context, relevantSources, attributionUtf8Bytes, baseUrl) {
|
|
@@ -2055,6 +2130,8 @@ async function evaluateTask(pages, task, configurationIssues = [], runOptions =
|
|
|
2055
2130
|
title: source.title,
|
|
2056
2131
|
framework: source.framework,
|
|
2057
2132
|
version: source.version,
|
|
2133
|
+
package: source.package,
|
|
2134
|
+
tags: source.tags,
|
|
2058
2135
|
locale: source.locale
|
|
2059
2136
|
}))
|
|
2060
2137
|
}
|
|
@@ -2069,7 +2146,10 @@ async function evaluateTask(pages, task, configurationIssues = [], runOptions =
|
|
|
2069
2146
|
if (!citations.passed) issues.push(`${citations.evidence === "results" ? "Search-result" : "Context"} citations are missing, unexpected, or do not match source records.`);
|
|
2070
2147
|
if (task.expect.answer && !runOptions.answer) issues.push("Answer expectations require agent.evaluations.answer to be configured.");
|
|
2071
2148
|
if (!answer.passed) issues.push("The actual answer is missing required text/citations or contains invalid evidence.");
|
|
2072
|
-
if (!selection.passed)
|
|
2149
|
+
if (!selection.passed) {
|
|
2150
|
+
const checksPackageOrTags = Boolean(task.expect.scope?.package || task.expect.scope?.tags || task.filters?.package || task.filters?.tags);
|
|
2151
|
+
issues.push(checksPackageOrTags ? "Retrieved sources are ambiguous or do not explicitly match the expected framework/version/package/tags/locale." : "Retrieved sources are ambiguous or do not explicitly match the expected framework/version/locale.");
|
|
2152
|
+
}
|
|
2073
2153
|
if (!examples.passed) issues.push("One or more expected examples did not meet the requested verification level.");
|
|
2074
2154
|
if (!usage.passed) issues.push("Context exceeded its budget or did not meet the configured useful-byte ratio.");
|
|
2075
2155
|
const passed = configurationIssues.length === 0 && !surfaceError && !answerError && relevantSources.length > 0 && retrieval.passed && citations.passed && answer.passed && selection.passed && examples.passed && usage.passed;
|
|
@@ -2080,7 +2160,7 @@ async function evaluateTask(pages, task, configurationIssues = [], runOptions =
|
|
|
2080
2160
|
selection,
|
|
2081
2161
|
examples,
|
|
2082
2162
|
usage,
|
|
2083
|
-
hasSelectionExpectation: Boolean(task.expect.scope?.framework || task.expect.scope?.version || task.expect.scope?.locale || task.filters?.framework || task.filters?.version || task.filters?.locale),
|
|
2163
|
+
hasSelectionExpectation: Boolean(task.expect.scope?.framework || task.expect.scope?.version || task.expect.scope?.package || task.expect.scope?.tags || task.expect.scope?.locale || task.filters?.framework || task.filters?.version || task.filters?.package || task.filters?.tags || task.filters?.locale),
|
|
2084
2164
|
hasExampleExpectation: (task.expect.examples?.length ?? 0) > 0,
|
|
2085
2165
|
hasAnswerExpectation: Boolean(task.expect.answer)
|
|
2086
2166
|
});
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as buildDocsAgentDiscoverySpec, Bt as renderDocsSitemapXml, It as buildDocsSitemapManifest, S as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, Vt as resolveDocsSitemapConfig, 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, zt as renderDocsSitemapMarkdown } from "./agent-pS2nNQS3.mjs";
|
|
2
2
|
import { D as buildDocsAgentSkillsIndex, E as buildDocsA2AAgentCard, I as resolveDocsPublishedAgentSkill, a as DEFAULT_A2A_AGENT_CARD_ROUTE, b as DEFAULT_LEGACY_SKILLS_INDEX_ROUTE, f as DEFAULT_AGENT_SKILLS_ROUTE_PREFIX, k as buildDocsLegacySkillsIndex, u as DEFAULT_AGENT_SKILLS_INDEX_ROUTE, x as DEFAULT_LEGACY_SKILLS_ROUTE_PREFIX } from "./standards-discovery-CYfiQE13.mjs";
|
|
3
|
-
import "./search-
|
|
3
|
+
import "./search-BbArHODP.mjs";
|
|
4
4
|
import { t as resolveDocsI18n } from "./i18n-CCaFUnAN.mjs";
|
|
5
|
-
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-
|
|
6
|
-
import "./sitemap-server-
|
|
7
|
-
import "./agent-evals-
|
|
5
|
+
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-C2SindI5.mjs";
|
|
6
|
+
import "./sitemap-server-PUoOhplO.mjs";
|
|
7
|
+
import "./agent-evals-CjYzCQMZ.mjs";
|
|
8
8
|
import { createFilesystemDocsMcpSource, resolveDocsMcpConfig } from "./mcp.mjs";
|
|
9
|
-
import "./code-blocks-
|
|
10
|
-
import { t as resolveConfiguredAgentSkills } from "./agent-skills-server-
|
|
9
|
+
import "./code-blocks-qe0T8-xe.mjs";
|
|
10
|
+
import { t as resolveConfiguredAgentSkills } from "./agent-skills-server-BPVv4gMg.mjs";
|
|
11
11
|
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-
|
|
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-z7_R0f86.mjs";
|
|
13
|
+
import { t as detectFramework } from "./utils-C4RC8Zq_.mjs";
|
|
14
14
|
import { existsSync, lstatSync, mkdirSync, readFileSync, realpathSync, renameSync, rmSync, writeFileSync } from "node:fs";
|
|
15
15
|
import path from "node:path";
|
|
16
16
|
import { execFileSync } from "node:child_process";
|
|
@@ -702,7 +702,10 @@ async function exportAgentBundle(options = {}) {
|
|
|
702
702
|
sitemap: sitemapInput,
|
|
703
703
|
robots: robotsInput,
|
|
704
704
|
openapi,
|
|
705
|
-
markdown: {
|
|
705
|
+
markdown: {
|
|
706
|
+
acceptHeader: false,
|
|
707
|
+
sectionDiscovery: false
|
|
708
|
+
}
|
|
706
709
|
};
|
|
707
710
|
const configuredAgentSkills = await resolveConfiguredAgentSkills(config?.agent?.skills, { rootDir });
|
|
708
711
|
let outputs = [];
|