@farming-labs/docs 0.2.117 → 0.2.119

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 (85) hide show
  1. package/dist/{agent-DGNTD-N6.mjs → agent-CYk2DxY7.mjs} +4 -4
  2. package/dist/{agent-CEZCaYto.mjs → agent-DkAidqtV.mjs} +23 -9
  3. package/dist/{agent-evals-CmeTjDMC.mjs → agent-evals-BLNLvXbG.mjs} +4 -4
  4. package/dist/{agent-export-DIKwVWYN.mjs → agent-export-Cxljt6RP.mjs} +16 -12
  5. package/dist/{agent-feedback-evaluations-DQCTFegz.mjs → agent-feedback-evaluations-CcMGlgsO.mjs} +1 -1
  6. package/dist/agent-skills-bundle.d.mts +1 -1
  7. package/dist/{agent-skills-progressive-disclosure-BDSjGGFd.mjs → agent-skills-progressive-disclosure-PjPtTYL-.mjs} +1 -1
  8. package/dist/{agent-skills-server-Ddm90WL6.mjs → agent-skills-server-BC7md56k.mjs} +224 -46
  9. package/dist/{agent-skills-server-BWRJjIQG.d.mts → agent-skills-server-CTNWr23x.d.mts} +2 -2
  10. package/dist/agent-skills-vite.d.mts +3 -3
  11. package/dist/agent-skills-vite.mjs +2 -2
  12. package/dist/{agents-l8RtkFim.mjs → agents-jtn256sz.mjs} +15 -11
  13. package/dist/{analytics-R9c-Md4b.d.mts → analytics-B8RZiKUt.d.mts} +1 -1
  14. package/dist/{analytics-CqfcIBdg.mjs → analytics-p8Vhhu2P.mjs} +1 -1
  15. package/dist/{api-reference-0XdEWya8.mjs → api-reference-By_LokQ-.mjs} +1 -1
  16. package/dist/{authoring-CvsCmYuq.mjs → authoring-C2ymvYWl.mjs} +8 -6
  17. package/dist/{authoring-mcp-C35lj3cI.mjs → authoring-mcp-CiCUQe3o.mjs} +1 -1
  18. package/dist/browser.d.mts +4 -4
  19. package/dist/browser.mjs +7 -4
  20. package/dist/cli/index.mjs +38 -38
  21. package/dist/client/react.d.mts +1 -1
  22. package/dist/client/react.mjs +1 -1
  23. package/dist/{cloud-DtmNQJg2.mjs → cloud-6eKrlmKd.mjs} +3 -3
  24. package/dist/{cloud-ask-ai-DLyrydIR.d.mts → cloud-ask-ai-BOahlsIZ.d.mts} +1 -1
  25. package/dist/{cloud-ask-ai-BDtBbbZZ.mjs → cloud-ask-ai-BqKhjpS5.mjs} +8 -7
  26. package/dist/{codeblocks-DEcqNXve.mjs → codeblocks-CHpgAwY-.mjs} +1 -1
  27. package/dist/{content-change-hydration-BWJNUIot.d.mts → content-change-hydration-CvHJadhE.d.mts} +3 -3
  28. package/dist/{dev-Df77AKR1.mjs → dev-Bnn-NUNa.mjs} +2 -2
  29. package/dist/docs-cloud-server.d.mts +2 -2
  30. package/dist/docs-cloud-server.mjs +3 -2
  31. package/dist/{doctor-zNmt9s6j.mjs → doctor-CUMgbglt.mjs} +21 -17
  32. package/dist/{downgrade-C6DSsOO9.mjs → downgrade-CHMta85e.mjs} +2 -2
  33. package/dist/{feedback-evals-CYuS2wTu.mjs → feedback-evals-DMilg9pY.mjs} +1 -1
  34. package/dist/{golden-evaluations-B1QDOzYj.mjs → golden-evaluations-CLUViycJ.mjs} +2 -2
  35. package/dist/http-body-DkAPk6D5.mjs +64 -0
  36. package/dist/index.d.mts +26 -43
  37. package/dist/index.mjs +13 -13
  38. package/dist/{init-BXKzipSS.mjs → init-K0LmXDZ5.mjs} +3 -3
  39. package/dist/markdown-rendering.mjs +1 -1
  40. package/dist/{mcp-Bj3ZoEtt.mjs → mcp-Bvha6_mG.mjs} +16 -12
  41. package/dist/mcp.d.mts +3 -3
  42. package/dist/mcp.mjs +79 -22
  43. package/dist/{metadata-7htr-Xj_.mjs → metadata-BOHn0Y5K.mjs} +1 -1
  44. package/dist/{openapi-diff-DKW3xkQU.mjs → openapi-diff-BOESBfnP.mjs} +6 -5
  45. package/dist/{openapi-mcp-UF4Cx885.mjs → openapi-mcp-BIOTLiA7.mjs} +4 -316
  46. package/dist/{openapi-sdk-DqRHPsCb.mjs → openapi-sdk-DJutz2AC.mjs} +6 -5
  47. package/dist/{openapi-source-CiKbUK71.mjs → openapi-source-CiX3hwFp.mjs} +1 -1
  48. package/dist/{package-version-CTkii52k.mjs → package-version-HJhYeq4M.mjs} +1 -1
  49. package/dist/{prompt-references-Cficetgk.mjs → prompt-references-DMgbu_dz.mjs} +20 -4
  50. package/dist/{sitemap-server-C4bpuoLi.mjs → prompt-utils-B5g-bv7o.mjs} +1 -17
  51. package/dist/{retrieval-digest-PD4fFy7P.d.mts → retrieval-digest-DLAQsQmx.d.mts} +2 -109
  52. package/dist/{review-CcplK9Hj.mjs → review-C6EmbV0l.mjs} +13 -11
  53. package/dist/{robots-BPYWIGqD.mjs → robots-BYJAVeI6.mjs} +2 -2
  54. package/dist/{robots-D4T3zZr_.mjs → robots-DteZB8vl.mjs} +7 -6
  55. package/dist/runtime.d.mts +5 -0
  56. package/dist/runtime.mjs +12 -0
  57. package/dist/{search-BNmlDQJ2.mjs → search-DKcdZgGx.mjs} +16 -12
  58. package/dist/server.d.mts +8 -116
  59. package/dist/server.mjs +15 -12
  60. package/dist/sidebar-C2LKcU7n.d.mts +63 -0
  61. package/dist/sidebar-CFHBj29f.mjs +421 -0
  62. package/dist/{sitemap-Bc4LkIcm.mjs → sitemap-CBQoERNz.mjs} +15 -11
  63. package/dist/sitemap-DafdOrxK.d.mts +110 -0
  64. package/dist/sitemap-server-C9r22_06.d.mts +114 -0
  65. package/dist/sitemap-server-Lg3YhUx4.mjs +18 -0
  66. package/dist/{skills-B6wl1bUL.mjs → skills-a90P31sJ.mjs} +15 -11
  67. package/dist/{standards-discovery-C1RLKwV9.d.mts → standards-discovery-1fiUVDAo.d.mts} +1 -1
  68. package/dist/{standards-discovery-Bpz90VYq.mjs → standards-discovery-sSEojU80.mjs} +1 -1
  69. package/dist/{types-Dkl2DUfp.d.mts → types-BncG8J3g.d.mts} +1 -1
  70. package/dist/{upgrade-8zStRidw.mjs → upgrade-DlQMOFV1.mjs} +2 -2
  71. package/package.json +8 -3
  72. package/dist/audience-exposure-DVsfT9Sx.mjs +0 -8
  73. package/dist/sidebar-3W51s2sF.mjs +0 -73
  74. package/dist/sidebar-CGbvEPTX.d.mts +0 -15
  75. /package/dist/{audience-exposure-BAjHjaTT.d.mts → audience-exposure-DBrFWULA.d.mts} +0 -0
  76. /package/dist/{cloud-analytics-Ci1yiwD8.mjs → cloud-analytics-D14HplI7.mjs} +0 -0
  77. /package/dist/{config-BnUOoj07.mjs → config-BZnKAj_Y.mjs} +0 -0
  78. /package/dist/{errors-BkS29NUA.mjs → errors-BtnVLhNF.mjs} +0 -0
  79. /package/dist/{feedback-CNsQP2jY.mjs → feedback-DL4T5oIO.mjs} +0 -0
  80. /package/dist/{markdown-sections-BKy4labo.mjs → markdown-sections-9Oxr33b-.mjs} +0 -0
  81. /package/dist/{openapi-anOaQn9o.mjs → openapi-CfCzX_a1.mjs} +0 -0
  82. /package/dist/{propose-ZH_mGMY_.mjs → propose-JmUv_BTt.mjs} +0 -0
  83. /package/dist/{retrieval-digest-B-SgtXKK.mjs → retrieval-digest-CT-eIEcp.mjs} +0 -0
  84. /package/dist/{templates-BiORflC3.mjs → templates-BuQ8YsGv.mjs} +0 -0
  85. /package/dist/{utils-c9arebCi.mjs → utils-C7KDrPpA.mjs} +0 -0
