@farming-labs/docs 0.2.104 → 0.2.105

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.
Files changed (77) hide show
  1. package/dist/{agent-NerpHcQB.mjs → agent-CaCWThBY.mjs} +4 -4
  2. package/dist/{agent-PSrgiJD8.mjs → agent-DCTGj6J7.mjs} +48 -12
  3. package/dist/{agent-evals-U9d_db2u.mjs → agent-evals-D-sPJfXz.mjs} +5 -5
  4. package/dist/{agent-export-DlBUKkTt.mjs → agent-export-GcTZPLfB.mjs} +19 -17
  5. package/dist/agent-feedback-evaluations-DQCTFegz.mjs +240 -0
  6. package/dist/agent-maintenance-CuZ7iAKq.mjs +289 -0
  7. package/dist/agent-skills-bundle.d.mts +1 -1
  8. package/dist/{agent-skills-progressive-disclosure-CfIsq4Ew.mjs → agent-skills-progressive-disclosure-DL-q4JZo.mjs} +1 -1
  9. package/dist/{agent-skills-server-CIoL58X7.d.mts → agent-skills-server-D34054x5.d.mts} +2 -2
  10. package/dist/{agent-skills-server-DFqQyO_V.mjs → agent-skills-server-Ddbf15pY.mjs} +1 -1
  11. package/dist/agent-skills-vite.d.mts +3 -3
  12. package/dist/agent-skills-vite.mjs +2 -2
  13. package/dist/{agents-D3SLnQet.mjs → agents-e1SYT64z.mjs} +11 -11
  14. package/dist/{analytics-Bx44lg6d.mjs → analytics-CqfcIBdg.mjs} +1 -1
  15. package/dist/{analytics-B-jz7re8.d.mts → analytics-aeXwEvQX.d.mts} +1 -1
  16. package/dist/{authoring-BsWXMH43.mjs → authoring-Do87QzBd.mjs} +6 -6
  17. package/dist/{authoring-mcp-BCM5CJbJ.mjs → authoring-mcp-Be7quE5R.mjs} +2 -2
  18. package/dist/browser.d.mts +3 -3
  19. package/dist/browser.mjs +2 -2
  20. package/dist/cli/index.mjs +71 -35
  21. package/dist/client/react.d.mts +1 -1
  22. package/dist/client/react.mjs +1 -1
  23. package/dist/{cloud-BLxt_HYO.mjs → cloud-Bvof6mET.mjs} +3 -3
  24. package/dist/{cloud-ask-ai-19G2HJ62.d.mts → cloud-ask-ai-BqfiQaNZ.d.mts} +1 -1
  25. package/dist/{cloud-ask-ai-DeojA5lB.mjs → cloud-ask-ai-CK2qlNns.mjs} +1 -1
  26. package/dist/{codeblocks-qHdKGVaE.mjs → codeblocks-C911CdyJ.mjs} +2 -2
  27. package/dist/{agent-C9IdC__R.d.mts → content-change-hydration-CoYRs3pC.d.mts} +704 -678
  28. package/dist/{dev-B0iHJjTz.mjs → dev-Bx0JNglW.mjs} +2 -2
  29. package/dist/docs-cloud-server.d.mts +2 -2
  30. package/dist/docs-cloud-server.mjs +2 -2
  31. package/dist/{doctor-x3k6aE2I.mjs → doctor-CtK1CRPj.mjs} +17 -17
  32. package/dist/{downgrade-Dd3vvVdD.mjs → downgrade-BXmQMkMy.mjs} +2 -2
  33. package/dist/{feedback-DdWc33oO.mjs → feedback-DWVUMrxy.mjs} +1 -1
  34. package/dist/feedback-evals-k0sFDdms.mjs +146 -0
  35. package/dist/{golden-evaluations-7k7Akp3R.mjs → golden-evaluations-De4KwoYr.mjs} +3 -3
  36. package/dist/index.d.mts +174 -9
  37. package/dist/index.mjs +14 -11
  38. package/dist/{init-DKukQdOQ.mjs → init-CCV2eRNB.mjs} +3 -3
  39. package/dist/markdown-rendering.mjs +1 -1
  40. package/dist/{markdown-sections-7OoA7ylx.mjs → markdown-sections-BKy4labo.mjs} +110 -2
  41. package/dist/{mcp-B6ZZdp6F.mjs → mcp-DsjWxF7g.mjs} +11 -11
  42. package/dist/mcp.d.mts +5 -3
  43. package/dist/mcp.mjs +92 -29
  44. package/dist/{metadata-D4v_R1t5.mjs → metadata-7htr-Xj_.mjs} +1 -1
  45. package/dist/{openapi-mcp-B7u7Y0gB.mjs → openapi-mcp-DQ3xptKo.mjs} +68 -4
  46. package/dist/openapi-mcp-node-vO3IXVGI.mjs +43 -0
  47. package/dist/{package-version-P4TT_9IO.mjs → package-version-Ci99L0yo.mjs} +1 -1
  48. package/dist/{prompt-references-Ca2Rcrpw.mjs → prompt-references-1Wce71c7.mjs} +3 -3
  49. package/dist/propose-DJOiHu9Y.mjs +73 -0
  50. package/dist/retrieval-digest-B-SgtXKK.mjs +177 -0
  51. package/dist/retrieval-digest-DyNRD-mt.d.mts +467 -0
  52. package/dist/{review-DgaNTtP0.mjs → review-XI9FXeos.mjs} +12 -12
  53. package/dist/{robots-DNod0XKB.mjs → robots-BOjWB1ky.mjs} +2 -2
  54. package/dist/{robots-msD1xoH5.mjs → robots-CzKesbdX.mjs} +6 -6
  55. package/dist/{search-CNzq9S5S.mjs → search-DwAoC9X7.mjs} +12 -12
  56. package/dist/server.d.mts +6 -308
  57. package/dist/server.mjs +13 -12
  58. package/dist/{sidebar-DmXRpAAK.d.mts → sidebar-CJze8SBi.d.mts} +1 -1
  59. package/dist/{sitemap-CHvips7o.mjs → sitemap-DOaJIKJf.mjs} +11 -11
  60. package/dist/{sitemap-server-C2TauhKa.mjs → sitemap-server-NeVu8W38.mjs} +1 -1
  61. package/dist/{skills-aaE5L1go.mjs → skills-BILSESek.mjs} +11 -11
  62. package/dist/{standards-discovery-Ckx0tN7B.mjs → standards-discovery-Bpz90VYq.mjs} +2 -177
  63. package/dist/{standards-discovery-Cqq8QmlH.d.mts → standards-discovery-Xm84bS4M.d.mts} +1 -1
  64. package/dist/{types-BthCiAD9.d.mts → types-QhYMnKvb.d.mts} +35 -2
  65. package/dist/{upgrade-B0OA_7jE.mjs → upgrade-B92U83xo.mjs} +2 -2
  66. package/package.json +1 -1
  67. package/dist/retrieval-digest-DT9Ktc4C.d.mts +0 -164
  68. /package/dist/{agent-feedback-loop-CGrc-gDW.mjs → agent-feedback-loop-vaC-M1sx.mjs} +0 -0
  69. /package/dist/{audience-exposure-BW13cI2O.d.mts → audience-exposure-CkNZNeVX.d.mts} +0 -0
  70. /package/dist/{cloud-analytics-CSyFE6SS.mjs → cloud-analytics-Ci1yiwD8.mjs} +0 -0
  71. /package/dist/{code-blocks-c3nIrWOM.mjs → code-blocks-D90CCJFs.mjs} +0 -0
  72. /package/dist/{config-BhF6J2N4.mjs → config-DrZ3fXgf.mjs} +0 -0
  73. /package/dist/{errors-B5KTe1Xo.mjs → errors-BDmra6mz.mjs} +0 -0
  74. /package/dist/{i18n-B3BIxShC.mjs → i18n-B1gJ9EW0.mjs} +0 -0
  75. /package/dist/{sidebar-IcpElOVH.mjs → sidebar-3W51s2sF.mjs} +0 -0
  76. /package/dist/{templates-m_j4ARnu.mjs → templates-DdB4BBGq.mjs} +0 -0
  77. /package/dist/{utils-DcCUwxqS.mjs → utils-Cc1SrVza.mjs} +0 -0
@@ -0,0 +1,467 @@
1
+ import { Br as OpenDocsTarget, J as DocsAgentFeedbackData, Kn as DocsSearchConfig, Lr as OpenDocsProvider, Lt as DocsCodeBlocksValidateConfig, Pt as DocsCodeBlocksPlannerProvider, Q as DocsAgentGoldenExpectedExample, W as DocsAgentEvaluationSurface, _r as DocsSitemapConfig, at as DocsAgentGoldenTaskExpectation, ii as ResolvedDocsRelatedLink, it as DocsAgentGoldenTask, ot as DocsAgentGoldenTaskFilters, tt as DocsAgentGoldenQueryVariant, z as DocsAgentEvaluationAnswerProvider } from "./types-QhYMnKvb.mjs";
2
+ import { R as DocsDiscoveryApiRouteOptions } from "./standards-discovery-Xm84bS4M.mjs";
3
+ import { DocsMcpPage } from "./mcp.mjs";
4
+
5
+ //#region src/agent-feedback-loop.d.ts
6
+ declare const DOCS_AGENT_FEEDBACK_IMPROVEMENT_FORMAT: "farming-labs-agent-feedback-improvements.v1";
7
+ interface DocsAgentFeedbackImprovementOptions {
8
+ /** Minimum failed reports required before a cluster becomes recurring. @default 2 */
9
+ minOccurrences?: number;
10
+ /** Stable report timestamp override for tests and reproducible automation. */
11
+ generatedAt?: string;
12
+ }
13
+ interface DocsAgentFeedbackIssueDraft {
14
+ title: string;
15
+ body: string;
16
+ labels: string[];
17
+ }
18
+ interface DocsAgentFeedbackCluster {
19
+ id: string;
20
+ page: string;
21
+ task: string;
22
+ occurrences: number;
23
+ outcomes: string[];
24
+ missingContext: string[];
25
+ docIssues: string[];
26
+ suggestedImprovements: string[];
27
+ goldenTask?: DocsAgentGoldenTask;
28
+ issue: DocsAgentFeedbackIssueDraft;
29
+ }
30
+ interface DocsAgentFeedbackImprovementReport {
31
+ format: typeof DOCS_AGENT_FEEDBACK_IMPROVEMENT_FORMAT;
32
+ generatedAt: string;
33
+ feedbackCount: number;
34
+ failureCount: number;
35
+ recurringClusterCount: number;
36
+ clusters: DocsAgentFeedbackCluster[];
37
+ goldenTasks: DocsAgentGoldenTask[];
38
+ issueDrafts: DocsAgentFeedbackIssueDraft[];
39
+ pullRequestDraft: {
40
+ title: string;
41
+ body: string;
42
+ };
43
+ }
44
+ declare function analyzeDocsAgentFeedback(feedback: readonly DocsAgentFeedbackData[], options?: DocsAgentFeedbackImprovementOptions): DocsAgentFeedbackImprovementReport;
45
+ declare function readDocsAgentFeedbackFile(filePath: string): DocsAgentFeedbackData[];
46
+ //#endregion
47
+ //#region src/code-blocks.d.ts
48
+ interface DocsCodeBlockTarget {
49
+ id: string;
50
+ filePath: string;
51
+ relativePath: string;
52
+ lineStart: number;
53
+ lineEnd: number;
54
+ language?: string;
55
+ title?: string;
56
+ framework?: string;
57
+ packageManager?: string;
58
+ runnable: boolean;
59
+ env: string[];
60
+ meta: Record<string, string | boolean>;
61
+ code: string;
62
+ }
63
+ interface DocsCodeBlockCommand {
64
+ cmd: string;
65
+ args: string[];
66
+ }
67
+ interface DocsCodeBlockExecutionPlan {
68
+ id: string;
69
+ target: DocsCodeBlockTarget;
70
+ action: "execute" | "validate-syntax" | "skip";
71
+ template: string;
72
+ runtime?: string;
73
+ filePath?: string;
74
+ command?: DocsCodeBlockCommand;
75
+ requiredEnv: string[];
76
+ reason?: string;
77
+ planner: DocsCodeBlocksPlannerProvider;
78
+ }
79
+ type DocsCodeBlockValidationStatus = "PLAN" | "PASS" | "SKIP" | "FAIL";
80
+ interface DocsCodeBlockValidationResult {
81
+ id: string;
82
+ target: DocsCodeBlockTarget;
83
+ plan: DocsCodeBlockExecutionPlan;
84
+ status: DocsCodeBlockValidationStatus;
85
+ stdout?: string;
86
+ stderr?: string;
87
+ exitCode?: number | null;
88
+ reason?: string;
89
+ }
90
+ type OptionalModuleImporter = (specifier: string) => Promise<unknown>;
91
+ declare global {
92
+ var __DOCS_CODE_BLOCKS_MODULE_IMPORTER__: OptionalModuleImporter | undefined;
93
+ }
94
+ //#endregion
95
+ //#region src/agent-evals.d.ts
96
+ type DocsGoldenEvaluationStatus = "unmeasured" | "passed" | "failed";
97
+ type DocsGoldenEvaluationCoverageStatus = "measured" | "partially-measured" | "unmeasured";
98
+ type DocsGoldenTaskFilters = DocsAgentGoldenTaskFilters;
99
+ type DocsGoldenExpectedExample = DocsAgentGoldenExpectedExample;
100
+ type DocsGoldenTaskExpectation = DocsAgentGoldenTaskExpectation;
101
+ type DocsGoldenTask = DocsAgentGoldenTask;
102
+ interface DocsGoldenRetrievedSource {
103
+ rank: number;
104
+ url: string;
105
+ title: string;
106
+ framework?: string;
107
+ version?: string;
108
+ package?: string[];
109
+ tags?: string[];
110
+ utf8Bytes: number;
111
+ relevant: boolean;
112
+ truncated: boolean;
113
+ }
114
+ interface DocsGoldenRetrievalMetrics {
115
+ expectedRelevant: number;
116
+ retrievedRelevant: number;
117
+ recallAtK: number;
118
+ firstRelevantRank: number | null;
119
+ reciprocalRank: number;
120
+ forbiddenSources: string[];
121
+ passed: boolean;
122
+ }
123
+ interface DocsGoldenCitationMetrics {
124
+ /** Where the citation evidence came from. Context/results are not model-answer citations. */
125
+ evidence: "context" | "results";
126
+ expected: string[];
127
+ actual: string[];
128
+ missing: string[];
129
+ unexpected: string[];
130
+ precision: number;
131
+ recall: number;
132
+ /** True when every rendered Source line maps one-to-one to a returned source record. */
133
+ integrity: boolean;
134
+ passed: boolean;
135
+ }
136
+ interface DocsGoldenSelectionMetrics {
137
+ requestedFramework?: string;
138
+ requestedVersion?: string;
139
+ requestedPackage?: string | readonly string[];
140
+ requestedTags?: string | readonly string[];
141
+ requestedLocale?: string;
142
+ expectedFramework?: string;
143
+ expectedVersion?: string;
144
+ expectedPackage?: string | readonly string[];
145
+ expectedTags?: string | readonly string[];
146
+ expectedLocale?: string;
147
+ firstFrameworkMatchRank: number | null;
148
+ firstVersionMatchRank: number | null;
149
+ firstPackageMatchRank?: number | null;
150
+ firstTagsMatchRank?: number | null;
151
+ firstLocaleMatchRank: number | null;
152
+ conflictingSources: string[];
153
+ ambiguousSources: string[];
154
+ passed: boolean;
155
+ }
156
+ interface DocsGoldenExampleResult {
157
+ expected: DocsGoldenExpectedExample;
158
+ matchedId?: string;
159
+ source?: string;
160
+ verification: "present" | "syntax" | "execute";
161
+ status: "passed" | "failed" | "skipped";
162
+ reason?: string;
163
+ syntaxValid: boolean;
164
+ executed: boolean;
165
+ executionStatus?: DocsCodeBlockValidationResult["status"];
166
+ /** @deprecated Static/planner executability signal retained for report compatibility. */
167
+ executable: boolean;
168
+ passed: boolean;
169
+ }
170
+ interface DocsGoldenExampleMetrics {
171
+ expected: number;
172
+ matched: number;
173
+ syntaxValid: number;
174
+ executed: number;
175
+ /** @deprecated Count of statically/planner-executable examples retained for compatibility. */
176
+ executable: number;
177
+ results: DocsGoldenExampleResult[];
178
+ passed: boolean;
179
+ }
180
+ interface DocsGoldenUsageMetrics {
181
+ budgetUnit: "utf8-bytes";
182
+ tokenBudget: number;
183
+ usedUtf8Bytes: number;
184
+ remainingUtf8Bytes: number;
185
+ estimatedTokens: number;
186
+ /** Exact conservative upper bound: one token per UTF-8 byte. */
187
+ conservativeTokenUpperBound: number;
188
+ usefulUtf8Bytes: number;
189
+ usefulByteRatio: number;
190
+ truncated: boolean;
191
+ withinBudget: boolean;
192
+ passed: boolean;
193
+ }
194
+ interface DocsGoldenAnswerMetrics {
195
+ evidence: "answer";
196
+ expected: boolean;
197
+ provided: boolean;
198
+ textIncludesMissing: string[];
199
+ textExcludesPresent: string[];
200
+ citations: string[];
201
+ requiredCitations: string[];
202
+ missingCitations: string[];
203
+ unexpectedCitations: string[];
204
+ forbiddenCitations: string[];
205
+ passed: boolean;
206
+ }
207
+ type DocsGoldenSafetyCaseKind = "prompt-injection" | "poisoned-citations" | "authenticated-content" | "freshness" | "framework-version-conflict" | "deleted-section-tombstones";
208
+ interface DocsGoldenSafetyCaseResult {
209
+ kind: DocsGoldenSafetyCaseKind;
210
+ passed: boolean;
211
+ issues: string[];
212
+ }
213
+ interface DocsGoldenQueryVariantResult {
214
+ kind: DocsAgentGoldenQueryVariant["kind"];
215
+ query: string;
216
+ passed: boolean;
217
+ score: number;
218
+ firstRelevantRank: number | null;
219
+ citationIntegrity: boolean;
220
+ issues: string[];
221
+ }
222
+ interface DocsGoldenSafetyMetrics {
223
+ expected: boolean;
224
+ passed: boolean;
225
+ cases: DocsGoldenSafetyCaseResult[];
226
+ queryVariants: DocsGoldenQueryVariantResult[];
227
+ }
228
+ interface DocsGoldenTaskReport {
229
+ id: string;
230
+ query: string;
231
+ surface: DocsAgentEvaluationSurface;
232
+ provider: string;
233
+ status: "passed" | "failed";
234
+ passed: boolean;
235
+ score: number;
236
+ context: string;
237
+ sources: DocsGoldenRetrievedSource[];
238
+ retrieval: DocsGoldenRetrievalMetrics;
239
+ citations: DocsGoldenCitationMetrics;
240
+ answer: DocsGoldenAnswerMetrics;
241
+ safety: DocsGoldenSafetyMetrics;
242
+ selection: DocsGoldenSelectionMetrics;
243
+ examples: DocsGoldenExampleMetrics;
244
+ usage: DocsGoldenUsageMetrics;
245
+ issues: string[];
246
+ }
247
+ interface DocsGoldenTasksReport {
248
+ status: DocsGoldenEvaluationStatus;
249
+ passed: boolean | null;
250
+ /** Compatibility alias for quality.score. */
251
+ score: number | null;
252
+ taskCount: number;
253
+ passedTaskCount: number;
254
+ failedTaskCount: number;
255
+ /** Quality across only the expectations configured by each task. */
256
+ quality: DocsGoldenEvaluationQuality;
257
+ /** Coverage is intentionally separate so absent evaluation dimensions cannot look perfect. */
258
+ coverage: DocsGoldenEvaluationCoverage;
259
+ tasks: DocsGoldenTaskReport[];
260
+ }
261
+ interface DocsGoldenEvaluationQuality {
262
+ status: DocsGoldenEvaluationStatus;
263
+ passed: boolean | null;
264
+ score: number | null;
265
+ taskCount: number;
266
+ passedTaskCount: number;
267
+ failedTaskCount: number;
268
+ }
269
+ interface DocsGoldenEvaluationDimensionCoverage {
270
+ status: DocsGoldenEvaluationCoverageStatus;
271
+ measuredTaskCount: number;
272
+ totalTaskCount: number;
273
+ coveragePercent: number;
274
+ }
275
+ interface DocsGoldenEvaluationCoverage {
276
+ status: DocsGoldenEvaluationCoverageStatus;
277
+ measuredTaskDimensions: number;
278
+ totalTaskDimensions: number;
279
+ coveragePercent: number;
280
+ dimensions: {
281
+ safety: DocsGoldenEvaluationDimensionCoverage;
282
+ answerQuality: DocsGoldenEvaluationDimensionCoverage;
283
+ executableExamples: DocsGoldenEvaluationDimensionCoverage;
284
+ };
285
+ }
286
+ interface RunDocsGoldenTasksOptions {
287
+ /** Default evaluation surface. Tasks may override this with `task.surface`. */
288
+ surface?: DocsAgentEvaluationSurface;
289
+ /** Search configuration used by configured-search and ask-ai-context. */
290
+ search?: boolean | DocsSearchConfig;
291
+ /** Production-resolved Ask AI retrieval config, including `ai.useMcp`. */
292
+ askAISearch?: boolean | DocsSearchConfig;
293
+ siteTitle?: string;
294
+ baseUrl?: string;
295
+ rootDir?: string;
296
+ /** Permit external configured search or HTTP answer calls. @default false */
297
+ allowNetwork?: boolean;
298
+ /** Per-task configured-search/Ask-AI retrieval timeout in milliseconds. @default 30000 */
299
+ searchTimeoutMs?: number;
300
+ /** Project code-block validation config used only by explicit execute expectations. */
301
+ codeBlocksValidate?: boolean | DocsCodeBlocksValidateConfig;
302
+ /** Optional actual-answer runner. No model or HTTP request is made when omitted. */
303
+ answer?: DocsAgentEvaluationAnswerProvider;
304
+ }
305
+ declare function runDocsGoldenTasks(pages: readonly DocsMcpPage[], tasks: readonly DocsGoldenTask[] | undefined, options?: RunDocsGoldenTasksOptions): Promise<DocsGoldenTasksReport>;
306
+ //#endregion
307
+ //#region src/prompt-utils.d.ts
308
+ type PromptAction = "copy" | "open";
309
+ interface SerializedOpenDocsProvider {
310
+ name: string;
311
+ iconHtml?: string;
312
+ urlTemplate: string;
313
+ promptUrlTemplate?: string;
314
+ target?: OpenDocsTarget;
315
+ prompt?: string;
316
+ }
317
+ interface PromptProviderChoice {
318
+ name: string;
319
+ iconHtml?: string;
320
+ urlTemplate: string;
321
+ }
322
+ type PromptProviderInput = Pick<SerializedOpenDocsProvider, "name" | "iconHtml"> & Partial<Pick<SerializedOpenDocsProvider, "promptUrlTemplate" | "urlTemplate">>;
323
+ interface SerializeOpenDocsProviderOptions {
324
+ target?: OpenDocsTarget;
325
+ prompt?: string;
326
+ }
327
+ declare const DEFAULT_PROMPT_PROVIDER_TEMPLATES: Record<string, string>;
328
+ declare const DEFAULT_OPEN_DOCS_TARGET: OpenDocsTarget;
329
+ declare const DEFAULT_OPEN_DOCS_PROMPT = "Read this documentation: {url}";
330
+ declare const DEFAULT_OPEN_DOCS_PROVIDER_IDS: readonly ["chatgpt", "claude"];
331
+ declare function normalizePromptProviderName(name: string): string;
332
+ declare function serializeDocsIcon(icon: unknown): string | undefined;
333
+ declare function serializeDocsIconRegistry(icons?: Record<string, unknown>): Record<string, string> | undefined;
334
+ declare function serializeOpenDocsProviders(providers?: OpenDocsProvider[], options?: SerializeOpenDocsProviderOptions): SerializedOpenDocsProvider[] | undefined;
335
+ declare function serializeOpenDocsProvider(provider: OpenDocsProvider, options?: SerializeOpenDocsProviderOptions): SerializedOpenDocsProvider | undefined;
336
+ declare function parsePromptStringArray(value: unknown): string[] | undefined;
337
+ declare function resolvePromptProviderChoices(availableProviders?: PromptProviderInput[], preferredNames?: string[]): PromptProviderChoice[];
338
+ declare function sanitizePromptText(text: string): string;
339
+ //#endregion
340
+ //#region src/sitemap.d.ts
341
+ declare const DEFAULT_SITEMAP_XML_ROUTE = "/sitemap.xml";
342
+ declare const DEFAULT_SITEMAP_MD_ROUTE = "/sitemap.md";
343
+ declare const DEFAULT_SITEMAP_MD_DOCS_ROUTE = "/docs/sitemap.md";
344
+ declare const DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE = "/.well-known/sitemap.md";
345
+ declare const DEFAULT_SITEMAP_MANIFEST_PATH = ".farming-labs/sitemap-manifest.json";
346
+ type DocsSitemapFormat = "xml" | "markdown";
347
+ interface DocsSitemapPageInput {
348
+ slug?: string;
349
+ url: string;
350
+ /** Override the public Markdown representation URL when it differs from `${url}.md`. */
351
+ markdownUrl?: string;
352
+ title: string;
353
+ description?: string;
354
+ related?: ResolvedDocsRelatedLink[];
355
+ sourcePath?: string;
356
+ lastmod?: string;
357
+ lastModified?: string;
358
+ }
359
+ interface DocsSitemapManifestPage {
360
+ url: string;
361
+ absoluteUrl?: string;
362
+ markdownUrl: string;
363
+ title: string;
364
+ description?: string;
365
+ sourcePath?: string;
366
+ lastmod?: string;
367
+ lastmodSource?: "git" | "filesystem" | "frontmatter" | "manifest" | "unknown";
368
+ related?: string[];
369
+ }
370
+ interface DocsSitemapManifest {
371
+ version: 1;
372
+ generatedAt: string;
373
+ baseUrl?: string;
374
+ entry: string;
375
+ siteTitle?: string;
376
+ pages: DocsSitemapManifestPage[];
377
+ }
378
+ interface DocsSitemapResolvedConfig {
379
+ enabled: boolean;
380
+ routePrefix: string;
381
+ baseUrl?: string;
382
+ manifestPath: string;
383
+ xml: {
384
+ enabled: boolean;
385
+ includeLastmod: boolean;
386
+ route: string;
387
+ };
388
+ markdown: {
389
+ enabled: boolean;
390
+ includeDescriptions: boolean;
391
+ includeLastmod: boolean;
392
+ linkTarget: "html" | "markdown" | "both";
393
+ route: string;
394
+ docsRoute?: string;
395
+ wellKnownRoute: string;
396
+ };
397
+ }
398
+ interface CreateDocsSitemapResponseOptions extends DocsDiscoveryApiRouteOptions {
399
+ request: Request;
400
+ sitemap?: boolean | DocsSitemapConfig;
401
+ entry?: string;
402
+ siteTitle?: string;
403
+ baseUrl?: string;
404
+ pages: DocsSitemapPageInput[];
405
+ manifest?: DocsSitemapManifest | null;
406
+ }
407
+ declare function resolveDocsSitemapConfig(sitemap?: boolean | DocsSitemapConfig, defaults?: {
408
+ baseUrl?: string;
409
+ }): DocsSitemapResolvedConfig;
410
+ declare function resolveDocsSitemapRequest(url: URL, sitemap?: boolean | DocsSitemapConfig, options?: DocsDiscoveryApiRouteOptions): DocsSitemapFormat | null;
411
+ declare function toDocsSitemapMarkdownUrl(url: string): string;
412
+ declare function buildDocsSitemapManifest(options: {
413
+ pages: DocsSitemapPageInput[];
414
+ entry?: string;
415
+ siteTitle?: string;
416
+ baseUrl?: string;
417
+ generatedAt?: string;
418
+ resolveLastmod?: (page: DocsSitemapPageInput) => {
419
+ lastmod?: string;
420
+ lastmodSource?: DocsSitemapManifestPage["lastmodSource"];
421
+ } | undefined;
422
+ }): DocsSitemapManifest;
423
+ declare function renderDocsSitemapXml(manifest: DocsSitemapManifest, options?: {
424
+ baseUrl?: string;
425
+ includeLastmod?: boolean;
426
+ }): string;
427
+ declare function renderDocsSitemapMarkdown(manifest: DocsSitemapManifest, options?: {
428
+ baseUrl?: string;
429
+ includeDescriptions?: boolean;
430
+ includeLastmod?: boolean;
431
+ linkTarget?: "html" | "markdown" | "both";
432
+ }): string;
433
+ declare function readDocsSitemapManifestFromContentMap(contentMap?: Record<string, string> | null): DocsSitemapManifest | null;
434
+ declare function resolveDocsSitemapPageLastmod(manifest: DocsSitemapManifest | null | undefined, url: string): string | undefined;
435
+ declare function createDocsSitemapResponse({
436
+ request,
437
+ apiRoute,
438
+ sitemap,
439
+ entry,
440
+ siteTitle,
441
+ baseUrl,
442
+ pages,
443
+ manifest
444
+ }: CreateDocsSitemapResponseOptions): Response | null;
445
+ //#endregion
446
+ //#region src/pagination.d.ts
447
+ declare class DocsPaginationCursorError extends Error {
448
+ readonly code = "invalid_cursor";
449
+ constructor();
450
+ }
451
+ //#endregion
452
+ //#region src/retrieval-digest.d.ts
453
+ /** Validate the bounded HTTP(S) URL or root-relative URI reference used by provenance. */
454
+ declare function isDocsRetrievalCanonicalUrl(value: string): boolean;
455
+ /** Hash exact bytes with portable SHA-256 in Node, edge, and browser runtimes. */
456
+ declare function sha256DocsContent(value: string | Uint8Array): string;
457
+ /** Hash exact message-content bytes with portable SHA-256. */
458
+ declare function digestDocsContent(value: string | Uint8Array): `sha256:${string}`;
459
+ /**
460
+ * Hash the normalized retrieval projection used by search provenance.
461
+ *
462
+ * The projection removes one leading BOM, normalizes line endings to LF, and trims
463
+ * trailing whitespace. This deliberately differs from HTTP digests over exact bytes.
464
+ */
465
+ declare function digestDocsRetrievalContent(value: string): `sha256:${string}`;
466
+ //#endregion
467
+ export { DocsGoldenRetrievedSource as $, PromptProviderChoice as A, serializeOpenDocsProviders as B, resolveDocsSitemapRequest as C, DEFAULT_OPEN_DOCS_TARGET as D, DEFAULT_OPEN_DOCS_PROVIDER_IDS as E, resolvePromptProviderChoices as F, DocsGoldenEvaluationDimensionCoverage as G, DocsGoldenCitationMetrics as H, sanitizePromptText as I, DocsGoldenExampleMetrics as J, DocsGoldenEvaluationQuality as K, serializeDocsIcon as L, SerializedOpenDocsProvider as M, normalizePromptProviderName as N, DEFAULT_PROMPT_PROVIDER_TEMPLATES as O, parsePromptStringArray as P, DocsGoldenRetrievalMetrics as Q, serializeDocsIconRegistry as R, resolveDocsSitemapPageLastmod as S, DEFAULT_OPEN_DOCS_PROMPT as T, DocsGoldenEvaluationCoverage as U, DocsGoldenAnswerMetrics as V, DocsGoldenEvaluationCoverageStatus as W, DocsGoldenExpectedExample as X, DocsGoldenExampleResult as Y, DocsGoldenQueryVariantResult as Z, createDocsSitemapResponse as _, analyzeDocsAgentFeedback as _t, DocsPaginationCursorError as a, DocsGoldenTaskExpectation as at, renderDocsSitemapXml as b, DEFAULT_SITEMAP_MD_ROUTE as c, DocsGoldenTasksReport as ct, DocsSitemapFormat as d, runDocsGoldenTasks as dt, DocsGoldenSafetyCaseKind as et, DocsSitemapManifest as f, DOCS_AGENT_FEEDBACK_IMPROVEMENT_FORMAT as ft, buildDocsSitemapManifest as g, DocsAgentFeedbackIssueDraft as gt, DocsSitemapResolvedConfig as h, DocsAgentFeedbackImprovementReport as ht, sha256DocsContent as i, DocsGoldenTask as it, SerializeOpenDocsProviderOptions as j, PromptAction as k, DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE as l, DocsGoldenUsageMetrics as lt, DocsSitemapPageInput as m, DocsAgentFeedbackImprovementOptions as mt, digestDocsRetrievalContent as n, DocsGoldenSafetyMetrics as nt, DEFAULT_SITEMAP_MANIFEST_PATH as o, DocsGoldenTaskFilters as ot, DocsSitemapManifestPage as p, DocsAgentFeedbackCluster as pt, DocsGoldenEvaluationStatus as q, isDocsRetrievalCanonicalUrl as r, DocsGoldenSelectionMetrics as rt, DEFAULT_SITEMAP_MD_DOCS_ROUTE as s, DocsGoldenTaskReport as st, digestDocsContent as t, DocsGoldenSafetyCaseResult as tt, DEFAULT_SITEMAP_XML_ROUTE as u, RunDocsGoldenTasksOptions as ut, readDocsSitemapManifestFromContentMap as v, readDocsAgentFeedbackFile as vt, toDocsSitemapMarkdownUrl as w, resolveDocsSitemapConfig as x, renderDocsSitemapMarkdown as y, serializeOpenDocsProvider as z };
@@ -1,16 +1,16 @@
1
- import { A as buildDocsAgentDiscoverySpec, M as buildDocsConfigMap, Sn as findDocsAudienceMdxIssues, T as DOCS_CONFIG_MAP_TOP_LEVEL_KEYS, Wn as getDocsMcpProtectedResourceMetadataRoutes, pn as resolveAskAISearchRequestConfig } from "./agent-PSrgiJD8.mjs";
2
- import { _ as hasStructuredPageAgentContract, f as PAGE_AGENT_CONTRACT_FIELDS, g as getPageAgentFrontmatterIssues, v as normalizePageAgentFrontmatter } from "./markdown-sections-7OoA7ylx.mjs";
3
- import { I as resolveDocsDiscoveryApiRoute, _ as DEFAULT_API_CATALOG_FORMAT, d as DEFAULT_AGENT_SKILLS_ROUTE_PATTERN, h as DEFAULT_AGENT_SKILL_FORMAT, l as DEFAULT_AGENT_SKILLS_INDEX_FORMAT, u as DEFAULT_AGENT_SKILLS_INDEX_ROUTE, v as DEFAULT_API_CATALOG_ROUTE } from "./standards-discovery-Ckx0tN7B.mjs";
4
- import "./openapi-mcp-B7u7Y0gB.mjs";
5
- import { a as resolveDocsMetadataBaseUrl } from "./metadata-D4v_R1t5.mjs";
6
- import "./agent-skills-server-DFqQyO_V.mjs";
7
- import { c as resolveDocsReviewConfig, o as ensureDocsReviewWorkflow, s as readDocsReviewConfigFromSource, t as runDocsGoldenTasks } from "./agent-evals-U9d_db2u.mjs";
1
+ import { _ as hasStructuredPageAgentContract, f as PAGE_AGENT_CONTRACT_FIELDS, g as getPageAgentFrontmatterIssues, v as normalizePageAgentFrontmatter } from "./markdown-sections-BKy4labo.mjs";
2
+ import { A as buildDocsAgentDiscoverySpec, Cn as findDocsAudienceMdxIssues, Gn as getDocsMcpProtectedResourceMetadataRoutes, M as buildDocsConfigMap, T as DOCS_CONFIG_MAP_TOP_LEVEL_KEYS, mn as resolveAskAISearchRequestConfig } from "./agent-DCTGj6J7.mjs";
3
+ import { I as resolveDocsDiscoveryApiRoute, _ as DEFAULT_API_CATALOG_FORMAT, d as DEFAULT_AGENT_SKILLS_ROUTE_PATTERN, h as DEFAULT_AGENT_SKILL_FORMAT, l as DEFAULT_AGENT_SKILLS_INDEX_FORMAT, u as DEFAULT_AGENT_SKILLS_INDEX_ROUTE, v as DEFAULT_API_CATALOG_ROUTE } from "./standards-discovery-Bpz90VYq.mjs";
4
+ import "./openapi-mcp-DQ3xptKo.mjs";
5
+ import { a as resolveDocsMetadataBaseUrl } from "./metadata-7htr-Xj_.mjs";
6
+ import "./agent-skills-server-Ddbf15pY.mjs";
7
+ import { c as resolveDocsReviewConfig, o as ensureDocsReviewWorkflow, s as readDocsReviewConfigFromSource, t as runDocsGoldenTasks } from "./agent-evals-D-sPJfXz.mjs";
8
8
  import { createFilesystemDocsMcpSource, getDocsConfigSchema, resolveDocsMcpConfig } from "./mcp.mjs";