@@ -0,0 +1,18 @@
1
+ import { Rt as resolveDocsSitemapConfig } from "./agent-DkAidqtV.mjs";
2
+ import { existsSync, readFileSync } from "node:fs";
3
+ import path from "node:path";
4
+
5
+ //#region src/sitemap-server.ts
6
+ function readDocsSitemapManifest(rootDir, sitemap) {
7
+ const resolved = resolveDocsSitemapConfig(sitemap);
8
+ const manifestPath = path.resolve(rootDir, resolved.manifestPath);
9
+ if (!existsSync(manifestPath)) return null;
10
+ try {
11
+ return JSON.parse(readFileSync(manifestPath, "utf-8"));
12
+ } catch {
13
+ return null;
14
+ }
15
+ }
16
+
17
+ //#endregion
18
+ export { readDocsSitemapManifest as t };
@@ -1,18 +1,22 @@
1
- import { _ as hasStructuredPageAgentContract, v as normalizePageAgentFrontmatter } from "./markdown-sections-BKy4labo.mjs";
2
- import "./agent-CEZCaYto.mjs";
3
- import "./standards-discovery-Bpz90VYq.mjs";
1
+ import "./http-body-DkAPk6D5.mjs";
2
+ import { _ as hasStructuredPageAgentContract, v as normalizePageAgentFrontmatter } from "./markdown-sections-9Oxr33b-.mjs";
3
+ import "./agent-DkAidqtV.mjs";
4
+ import "./standards-discovery-sSEojU80.mjs";
4
5
  import { isDocsAgentSkillName, validateDocsAgentSkillFrontmatter } from "./agent-skills-spec.mjs";