9
- import "./code-blocks-c3nIrWOM.mjs";
10
- import { _ as resolveDocsContentDir, g as resolveDocsConfigPath, h as readTopLevelStringProperty, s as loadDocsConfigModuleResultWithProjectEnv } from "./config-BhF6J2N4.mjs";
11
- import { t as detectFramework } from "./utils-DcCUwxqS.mjs";
12
- import { a as extractAgentBlocks, i as createAgentUsefulnessPagesFromMcp, n as analyzeAgentSurfaceDrift, r as analyzeAgentUsefulness, t as resolveGoldenEvaluationInput } from "./golden-evaluations-7k7Akp3R.mjs";
13
- import { t as analyzeConfiguredAgentSkillsProgressiveDisclosure } from "./agent-skills-progressive-disclosure-CfIsq4Ew.mjs";
9
+ import "./code-blocks-D90CCJFs.mjs";
10
+ import { _ as resolveDocsContentDir, g as resolveDocsConfigPath, h as readTopLevelStringProperty, s as loadDocsConfigModuleResultWithProjectEnv } from "./config-DrZ3fXgf.mjs";
11
+ import { t as detectFramework } from "./utils-Cc1SrVza.mjs";
12
+ import { a as extractAgentBlocks, i as createAgentUsefulnessPagesFromMcp, n as analyzeAgentSurfaceDrift, r as analyzeAgentUsefulness, t as resolveGoldenEvaluationInput } from "./golden-evaluations-De4KwoYr.mjs";
13
+ import { t as analyzeConfiguredAgentSkillsProgressiveDisclosure } from "./agent-skills-progressive-disclosure-DL-q4JZo.mjs";
14
14
  import matter from "gray-matter";