5
- import "./openapi-mcp-UF4Cx885.mjs";
6
- import "./sitemap-server-C4bpuoLi.mjs";
7
- import "./api-reference-0XdEWya8.mjs";
8
- import "./agent-skills-server-Ddm90WL6.mjs";
9
- import "./agent-evals-CmeTjDMC.mjs";
6
+ import "./sidebar-CFHBj29f.mjs";
7
+ import "./openapi-mcp-BIOTLiA7.mjs";
8
+ import "./prompt-utils-B5g-bv7o.mjs";
9
+ import "./api-reference-By_LokQ-.mjs";
10
+ import "./agent-skills-server-BC7md56k.mjs";
11
+ import "./agent-evals-BLNLvXbG.mjs";
10
12
  import { createFilesystemDocsMcpSource } from "./mcp.mjs";
11
- import "./authoring-mcp-C35lj3cI.mjs";
13
+ import "./authoring-mcp-CiCUQe3o.mjs";
14
+ import "./cloud-ask-ai-BqKhjpS5.mjs";
12
15
  import "./code-blocks-GYdvS3BH.mjs";
16
+ import "./sitemap-server-Lg3YhUx4.mjs";
13
17
  import "./server.mjs";
14
- import { _ as resolveDocsContentDir, a as loadDocsConfigModule, d as readNavTitle, g as resolveDocsConfigPath, h as readTopLevelStringProperty, p as readStringProperty, t as extractNestedObjectLiteral } from "./config-BnUOoj07.mjs";
15
- import { n as estimateAgentSkillInstructionTokens, r as resolveDocsAgentSkillsProgressiveDisclosureConfig } from "./agent-skills-progressive-disclosure-BDSjGGFd.mjs";
18
+ import { _ as resolveDocsContentDir, a as loadDocsConfigModule, d as readNavTitle, g as resolveDocsConfigPath, h as readTopLevelStringProperty, p as readStringProperty, t as extractNestedObjectLiteral } from "./config-BZnKAj_Y.mjs";
19
+ import { n as estimateAgentSkillInstructionTokens, r as resolveDocsAgentSkillsProgressiveDisclosureConfig } from "./agent-skills-progressive-disclosure-PjPtTYL-.mjs";
16
20
  import { existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, rmSync, writeFileSync } from "node:fs";