15
15
  import { existsSync, lstatSync, readFileSync, readdirSync } from "node:fs";
16
16
  import path from "node:path";
@@ -1,5 +1,5 @@
1
- import { Bn as DEFAULT_MCP_PUBLIC_ROUTE, Hn as DEFAULT_MCP_WELL_KNOWN_ROUTE, It as resolveDocsSitemapConfig, S as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, a as DEFAULT_AGENT_MD_ROUTE, c as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, et as normalizeDocsPathSegment, g as DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, h as DEFAULT_LLMS_FULL_TXT_ROUTE, l as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, o as DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, t as DEFAULT_AGENTS_MD_ROUTE, v as DEFAULT_LLMS_TXT_ROUTE, x as DEFAULT_SKILL_MD_ROUTE, y as DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE } from "./agent-PSrgiJD8.mjs";
2
- import { 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, v as DEFAULT_API_CATALOG_ROUTE, x as DEFAULT_LEGACY_SKILLS_ROUTE_PREFIX } from "./standards-discovery-Ckx0tN7B.mjs";
1
+ import { Lt as resolveDocsSitemapConfig, S as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, Un as DEFAULT_MCP_WELL_KNOWN_ROUTE, Vn as DEFAULT_MCP_PUBLIC_ROUTE, a as DEFAULT_AGENT_MD_ROUTE, 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, l as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, o as DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, t as DEFAULT_AGENTS_MD_ROUTE, tt as normalizeDocsPathSegment, v as DEFAULT_LLMS_TXT_ROUTE, x as DEFAULT_SKILL_MD_ROUTE, y as DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE } from "./agent-DCTGj6J7.mjs";
2
+ import { 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, v as DEFAULT_API_CATALOG_ROUTE, x as DEFAULT_LEGACY_SKILLS_ROUTE_PREFIX } from "./standards-discovery-Bpz90VYq.mjs";
3
3
 