17
21
  import path from "node:path";
18
22
  import { createHash } from "node:crypto";
@@ -1,4 +1,4 @@
1
- import { F as DocsAgentA2ASkill, M as DocsAgentA2ASecurityRequirement, N as DocsAgentA2ASecurityScheme, _ as DocsAgentA2ACapabilities, j as DocsAgentA2AProtocolBinding, v as DocsAgentA2AConfig } from "./types-Dkl2DUfp.mjs";
1
+ import { F as DocsAgentA2ASkill, M as DocsAgentA2ASecurityRequirement, N as DocsAgentA2ASecurityScheme, _ as DocsAgentA2ACapabilities, j as DocsAgentA2AProtocolBinding, v as DocsAgentA2AConfig } from "./types-BncG8J3g.mjs";
2
2
 
3
3
  //#region src/standards-discovery.d.ts
4
4
  declare const DEFAULT_API_CATALOG_ROUTE = "/.well-known/api-catalog";
@@ -1,4 +1,4 @@
1
- import { i as sha256DocsContent } from "./retrieval-digest-B-SgtXKK.mjs";
1
+ import { i as sha256DocsContent } from "./retrieval-digest-CT-eIEcp.mjs";
2
2
  import { parseDocsAgentSkillFrontmatter, validateDocsAgentSkillFrontmatter } from "./agent-skills-spec.mjs";
3
3
 
4
4
  //#region src/http-cache.ts
@@ -904,7 +904,7 @@ interface DocsAnalyticsConfig {
904
904
  cloud?: boolean;
905
905
  }
906
906
  type DocsTelemetryFramework = "next" | "tanstack-start" | "farmjs" | "sveltekit" | "astro" | "nuxt" | "mcp" | (string & {});
907
- type DocsTelemetryEventType = "project_detected" | "agent_surface_used" | "mcp_request" | "mcp_tool_used" | (string & {});
907
+ type DocsTelemetryEventType = "project_detected" | "page_view" | "agent_surface_used" | "mcp_request" | "mcp_tool_used" | (string & {});
908
908
  type DocsTelemetryAgentSurface = "agent_spec" | "agents" | "skill" | "markdown" | "llms" | "agent_feedback_schema" | "agent_feedback_submit" | "content_changes" | "ask_ai" | "mcp";