4
4
  //#region src/robots.ts
5
5
  const DEFAULT_ROBOTS_TXT_ROUTE = "/robots.txt";
@@ -1,9 +1,9 @@
1
- import "./agent-PSrgiJD8.mjs";
2
- import "./markdown-sections-7OoA7ylx.mjs";
3
- import "./standards-discovery-Ckx0tN7B.mjs";
4
- 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-DNod0XKB.mjs";
5
- import { a as loadDocsConfigModule, g as resolveDocsConfigPath, h as readTopLevelStringProperty, l as readBooleanProperty, m as readTopLevelBooleanProperty, p as readStringProperty, t as extractNestedObjectLiteral } from "./config-BhF6J2N4.mjs";
6
- import { t as detectFramework } from "./utils-DcCUwxqS.mjs";
1
+ import "./markdown-sections-BKy4labo.mjs";
2
+ import "./agent-DCTGj6J7.mjs";
3
+ import "./standards-discovery-Bpz90VYq.mjs";
4
+ 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-BOjWB1ky.mjs";
5
+ import { a as loadDocsConfigModule, g as resolveDocsConfigPath, h as readTopLevelStringProperty, l as readBooleanProperty, m as readTopLevelBooleanProperty, p as readStringProperty, t as extractNestedObjectLiteral } from "./config-DrZ3fXgf.mjs";
6
+ import { t as detectFramework } from "./utils-Cc1SrVza.mjs";
7
7
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
8
8
  import path from "node:path";