909
909
  interface DocsTelemetryConfig {
910
910
  /** Enable Farming Labs maintainer telemetry. Defaults to production-only enabled. */
@@ -1,5 +1,5 @@
1
- import { c as fileExists, o as exec } from "./utils-c9arebCi.mjs";
2
- import { a as getPackagesForFramework, c as resolveDocsPackageManager, i as frameworkFromPreset, l as validateUpgradeVersion, n as PRESETS, o as presetFromFramework, r as buildDocsPackageInstallCommand, s as resolveDocsPackageFramework, t as PACKAGES_BY_FRAMEWORK } from "./package-version-CTkii52k.mjs";
1
+ import { c as fileExists, o as exec } from "./utils-C7KDrPpA.mjs";
2
+ import { a as getPackagesForFramework, c as resolveDocsPackageManager, i as frameworkFromPreset, l as validateUpgradeVersion, n as PRESETS, o as presetFromFramework, r as buildDocsPackageInstallCommand, s as resolveDocsPackageFramework, t as PACKAGES_BY_FRAMEWORK } from "./package-version-HJhYeq4M.mjs";
3
3
  import path from "node:path";
4
4
  import pc from "picocolors";
5
5
  import * as p from "@clack/prompts";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farming-labs/docs",
3
- "version": "0.2.117",
3
+ "version": "0.2.119",
4
4
  "description": "Modern, flexible MDX-based docs framework — core types, config, and CLI",
5
5
  "keywords": [
6
6
  "docs",
@@ -34,6 +34,11 @@
34
34
  "import": "./dist/server.mjs",
35
35
  "default": "./dist/server.mjs"
36
36
  },
37
+ "./runtime": {
38
+ "types": "./dist/runtime.d.mts",
39
+ "import": "./dist/runtime.mjs",
40
+ "default": "./dist/runtime.mjs"
41
+ },
37
42
  "./markdown-rendering": {
38
43
  "types": "./dist/markdown-rendering.d.mts",
39
44
  "import": "./dist/markdown-rendering.mjs",
@@ -89,7 +94,7 @@
89
94
  "parse-entities": "^4.0.2",
90
95
  "picocolors": "^1.1.1",
91
96
  "remark-gfm": "^4.0.1",
92
- "yaml": "^2.8.2",
97
+ "yaml": "^2.8.3",
93
98
  "zod": "^4.3.6"
94
99
  },
95
100
  "peerDependencies": {
@@ -101,7 +106,7 @@
101
106
  }
102
107
  },