9
9
  import pc from "picocolors";
@@ -1,17 +1,17 @@
1
- import { en as buildDocsSearchDocuments, nn as createAlgoliaSearchAdapter, on as createTypesenseSearchAdapter } from "./agent-PSrgiJD8.mjs";
2
- import "./markdown-sections-7OoA7ylx.mjs";
3
- import "./standards-discovery-Ckx0tN7B.mjs";
4
- import "./openapi-mcp-B7u7Y0gB.mjs";
5
- import { t as resolveDocsI18n } from "./i18n-B3BIxShC.mjs";
6
- import { a as resolveDocsMetadataBaseUrl } from "./metadata-D4v_R1t5.mjs";
7
- import "./sitemap-server-C2TauhKa.mjs";
8
- import "./agent-skills-server-DFqQyO_V.mjs";
9
- import "./agent-evals-U9d_db2u.mjs";
1
+ import "./markdown-sections-BKy4labo.mjs";
2
+ import { rn as createAlgoliaSearchAdapter, sn as createTypesenseSearchAdapter, tn as buildDocsSearchDocuments } from "./agent-DCTGj6J7.mjs";
3
+ import "./standards-discovery-Bpz90VYq.mjs";
4
+ import "./openapi-mcp-DQ3xptKo.mjs";
5
+ import { t as resolveDocsI18n } from "./i18n-B1gJ9EW0.mjs";
6
+ import { a as resolveDocsMetadataBaseUrl } from "./metadata-7htr-Xj_.mjs";
7
+ import "./sitemap-server-NeVu8W38.mjs";
8
+ import "./agent-skills-server-Ddbf15pY.mjs";
9
+ import "./agent-evals-D-sPJfXz.mjs";
10
10
  import { createFilesystemDocsMcpSource } from "./mcp.mjs";
11
- import "./authoring-mcp-BCM5CJbJ.mjs";
12
- import "./code-blocks-c3nIrWOM.mjs";
11
+ import "./authoring-mcp-Be7quE5R.mjs";
12
+ import "./code-blocks-D90CCJFs.mjs";
13
13
  import "./server.mjs";
14
- import { _ as resolveDocsContentDir, c as loadProjectEnv, g as resolveDocsConfigPath, h as readTopLevelStringProperty, s as loadDocsConfigModuleResultWithProjectEnv } from "./config-BhF6J2N4.mjs";
14
+ import { _ as resolveDocsContentDir, c as loadProjectEnv, g as resolveDocsConfigPath, h as readTopLevelStringProperty, s as loadDocsConfigModuleResultWithProjectEnv } from "./config-DrZ3fXgf.mjs";
15
15
  import { readFileSync } from "node:fs";
16
16
  import path from "node:path";
17
17
  import pc from "picocolors";