103
108
  "devDependencies": {
104
- "@modelcontextprotocol/client": "2.0.0",
109
+ "@modelcontextprotocol/client": "2.2.0",
105
110
  "@types/node": "^22.10.0",
106
111
  "@types/react": "^19.2.2",
107
112
  "ajv": "^8.18.0",
@@ -1,8 +0,0 @@
1
- //#region src/audience-exposure.ts
2
- /** Resolve whether content with an optional audience restriction is visible. */
3
- function resolveDocsAudienceExposure(only, audience) {
4
- return only !== "human" && only !== "agent" || only === audience;
5
- }
6
-
7
- //#endregion
8
- export { resolveDocsAudienceExposure as t };
@@ -1,73 +0,0 @@
1
- //#region src/sidebar.ts
2
- function resolvePageSidebarFolderIndexBehavior(sidebar) {
3
- if (!sidebar || typeof sidebar !== "object") return void 0;
4
- const value = sidebar.folderIndexBehavior;
5
- return value === "link" || value === "toggle" || value === "hidden" ? value : void 0;
6
- }
7
- function normalizeSidebarFolderBehaviorPath(path) {
8
- if (!path) return void 0;
9
- let value = path.trim();
10
- if (!value) return void 0;
11
- if (/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(value)) try {
12
- value = new URL(value).pathname;
13
- } catch {
14
- return;
15
- }
16
- else value = value.split("#", 1)[0]?.split("?", 1)[0] ?? value;
17
- if (!value.startsWith("/")) value = `/${value}`;
18
- return value.replace(/\/$/, "") || "/";
19
- }
20
- function resolveSidebarFolderIndexBehavior(sidebar, defaultBehavior = "link") {
21
- if (sidebar === void 0 || sidebar === true || sidebar === false) return defaultBehavior;
22
- if (sidebar.folderIndexBehavior === "toggle") return "toggle";
23
- if (sidebar.folderIndexBehavior === "hidden") return "hidden";
24
- if (sidebar.folderIndexBehavior === "link") return "link";
25
- return defaultBehavior;
26
- }
27
- function resolveSidebarFolderIndexBehaviorForPath(sidebar, folderPath, defaultBehavior = "link") {
28
- const fallback = resolveSidebarFolderIndexBehavior(sidebar, defaultBehavior);
29
- if (!sidebar || typeof sidebar !== "object") return fallback;
30
- const normalizedPath = normalizeSidebarFolderBehaviorPath(folderPath);
31
- if (!normalizedPath) return fallback;
32
- for (const [rawPath, override] of Object.entries(sidebar.folderIndexBehaviorOverrides ?? {})) if (normalizeSidebarFolderBehaviorPath(rawPath) === normalizedPath) return override === "link" || override === "toggle" || override === "hidden" ? override : fallback;
33
- return fallback;
34
- }
35
- function applySidebarFolderIndexBehavior(tree, behaviorOrOptions) {
36
- const resolveBehavior = typeof behaviorOrOptions === "string" ? () => behaviorOrOptions : (folderPath) => resolveSidebarFolderIndexBehaviorForPath(behaviorOrOptions.sidebar, folderPath, behaviorOrOptions.defaultBehavior);
37
- function mapNode(node) {
38
- if (!node || typeof node !== "object") return node;
39
- const candidate = node;
40
- if (candidate.type !== "folder" || !Array.isArray(candidate.children)) return node;
41
- const children = candidate.children.map(mapNode);
42
- const index = candidate.index ? mapNode(candidate.index) : void 0;
43
- const folderPath = (typeof candidate.url === "string" ? candidate.url : void 0) || (candidate.index && typeof candidate.index === "object" && "url" in candidate.index && typeof candidate.index.url === "string" ? candidate.index.url ?? void 0 : void 0);
44
- const behavior = (candidate.folderIndexBehavior === "link" || candidate.folderIndexBehavior === "toggle" || candidate.folderIndexBehavior === "hidden" ? candidate.folderIndexBehavior : void 0) ?? resolveBehavior(folderPath);
45
- if (behavior === "link") return {
46
- ...candidate,
47
- folderIndexBehavior: void 0,
48
- index,
49
- children
50
- };
51
- if (behavior === "hidden") return {
52
- ...candidate,
53
- folderIndexBehavior: void 0,
54
- index: void 0,
55
- url: void 0,
56
- children
57
- };
58
- return {
59
- ...candidate,
60
- folderIndexBehavior: void 0,
61
- index: void 0,
62
- url: void 0,
63
- children: index ? [index, ...children] : children
64
- };
65
- }
66
- return {
67
- ...tree,
68
- children: tree.children.map(mapNode)
69
- };
70
- }
71
-
72
- //#endregion
73
- export { resolveSidebarFolderIndexBehaviorForPath as i, resolvePageSidebarFolderIndexBehavior as n, resolveSidebarFolderIndexBehavior as r, applySidebarFolderIndexBehavior as t };
@@ -1,15 +0,0 @@
1
- import { ci as SidebarConfig, li as SidebarFolderIndexBehavior } from "./types-Dkl2DUfp.mjs";
2
-
3
- //#region src/sidebar.d.ts
4
- interface SidebarFolderIndexBehaviorOptions {
5
- sidebar: boolean | SidebarConfig | undefined;
6
- defaultBehavior?: SidebarFolderIndexBehavior;
7
- }
8
- declare function resolvePageSidebarFolderIndexBehavior(sidebar: unknown): SidebarFolderIndexBehavior | undefined;
9
- declare function resolveSidebarFolderIndexBehavior(sidebar: boolean | SidebarConfig | undefined, defaultBehavior?: SidebarFolderIndexBehavior): SidebarFolderIndexBehavior;
10
- declare function resolveSidebarFolderIndexBehaviorForPath(sidebar: boolean | SidebarConfig | undefined, folderPath: string | undefined, defaultBehavior?: SidebarFolderIndexBehavior): SidebarFolderIndexBehavior;
11
- declare function applySidebarFolderIndexBehavior<TTree extends {
12
- children: unknown[];
13
- }>(tree: TTree, behaviorOrOptions: SidebarFolderIndexBehavior | SidebarFolderIndexBehaviorOptions): TTree;
14
- //#endregion
15
- export { resolveSidebarFolderIndexBehaviorForPath as i, resolvePageSidebarFolderIndexBehavior as n, resolveSidebarFolderIndexBehavior as r, applySidebarFolderIndexBehavior as t };
File without changes