@farming-labs/docs 0.2.92 → 0.2.93

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 (35) hide show
  1. package/dist/{agent-Vk9oUKpQ.d.mts → agent-DGEdQ0Nh.d.mts} +2 -2
  2. package/dist/{agent-export-Zmr4SVA0.mjs → agent-export-BuLVkNkL.mjs} +2 -2
  3. package/dist/agent-skills-bundle.d.mts +1 -1
  4. package/dist/{agent-skills-server-Cltp5qai.d.mts → agent-skills-server-14HFIrBY.d.mts} +2 -2
  5. package/dist/agent-skills-vite.d.mts +3 -3
  6. package/dist/{agents-Z9UjyDQ8.mjs → agents-CNtukMtM.mjs} +2 -2
  7. package/dist/cli/index.mjs +30 -30
  8. package/dist/client/react.d.mts +1 -1
  9. package/dist/{cloud-DwhH_b_q.mjs → cloud-CojpBKC-.mjs} +1 -1
  10. package/dist/{cloud-ask-ai-Da6md6U7.d.mts → cloud-ask-ai-B2v4Nry-.d.mts} +1 -1
  11. package/dist/{dev-BFBPvjnk.mjs → dev-DugcMDQQ.mjs} +2 -2
  12. package/dist/docs-cloud-server.d.mts +2 -2
  13. package/dist/{doctor-DcnXZI9e.mjs → doctor-_Ceveoj7.mjs} +3 -3
  14. package/dist/{downgrade-Wcgqbfv_.mjs → downgrade-Dn_p7yMn.mjs} +3 -3
  15. package/dist/{golden-evaluations-CjpJSUEg.mjs → golden-evaluations-AH4y5QDu.mjs} +1 -0
  16. package/dist/index.d.mts +5 -5
  17. package/dist/{init-CuLodGjP.mjs → init-ClizlMoO.mjs} +61 -9
  18. package/dist/{mcp-id20k3ug.mjs → mcp-Dxg2FzSt.mjs} +1 -1
  19. package/dist/mcp.d.mts +3 -3
  20. package/dist/{package-version-B3PJ6IDr.mjs → package-version-ZAEdrNDw.mjs} +8 -2
  21. package/dist/{retrieval-digest-Dl7Bx121.d.mts → retrieval-digest-DMqcN_MK.d.mts} +2 -2
  22. package/dist/{review-Det-z9TE.mjs → review-BfQvzPWj.mjs} +2 -2
  23. package/dist/{robots-B4zuleV8.mjs → robots-C8M6odcB.mjs} +1 -1
  24. package/dist/{search-CERhXATq.mjs → search-CA_eLPUX.mjs} +1 -1
  25. package/dist/server.d.mts +6 -6
  26. package/dist/server.mjs +1 -1
  27. package/dist/{sitemap-B8VOZwuG.mjs → sitemap-C8xaervA.mjs} +2 -2
  28. package/dist/{sitemap-server-rv00bP21.mjs → sitemap-server-JffNpEef.mjs} +11 -0
  29. package/dist/{skills-BArErbqa.mjs → skills-BgqqsITg.mjs} +1 -1
  30. package/dist/{standards-discovery-DX9iiGar.d.mts → standards-discovery-B7L9pSnQ.d.mts} +1 -1
  31. package/dist/{templates-Co7I_Okv.mjs → templates-BTIO0i_g.mjs} +104 -3
  32. package/dist/{types-DUMzbRER.d.mts → types-CMNYudRn.d.mts} +1 -1
  33. package/dist/{upgrade-BSCjUH0V.mjs → upgrade-CTW2Xlxm.mjs} +3 -3
  34. package/dist/{utils-DpiIioYb.mjs → utils-C4U_e1aw.mjs} +1 -0
  35. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
- import { $n as DocsSearchResult, Cn as DocsRobotsConfig, Dn as DocsSearchAdapterFactory, F as DocsAgentContentChangesConfig, Gt as DocsContentSnapshot, Hn as DocsSearchFilterField, Hr as ResolvedDocsRelatedLink, K as DocsAgentFeedbackData, Mn as DocsSearchChunkingConfig, Nn as DocsSearchConfig, Pn as DocsSearchDocument, Pr as PageAgentFrontmatter, Qr as TypesenseDocsSearchConfig, Rt as DocsConfig, Tn as DocsSearchAdapter, Un as DocsSearchFilterInput, Wn as DocsSearchFilters, Wt as DocsContentChangesResponse, Yt as DocsI18nConfig, Zn as DocsSearchRequest, _r as LlmsTxtConfig, br as LlmsTxtSectionConfig, f as CustomDocsSearchConfig, ir as DocsSitemapConfig, pn as DocsPaginatedSearchResponse, pr as FeedbackConfig, r as AlgoliaDocsSearchConfig, tn as DocsMcpConfig, tr as DocsSearchSourcePage, vr as LlmsTxtMaxCharsConfig, wt as DocsAskAIMcpConfig, xr as McpDocsSearchConfig, yr as LlmsTxtMaxCharsMode, zn as DocsSearchFacetsResponse } from "./types-DUMzbRER.mjs";
2
- import { O as DocsA2AAgentCardOptions, R as DocsDiscoveryApiRouteOptions, z as DocsPublishedAgentSkill } from "./standards-discovery-DX9iiGar.mjs";
1
+ import { $n as DocsSearchResult, Cn as DocsRobotsConfig, Dn as DocsSearchAdapterFactory, F as DocsAgentContentChangesConfig, Gt as DocsContentSnapshot, Hn as DocsSearchFilterField, Hr as ResolvedDocsRelatedLink, K as DocsAgentFeedbackData, Mn as DocsSearchChunkingConfig, Nn as DocsSearchConfig, Pn as DocsSearchDocument, Pr as PageAgentFrontmatter, Qr as TypesenseDocsSearchConfig, Rt as DocsConfig, Tn as DocsSearchAdapter, Un as DocsSearchFilterInput, Wn as DocsSearchFilters, Wt as DocsContentChangesResponse, Yt as DocsI18nConfig, Zn as DocsSearchRequest, _r as LlmsTxtConfig, br as LlmsTxtSectionConfig, f as CustomDocsSearchConfig, ir as DocsSitemapConfig, pn as DocsPaginatedSearchResponse, pr as FeedbackConfig, r as AlgoliaDocsSearchConfig, tn as DocsMcpConfig, tr as DocsSearchSourcePage, vr as LlmsTxtMaxCharsConfig, wt as DocsAskAIMcpConfig, xr as McpDocsSearchConfig, yr as LlmsTxtMaxCharsMode, zn as DocsSearchFacetsResponse } from "./types-CMNYudRn.mjs";
2
+ import { O as DocsA2AAgentCardOptions, R as DocsDiscoveryApiRouteOptions, z as DocsPublishedAgentSkill } from "./standards-discovery-B7L9pSnQ.mjs";
3
3
  import { DocsMcpPage, DocsMcpResolvedConfig, DocsMcpResolvedPromptsConfig } from "./mcp.mjs";
4
4
 
5
5
  //#region src/i18n.d.ts
@@ -4,14 +4,14 @@ import { A as buildDocsLegacySkillsIndex, D as buildDocsA2AAgentCard, L as resol
4
4
  import "./content-change-hydration-Cy2a7rb1.mjs";
5
5
  import { t as resolveDocsI18n } from "./i18n-hHVWcflJ.mjs";
6
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-CQVNLcVS.mjs";
7
- import "./sitemap-server-rv00bP21.mjs";
7
+ import "./sitemap-server-JffNpEef.mjs";
8
8
  import { r as resolveConfiguredAgentSkills } from "./agent-skills-server-CwmzAzf_.mjs";
9
9
  import "./agent-evals-CKZ7bPSp.mjs";
10
10
  import { createFilesystemDocsMcpSource, resolveDocsMcpConfig } from "./mcp.mjs";
11
11
  import "./code-blocks-0wjOsqdJ.mjs";
12
12
  import "./server.mjs";
13
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-BtxaQTPP.mjs";
14
- import { t as detectFramework } from "./utils-DpiIioYb.mjs";
14
+ import { t as detectFramework } from "./utils-C4U_e1aw.mjs";
15
15
  import { existsSync, lstatSync, mkdirSync, readFileSync, realpathSync, renameSync, rmSync, writeFileSync } from "node:fs";
16
16
  import path from "node:path";
17
17
  import { createHash, randomUUID } from "node:crypto";
@@ -1,4 +1,4 @@
1
- import { z as DocsPublishedAgentSkill } from "./standards-discovery-DX9iiGar.mjs";
1
+ import { z as DocsPublishedAgentSkill } from "./standards-discovery-B7L9pSnQ.mjs";
2
2
 
3
3
  //#region src/agent-skills-bundle.d.ts
4
4
  /**
@@ -1,5 +1,5 @@
1
- import { st as DocsAgentSkillsInput } from "./types-DUMzbRER.mjs";
2
- import { z as DocsPublishedAgentSkill } from "./standards-discovery-DX9iiGar.mjs";
1
+ import { st as DocsAgentSkillsInput } from "./types-CMNYudRn.mjs";
2
+ import { z as DocsPublishedAgentSkill } from "./standards-discovery-B7L9pSnQ.mjs";
3
3
 
4
4
  //#region src/agent-skills-server.d.ts
5
5
  interface ResolveConfiguredAgentSkillsOptions {
@@ -1,6 +1,6 @@
1
- import { st as DocsAgentSkillsInput } from "./types-DUMzbRER.mjs";
2
- import { z as DocsPublishedAgentSkill } from "./standards-discovery-DX9iiGar.mjs";
3
- import { t as ResolveConfiguredAgentSkillsOptions } from "./agent-skills-server-Cltp5qai.mjs";
1
+ import { st as DocsAgentSkillsInput } from "./types-CMNYudRn.mjs";
2
+ import { z as DocsPublishedAgentSkill } from "./standards-discovery-B7L9pSnQ.mjs";
3
+ import { t as ResolveConfiguredAgentSkillsOptions } from "./agent-skills-server-14HFIrBY.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";
@@ -2,14 +2,14 @@ import { a as DEFAULT_AGENT_MD_ROUTE, lt as resolveDocsAgentFeedbackConfig, n as
2
2
  import "./markdown-sections-7OoA7ylx.mjs";
3
3
  import "./standards-discovery-Ckx0tN7B.mjs";
4
4
  import "./content-change-hydration-Cy2a7rb1.mjs";
5
- import { C as resolveApiReferenceOpenApiDiscovery } from "./sitemap-server-rv00bP21.mjs";
5
+ import { C as resolveApiReferenceOpenApiDiscovery } from "./sitemap-server-JffNpEef.mjs";
6
6
  import "./agent-skills-server-CwmzAzf_.mjs";
7
7
  import "./agent-evals-CKZ7bPSp.mjs";
8
8
  import { resolveDocsMcpConfig } from "./mcp.mjs";
9
9
  import "./code-blocks-0wjOsqdJ.mjs";
10
10
  import "./server.mjs";
11
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-BtxaQTPP.mjs";
12
- import { t as detectFramework } from "./utils-DpiIioYb.mjs";
12
+ import { t as detectFramework } from "./utils-C4U_e1aw.mjs";
13
13
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
14
14
  import path from "node:path";
15
15
  import pc from "picocolors";
@@ -108,40 +108,40 @@ async function main() {
108
108
  ]
109
109
  };
110
110
  if (!parsedCommand.command || parsedCommand.command === "init") {
111
- const { init } = await import("../init-CuLodGjP.mjs");
111
+ const { init } = await import("../init-ClizlMoO.mjs");
112
112
  await init(initOptions);
113
113
  } else if (parsedCommand.command === "dev") {
114
- const { dev } = await import("../dev-BFBPvjnk.mjs");
114
+ const { dev } = await import("../dev-DugcMDQQ.mjs");
115
115
  await dev(devOptions);
116
116
  } else if (parsedCommand.command === "deploy") {
117
- const { runCloudDeploy } = await import("../cloud-DwhH_b_q.mjs");
117
+ const { runCloudDeploy } = await import("../cloud-CojpBKC-.mjs");
118
118
  await runCloudDeploy(cloudOptions);
119
119
  } else if (parsedCommand.command === "preview") {
120
- const { runCloudPreview } = await import("../cloud-DwhH_b_q.mjs");
120
+ const { runCloudPreview } = await import("../cloud-CojpBKC-.mjs");
121
121
  await runCloudPreview(cloudOptions);
122
122
  } else if (parsedCommand.command === "cloud" && subcommand === "deploy") {
123
- const { runCloudDeploy } = await import("../cloud-DwhH_b_q.mjs");
123
+ const { runCloudDeploy } = await import("../cloud-CojpBKC-.mjs");
124
124
  await runCloudDeploy(cloudOptions);
125
125
  } else if (parsedCommand.command === "cloud" && subcommand === "preview") {
126
- const { runCloudPreview } = await import("../cloud-DwhH_b_q.mjs");
126
+ const { runCloudPreview } = await import("../cloud-CojpBKC-.mjs");
127
127
  await runCloudPreview(cloudOptions);
128
128
  } else if (parsedCommand.command === "cloud" && subcommand === "init") {
129
- const { runCloudInit } = await import("../cloud-DwhH_b_q.mjs");
129
+ const { runCloudInit } = await import("../cloud-CojpBKC-.mjs");
130
130
  await runCloudInit(cloudOptions);
131
131
  } else if (parsedCommand.command === "cloud" && subcommand === "sync") {
132
- const { syncCloudConfig } = await import("../cloud-DwhH_b_q.mjs");
132
+ const { syncCloudConfig } = await import("../cloud-CojpBKC-.mjs");
133
133
  await syncCloudConfig(cloudOptions);
134
134
  } else if (parsedCommand.command === "cloud" && subcommand === "check") {
135
- const { runCloudCheck } = await import("../cloud-DwhH_b_q.mjs");
135
+ const { runCloudCheck } = await import("../cloud-CojpBKC-.mjs");
136
136
  await runCloudCheck(cloudOptions);
137
137
  } else if (parsedCommand.command === "cloud") {
138
138
  console.error(pc.red(`Unknown cloud subcommand: ${subcommand ?? "(missing)"}`));
139
139
  console.error();
140
- const { printCloudHelp } = await import("../cloud-DwhH_b_q.mjs");
140
+ const { printCloudHelp } = await import("../cloud-CojpBKC-.mjs");
141
141
  printCloudHelp();
142
142
  process.exit(1);
143
143
  } else if (parsedCommand.command === "mcp") {
144
- const { runMcp } = await import("../mcp-id20k3ug.mjs");
144
+ const { runMcp } = await import("../mcp-Dxg2FzSt.mjs");
145
145
  await runMcp(mcpOptions);
146
146
  } else if (parsedCommand.command === "agent" && subcommand === "compact") {
147
147
  const { compactAgentDocs, parseAgentCompactArgs, printAgentCompactHelp } = await import("../agent-BgamZBQ5.mjs").then((n) => n.t);
@@ -152,7 +152,7 @@ async function main() {
152
152
  }
153
153
  await compactAgentDocs(agentCompactOptions);
154
154
  } else if (parsedCommand.command === "agent" && subcommand === "export") {
155
- const { exportAgentBundle, parseAgentExportArgs, printAgentExportHelp } = await import("../agent-export-Zmr4SVA0.mjs");
155
+ const { exportAgentBundle, parseAgentExportArgs, printAgentExportHelp } = await import("../agent-export-BuLVkNkL.mjs");
156
156
  const agentExportOptions = parseAgentExportArgs(args.slice(2));
157
157
  if (agentExportOptions.help) {
158
158
  printAgentExportHelp();
@@ -163,12 +163,12 @@ async function main() {
163
163
  console.error(pc.red(`Unknown agent subcommand: ${subcommand ?? "(missing)"}`));
164
164
  console.error();
165
165
  const { printAgentCompactHelp } = await import("../agent-BgamZBQ5.mjs").then((n) => n.t);
166
- const { printAgentExportHelp } = await import("../agent-export-Zmr4SVA0.mjs");
166
+ const { printAgentExportHelp } = await import("../agent-export-BuLVkNkL.mjs");
167
167
  printAgentCompactHelp();
168
168
  printAgentExportHelp();
169
169
  process.exit(1);
170
170
  } else if (parsedCommand.command === "agents" && subcommand === "generate") {
171
- const { generateAgents, parseAgentsGenerateArgs, printAgentsGenerateHelp } = await import("../agents-Z9UjyDQ8.mjs");
171
+ const { generateAgents, parseAgentsGenerateArgs, printAgentsGenerateHelp } = await import("../agents-CNtukMtM.mjs");
172
172
  const agentsOptions = parseAgentsGenerateArgs(args.slice(2));
173
173
  if (agentsOptions.help) {
174
174
  printAgentsGenerateHelp();
@@ -178,11 +178,11 @@ async function main() {
178
178
  } else if (parsedCommand.command === "agents") {
179
179
  console.error(pc.red(`Unknown agents subcommand: ${subcommand ?? "(missing)"}`));
180
180
  console.error();
181
- const { printAgentsGenerateHelp } = await import("../agents-Z9UjyDQ8.mjs");
181
+ const { printAgentsGenerateHelp } = await import("../agents-CNtukMtM.mjs");
182
182
  printAgentsGenerateHelp();
183
183
  process.exit(1);
184
184
  } else if (parsedCommand.command === "skills" && subcommand === "scaffold") {
185
- const { parseSkillScaffoldArgs, printSkillScaffoldHelp, scaffoldSkillFromContracts } = await import("../skills-BArErbqa.mjs");
185
+ const { parseSkillScaffoldArgs, printSkillScaffoldHelp, scaffoldSkillFromContracts } = await import("../skills-BgqqsITg.mjs");
186
186
  const skillOptions = parseSkillScaffoldArgs(args.slice(2));
187
187
  if (skillOptions.help) {
188
188
  printSkillScaffoldHelp();
@@ -190,16 +190,16 @@ async function main() {
190
190
  }
191
191
  await scaffoldSkillFromContracts(skillOptions);
192
192
  } else if (parsedCommand.command === "skills" && (subcommand === "--help" || subcommand === "-h")) {
193
- const { printSkillScaffoldHelp } = await import("../skills-BArErbqa.mjs");
193
+ const { printSkillScaffoldHelp } = await import("../skills-BgqqsITg.mjs");
194
194
  printSkillScaffoldHelp();
195
195
  } else if (parsedCommand.command === "skills") {
196
196
  console.error(pc.red(`Unknown skills subcommand: ${subcommand ?? "(missing)"}`));
197
197
  console.error();
198
- const { printSkillScaffoldHelp } = await import("../skills-BArErbqa.mjs");
198
+ const { printSkillScaffoldHelp } = await import("../skills-BgqqsITg.mjs");
199
199
  printSkillScaffoldHelp();
200
200
  process.exit(1);
201
201
  } else if (parsedCommand.command === "doctor") {
202
- const { parseDoctorArgs, printDoctorHelp, runDoctor } = await import("../doctor-DcnXZI9e.mjs");
202
+ const { parseDoctorArgs, printDoctorHelp, runDoctor } = await import("../doctor-_Ceveoj7.mjs");
203
203
  const doctorOptions = parseDoctorArgs(args.slice(1));
204
204
  if (doctorOptions.help) {
205
205
  printDoctorHelp();
@@ -207,7 +207,7 @@ async function main() {
207
207
  }
208
208
  await runDoctor(doctorOptions);
209
209
  } else if (parsedCommand.command === "review") {
210
- const { parseReviewArgs, printReviewHelp, runReview } = await import("../review-Det-z9TE.mjs");
210
+ const { parseReviewArgs, printReviewHelp, runReview } = await import("../review-BfQvzPWj.mjs");
211
211
  const reviewOptions = parseReviewArgs(args.slice(1));
212
212
  if (reviewOptions.help) {
213
213
  printReviewHelp();
@@ -229,7 +229,7 @@ async function main() {
229
229
  printCodeBlocksValidateHelp();
230
230
  process.exit(1);
231
231
  } else if (parsedCommand.command === "search" && subcommand === "sync") {
232
- const { syncSearch } = await import("../search-CERhXATq.mjs");
232
+ const { syncSearch } = await import("../search-CA_eLPUX.mjs");
233
233
  await syncSearch(searchSyncOptions);
234
234
  } else if (parsedCommand.command === "search") {
235
235
  console.error(pc.red(`Unknown search subcommand: ${subcommand ?? "(missing)"}`));
@@ -237,7 +237,7 @@ async function main() {
237
237
  printHelp();
238
238
  process.exit(1);
239
239
  } else if (parsedCommand.command === "sitemap" && subcommand === "generate") {
240
- const { generateSitemap, parseSitemapGenerateArgs, printSitemapGenerateHelp } = await import("../sitemap-B8VOZwuG.mjs");
240
+ const { generateSitemap, parseSitemapGenerateArgs, printSitemapGenerateHelp } = await import("../sitemap-C8xaervA.mjs");
241
241
  const sitemapOptions = parseSitemapGenerateArgs(args.slice(2));
242
242
  if (sitemapOptions.help) {
243
243
  printSitemapGenerateHelp();
@@ -247,11 +247,11 @@ async function main() {
247
247
  } else if (parsedCommand.command === "sitemap") {
248
248
  console.error(pc.red(`Unknown sitemap subcommand: ${subcommand ?? "(missing)"}`));
249
249
  console.error();
250
- const { printSitemapGenerateHelp } = await import("../sitemap-B8VOZwuG.mjs");
250
+ const { printSitemapGenerateHelp } = await import("../sitemap-C8xaervA.mjs");
251
251
  printSitemapGenerateHelp();
252
252
  process.exit(1);
253
253
  } else if (parsedCommand.command === "robots" && subcommand === "generate") {
254
- const { generateRobots, parseRobotsGenerateArgs, printRobotsGenerateHelp } = await import("../robots-B4zuleV8.mjs");
254
+ const { generateRobots, parseRobotsGenerateArgs, printRobotsGenerateHelp } = await import("../robots-C8M6odcB.mjs");
255
255
  const robotsOptions = parseRobotsGenerateArgs(args.slice(2));
256
256
  if (robotsOptions.help) {
257
257
  printRobotsGenerateHelp();
@@ -261,11 +261,11 @@ async function main() {
261
261
  } else if (parsedCommand.command === "robots") {
262
262
  console.error(pc.red(`Unknown robots subcommand: ${subcommand ?? "(missing)"}`));
263
263
  console.error();
264
- const { printRobotsGenerateHelp } = await import("../robots-B4zuleV8.mjs");
264
+ const { printRobotsGenerateHelp } = await import("../robots-C8M6odcB.mjs");
265
265
  printRobotsGenerateHelp();
266
266
  process.exit(1);
267
267
  } else if (parsedCommand.command === "downgrade") {
268
- const { downgrade } = await import("../downgrade-Wcgqbfv_.mjs");
268
+ const { downgrade } = await import("../downgrade-Dn_p7yMn.mjs");
269
269
  const framework = (typeof flags.framework === "string" ? flags.framework : void 0) ?? (args[1] && !args[1].startsWith("--") ? args[1] : void 0);
270
270
  const hasVersionFlag = args.includes("--version") || args.some((arg) => arg.startsWith("--version="));
271
271
  await downgrade({
@@ -274,7 +274,7 @@ async function main() {
274
274
  dryRun: flags["dry-run"] === true
275
275
  });
276
276
  } else if (parsedCommand.command === "upgrade") {
277
- const { upgrade } = await import("../upgrade-BSCjUH0V.mjs");
277
+ const { upgrade } = await import("../upgrade-CTW2Xlxm.mjs");
278
278
  const framework = (typeof flags.framework === "string" ? flags.framework : void 0) ?? (args[1] && !args[1].startsWith("--") ? args[1] : void 0);
279
279
  const hasVersionFlag = args.includes("--version") || args.some((arg) => arg.startsWith("--version="));
280
280
  const version = typeof flags.version === "string" ? flags.version : hasVersionFlag ? "" : void 0;
@@ -320,7 +320,7 @@ ${pc.dim("Commands:")}
320
320
  ${pc.cyan("downgrade")} Downgrade @farming-labs/* packages (auto-detect or use --framework)
321
321
 
322
322
  ${pc.dim("Supported frameworks:")}
323
- Next.js, TanStack Start, SvelteKit, Astro, Nuxt
323
+ Next.js, TanStack Start, Farm.js, SvelteKit, Astro, Nuxt
324
324
 
325
325
  ${pc.dim("Options for init:")}
326
326
  ${pc.cyan("--template <name>")} Bootstrap a project (${pc.dim("next")}, ${pc.dim("nuxt")}, ${pc.dim("sveltekit")}, ${pc.dim("astro")}, ${pc.dim("tanstack-start")}); use with ${pc.cyan("--name")}
@@ -454,7 +454,7 @@ ${pc.dim("Options for robots generate:")}
454
454
  ${pc.cyan("--config <path>")} Use a custom docs config path instead of ${pc.dim("docs.config.ts[x]")}
455
455
 
456
456
  ${pc.dim("Options for upgrade:")}
457
- ${pc.cyan("--framework <name>")} Explicit framework (${pc.dim("next")}, ${pc.dim("tanstack-start")}, ${pc.dim("nuxt")}, ${pc.dim("sveltekit")}, ${pc.dim("astro")}); omit to auto-detect
457
+ ${pc.cyan("--framework <name>")} Explicit framework (${pc.dim("next")}, ${pc.dim("tanstack-start")}, ${pc.dim("farmjs")}, ${pc.dim("nuxt")}, ${pc.dim("sveltekit")}, ${pc.dim("astro")}); omit to auto-detect
458
458
  ${pc.cyan("--version <version>")} Install an exact version (e.g. ${pc.dim("0.1.104")})
459
459
  ${pc.cyan("--latest")} Install latest stable (default)
460
460
  ${pc.cyan("--beta")} Install beta versions
@@ -464,7 +464,7 @@ ${pc.dim("Options for upgrade:")}
464
464
 
465
465
  ${pc.dim("Options for downgrade:")}
466
466
  ${pc.cyan("downgrade")} Install the published version immediately below the current installed version
467
- ${pc.cyan("--framework <name>")} Explicit framework (${pc.dim("next")}, ${pc.dim("tanstack-start")}, ${pc.dim("nuxt")}, ${pc.dim("sveltekit")}, ${pc.dim("astro")}); omit to auto-detect
467
+ ${pc.cyan("--framework <name>")} Explicit framework (${pc.dim("next")}, ${pc.dim("tanstack-start")}, ${pc.dim("farmjs")}, ${pc.dim("nuxt")}, ${pc.dim("sveltekit")}, ${pc.dim("astro")}); omit to auto-detect
468
468
  ${pc.cyan("--version <version>")} Install an exact lower version (e.g. ${pc.dim("0.1.103")})
469
469
  ${pc.cyan("--dry-run")} Print the install command without changing dependencies
470
470
 
@@ -1,4 +1,4 @@
1
- import { ft as DocsAnalyticsConfig } from "../types-DUMzbRER.mjs";
1
+ import { ft as DocsAnalyticsConfig } from "../types-CMNYudRn.mjs";
2
2
  import { ReactNode } from "react";
3
3
 
4
4
  //#region src/docs-cloud-client.d.ts
@@ -1,6 +1,6 @@
1
1
  import { n as markCliErrorReported } from "./errors-DbOhkE1h.mjs";
2
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-BtxaQTPP.mjs";
3
- import { i as detectPackageManagerFromProject, t as detectFramework } from "./utils-DpiIioYb.mjs";
3
+ import { i as detectPackageManagerFromProject, t as detectFramework } from "./utils-C4U_e1aw.mjs";
4
4
  import fs from "node:fs";
5
5
  import path from "node:path";
6
6
  import { execFileSync } from "node:child_process";
@@ -1,4 +1,4 @@
1
- import { Et as DocsCloudConfig, ft as DocsAnalyticsConfig, t as AIConfig } from "./types-DUMzbRER.mjs";
1
+ import { Et as DocsCloudConfig, ft as DocsAnalyticsConfig, t as AIConfig } from "./types-CMNYudRn.mjs";
2
2
 
3
3
  //#region src/cloud-ask-ai.d.ts
4
4
  interface DocsCloudAskAIConfig {
@@ -1,5 +1,5 @@
1
- import { i as detectPackageManagerFromProject } from "./utils-DpiIioYb.mjs";
2
- import { Ct as tsconfigTemplate, Y as rootLayoutTemplate, g as docsLayoutTemplate, q as postcssConfigTemplate, v as globalCssTemplate } from "./templates-Co7I_Okv.mjs";
1
+ import { i as detectPackageManagerFromProject } from "./utils-C4U_e1aw.mjs";
2
+ import { $ as postcssConfigTemplate, C as globalCssTemplate, g as docsLayoutTemplate, kt as tsconfigTemplate, tt as rootLayoutTemplate } from "./templates-BTIO0i_g.mjs";
3
3
  import fs from "node:fs";
4
4
  import path from "node:path";
5
5
  import { spawn } from "node:child_process";
@@ -1,5 +1,5 @@
1
- import { ft as DocsAnalyticsConfig, mt as DocsAnalyticsEventInput, pt as DocsAnalyticsEvent } from "./types-DUMzbRER.mjs";
2
- import { n as DocsCloudAskAIResponseOptions, t as DocsCloudAskAIConfig } from "./cloud-ask-ai-Da6md6U7.mjs";
1
+ import { ft as DocsAnalyticsConfig, mt as DocsAnalyticsEventInput, pt as DocsAnalyticsEvent } from "./types-CMNYudRn.mjs";
2
+ import { n as DocsCloudAskAIResponseOptions, t as DocsCloudAskAIConfig } from "./cloud-ask-ai-B2v4Nry-.mjs";
3
3
 
4
4
  //#region src/docs-cloud-server.d.ts
5
5
  type DocsCloudRuntimeValue<T = string> = T | undefined | null | (() => T | undefined | null);
@@ -7,15 +7,15 @@ import { isDocsAgentSkillName, validateDocsAgentSkillFrontmatter } from "./agent
7
7
  import "./content-change-hydration-Cy2a7rb1.mjs";
8
8
  import { a as analyzeDocsRobotsTxt, n as DEFAULT_ROBOTS_TXT_ROUTE, u as resolveDocsRobotsConfig } from "./robots-CQVNLcVS.mjs";
9
9
  import { a as resolveDocsMetadataBaseUrl } from "./metadata-N252j5_a.mjs";
10
- import "./sitemap-server-rv00bP21.mjs";
10
+ import "./sitemap-server-JffNpEef.mjs";
11
11
  import { r as resolveConfiguredAgentSkills } from "./agent-skills-server-CwmzAzf_.mjs";
12
12
  import { t as runDocsGoldenTasks } from "./agent-evals-CKZ7bPSp.mjs";
13
13
  import { createFilesystemDocsMcpSource, getDocsConfigSchema, resolveDocsMcpConfig } from "./mcp.mjs";
14
14
  import "./code-blocks-0wjOsqdJ.mjs";
15
15
  import "./server.mjs";
16
16
  import { _ as resolveDocsContentDir, d as readNavTitle, g as resolveDocsConfigPath, h as readTopLevelStringProperty, l as readBooleanProperty, r as extractTopLevelConfigObject, s as loadDocsConfigModuleResultWithProjectEnv, t as extractNestedObjectLiteral, v as resolveDocsProjectRoot } from "./config-BtxaQTPP.mjs";
17
- import { t as detectFramework } from "./utils-DpiIioYb.mjs";
18
- import { i as createAgentUsefulnessPagesFromMcp, n as analyzeAgentSurfaceDrift, r as analyzeAgentUsefulness, t as resolveGoldenEvaluationInput } from "./golden-evaluations-CjpJSUEg.mjs";
17
+ import { t as detectFramework } from "./utils-C4U_e1aw.mjs";
18
+ import { i as createAgentUsefulnessPagesFromMcp, n as analyzeAgentSurfaceDrift, r as analyzeAgentUsefulness, t as resolveGoldenEvaluationInput } from "./golden-evaluations-AH4y5QDu.mjs";
19
19
  import { t as analyzeConfiguredAgentSkillsProgressiveDisclosure } from "./agent-skills-progressive-disclosure-BVvj7nM8.mjs";
20
20
  import { existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "node:fs";
21
21
  import path from "node:path";
@@ -1,5 +1,5 @@
1
- import { c as fileExists, o as exec, s as execOutput } from "./utils-DpiIioYb.mjs";
2
- import { a as getPackagesForFramework, c as resolveDocsPackageManager, l as validateUpgradeVersion, r as buildDocsPackageInstallCommand, s as resolveDocsPackageFramework } from "./package-version-B3PJ6IDr.mjs";
1
+ import { c as fileExists, o as exec, s as execOutput } from "./utils-C4U_e1aw.mjs";
2
+ import { a as getPackagesForFramework, c as resolveDocsPackageManager, l as validateUpgradeVersion, r as buildDocsPackageInstallCommand, s as resolveDocsPackageFramework } from "./package-version-ZAEdrNDw.mjs";
3
3
  import fs from "node:fs";
4
4
  import path from "node:path";
5
5
  import pc from "picocolors";
@@ -8,7 +8,7 @@ import * as p from "@clack/prompts";
8
8
  //#region src/cli/downgrade.ts
9
9
  /**
10
10
  * Downgrade @farming-labs/* packages to a lower exact version.
11
- * Detects framework from package.json by default, or use --framework (next, tanstack-start, nuxt, sveltekit, astro).
11
+ * Detects framework from package.json by default, or use --framework (next, tanstack-start, farmjs, nuxt, sveltekit, astro).
12
12
  */
13
13
  function parseSemver(version) {
14
14
  const normalized = validateUpgradeVersion(version).split("+", 1)[0] ?? version;
@@ -63,6 +63,7 @@ const GENERIC_SENTENCE_PATTERN = /\b(?:follow|keep answers|refer to|read|use) (?
63
63
  const FRAMEWORK_PATTERNS = [
64
64
  ["nextjs", /\bNext\.js\b|@farming-labs\/next\b|\bnext\.config\b|\bApp Router\b/i],
65
65
  ["tanstackstart", /\bTanStack Start\b|@farming-labs\/(?:tanstack|tanstack-start)\b|\bcreateFileRoute\b/i],
66
+ ["farmjs", /\bFarm\.js\b|@farming-labs\/farmjs\b|@farm\.js\/core\b|@farmjs\/core\b|\bfarm\.config\b/i],
66
67
  ["sveltekit", /\bSvelteKit\b|@farming-labs\/svelte(?:kit)?\b|\bhooks\.server\b|\+server\.[cm]?[jt]s\b/i],
67
68
  ["astro", /\bAstro\b|@farming-labs\/astro\b|\bastro\.config\b/i],
68
69
  ["nuxt", /\bNuxt\b|@farming-labs\/nuxt\b|\bnuxt\.config\b/i]
package/dist/index.d.mts CHANGED
@@ -1,8 +1,8 @@
1
- import { $ as DocsAgentGoldenQueryVariant, $n as DocsSearchResult, $r as TypographyConfig, $t as DocsMcpAuthenticateContext, A as DocsAgentA2ASecurityScheme, An as DocsSearchAmbiguityDecisionStatus, Ar as PageActionsConfig, At as DocsCodeBlocksConfig, B as DocsAgentEvaluationAnswerRunner, Bn as DocsSearchFilterDecision, Br as ReadingTimeConfig, Bt as DocsContentChangeSnapshotContext, C as DocsAgentA2AOAuthDeviceCodeFlow, Cn as DocsRobotsConfig, Cr as OpenDocsConfig, Ct as DocsAskAIFeedbackValue, D as DocsAgentA2AOpenIdConnectSecurityScheme, Dn as DocsSearchAdapterFactory, Dr as OpenDocsTarget, Dt as DocsCloudFeatureConfig, E as DocsAgentA2AOAuthPasswordFlow, En as DocsSearchAdapterContext, Er as OpenDocsProviderId, Et as DocsCloudConfig, F as DocsAgentContentChangesConfig, Fn as DocsSearchEmbeddingsConfig, Fr as PageAgentVerification, Ft as DocsCodeBlocksValidateConfig, G as DocsAgentFeedbackContext, Gn as DocsSearchMatchField, Gr as SidebarFolderIndexBehavior, Gt as DocsContentSnapshot, H as DocsAgentEvaluationSurface, Hn as DocsSearchFilterField, Hr as ResolvedDocsRelatedLink, Ht as DocsContentChangeSnapshotSaver, I as DocsAgentEvaluationAnswerInput, In as DocsSearchExplanation, Ir as PageFrontmatter, It as DocsCodeBlocksValidationMode, J as DocsAgentGoldenAuthenticatedContentExpectation, Jn as DocsSearchRankingReason, Jr as SidebarPageNode, Jt as DocsFeedbackValue, K as DocsAgentFeedbackData, Kn as DocsSearchMatchedTerm, Kr as SidebarFolderNode, Kt as DocsContentSnapshotDocument, L as DocsAgentEvaluationAnswerProvider, Ln as DocsSearchFacet, Lr as PageOpenGraph, Lt as DocsCodeBlocksValidationPolicy, M as DocsAgentA2ASkill, Mn as DocsSearchChunkingConfig, Mr as PageAgentCommand, Mt as DocsCodeBlocksPlannerProvider, N as DocsAgentCompactConfig, Nn as DocsSearchConfig, Nr as PageAgentFailureMode, Nt as DocsCodeBlocksRunnerConfig, O as DocsAgentA2AProtocolBinding, On as DocsSearchAdapterPage, Or as OpenGraphImage, Ot as DocsCloudPreviewConfig, P as DocsAgentConfig, Pn as DocsSearchDocument, Pr as PageAgentFrontmatter, Pt as DocsCodeBlocksRunnerProvider, Q as DocsAgentGoldenPromptInjectionExpectation, Qn as DocsSearchResponse, Qr as TypesenseDocsSearchConfig, Qt as DocsMcpAuthenticate, R as DocsAgentEvaluationAnswerRequest, Rn as DocsSearchFacetValue, Rr as PageSidebarFrontmatter, Rt as DocsConfig, S as DocsAgentA2AOAuthClientCredentialsFlow, Sn as DocsReviewSeverity, Sr as OGConfig, St as DocsAskAIFeedbackMessage, T as DocsAgentA2AOAuthImplicitFlow, Tn as DocsSearchAdapter, Tr as OpenDocsProviderConfig, Tt as DocsCloudApiKeyConfig, U as DocsAgentEvaluationTaskInput, Un as DocsSearchFilterInput, Ur as SidebarComponentProps, Ut as DocsContentChangedDocument, V as DocsAgentEvaluationSourceReference, Vn as DocsSearchFilterDecisionOutcome, Vr as ReadingTimeFormat, Vt as DocsContentChangeSnapshotLoader, W as DocsAgentEvaluationsConfig, Wn as DocsSearchFilters, Wr as SidebarConfig, Wt as DocsContentChangesResponse, X as DocsAgentGoldenExpectedExample, Xn as DocsSearchRankingStrategy, Xr as SimpleDocsSearchConfig, Xt as DocsMcpAllowedOrigins, Y as DocsAgentGoldenExampleVerification, Yn as DocsSearchRankingReasonCode, Yr as SidebarTree, Yt as DocsI18nConfig, Z as DocsAgentGoldenFreshnessExpectation, Zn as DocsSearchRequest, Zr as ThemeToggleConfig, Zt as DocsMcpAuthPrincipal, _ as DocsAgentA2AHttpAuthSecurityScheme, _n as DocsReviewCiConfig, _r as LlmsTxtConfig, _t as DocsAnalyticsSource, a as ApiReferenceRenderer, an as DocsMcpProtectedResourceConfig, ar as DocsTelemetryAgentSurface, at as DocsAgentSkillsCompatibilityPolicy, b as DocsAgentA2AOAuth2SecurityScheme, bn as DocsReviewRulesConfig, br as LlmsTxtSectionConfig, bt as DocsAskAIFeedbackConfig, c as ChangelogFrontmatter, cn as DocsMetadata, cr as DocsTelemetryEventInput, ct as DocsAgentSkillsProgressiveDisclosureConfig, d as CopyMarkdownFormat, dn as DocsObservabilityEvent, dr as DocsTelemetryFramework, dt as DocsAgentTraceStatus, ei as UIConfig, en as DocsMcpAuthenticateResult, er as DocsSearchResultType, et as DocsAgentGoldenQueryVariantKind, f as CustomDocsSearchConfig, fn as DocsObservabilityEventInput, fr as DocsTheme, ft as DocsAnalyticsConfig, g as DocsAgentA2AExtension, gn as DocsRetrievalSourceScope, gr as LastUpdatedConfig, gt as DocsAnalyticsInput, h as DocsAgentA2AConfig, hn as DocsRetrievalSourceProvenance, hr as GithubConfig, ht as DocsAnalyticsEventType, i as ApiReferenceConfig, in as DocsMcpPromptsConfig, ir as DocsSitemapConfig, it as DocsAgentGoldenTaskFilters, j as DocsAgentA2ASecurityScopeList, jn as DocsSearchAmbiguityResolution, jr as PageAgentAppliesTo, jt as DocsCodeBlocksPlannerConfig, k as DocsAgentA2ASecurityRequirement, kn as DocsSearchAmbiguityDecision, kr as OrderingItem, kt as DocsCloudPublishConfig, l as CodeBlockCopyData, ln as DocsNav, lr as DocsTelemetryEventType, lt as DocsAgentTraceEventInput, m as DocsAgentA2ACapabilities, mn as DocsRelatedItem, mr as FontStyle, mt as DocsAnalyticsEventInput, n as AgentFeedbackConfig, nn as DocsMcpCorsConfig, nr as DocsSearchWarning, nt as DocsAgentGoldenTask, o as BreadcrumbConfig, on as DocsMcpSecurityConfig, or as DocsTelemetryConfig, ot as DocsAgentSkillsConfig, p as DocsAgentA2AApiKeySecurityScheme, pn as DocsPaginatedSearchResponse, pr as FeedbackConfig, pt as DocsAnalyticsEvent, q as DocsAgentGoldenAnswerExpectation, qn as DocsSearchQuery, qr as SidebarNode, qt as DocsFeedbackData, r as AlgoliaDocsSearchConfig, rn as DocsMcpOriginContext, rr as DocsSearchWarningCode, rt as DocsAgentGoldenTaskExpectation, s as ChangelogConfig, sn as DocsMcpToolsConfig, sr as DocsTelemetryEvent, st as DocsAgentSkillsInput, t as AIConfig, tn as DocsMcpConfig, tr as DocsSearchSourcePage, tt as DocsAgentGoldenSafetyExpectation, u as CopyMarkdownConfig, un as DocsObservabilityConfig, ur as DocsTelemetryFeatures, ut as DocsAgentTraceEventType, v as DocsAgentA2AInterfaceConfig, vn as DocsReviewCiMode, vr as LlmsTxtMaxCharsConfig, vt as DocsAskAIActionData, w as DocsAgentA2AOAuthFlows, wn as DocsRobotsRule, wr as OpenDocsProvider, wt as DocsAskAIMcpConfig, x as DocsAgentA2AOAuthAuthorizationCodeFlow, xn as DocsReviewScoreConfig, xr as McpDocsSearchConfig, xt as DocsAskAIFeedbackData, y as DocsAgentA2AMutualTlsSecurityScheme, yn as DocsReviewConfig, yr as LlmsTxtMaxCharsMode, yt as DocsAskAIActionType, z as DocsAgentEvaluationAnswerResult, zn as DocsSearchFacetsResponse, zr as PageTwitter, zt as DocsContentChangeDocument } from "./types-DUMzbRER.mjs";
1
+ import { $ as DocsAgentGoldenQueryVariant, $n as DocsSearchResult, $r as TypographyConfig, $t as DocsMcpAuthenticateContext, A as DocsAgentA2ASecurityScheme, An as DocsSearchAmbiguityDecisionStatus, Ar as PageActionsConfig, At as DocsCodeBlocksConfig, B as DocsAgentEvaluationAnswerRunner, Bn as DocsSearchFilterDecision, Br as ReadingTimeConfig, Bt as DocsContentChangeSnapshotContext, C as DocsAgentA2AOAuthDeviceCodeFlow, Cn as DocsRobotsConfig, Cr as OpenDocsConfig, Ct as DocsAskAIFeedbackValue, D as DocsAgentA2AOpenIdConnectSecurityScheme, Dn as DocsSearchAdapterFactory, Dr as OpenDocsTarget, Dt as DocsCloudFeatureConfig, E as DocsAgentA2AOAuthPasswordFlow, En as DocsSearchAdapterContext, Er as OpenDocsProviderId, Et as DocsCloudConfig, F as DocsAgentContentChangesConfig, Fn as DocsSearchEmbeddingsConfig, Fr as PageAgentVerification, Ft as DocsCodeBlocksValidateConfig, G as DocsAgentFeedbackContext, Gn as DocsSearchMatchField, Gr as SidebarFolderIndexBehavior, Gt as DocsContentSnapshot, H as DocsAgentEvaluationSurface, Hn as DocsSearchFilterField, Hr as ResolvedDocsRelatedLink, Ht as DocsContentChangeSnapshotSaver, I as DocsAgentEvaluationAnswerInput, In as DocsSearchExplanation, Ir as PageFrontmatter, It as DocsCodeBlocksValidationMode, J as DocsAgentGoldenAuthenticatedContentExpectation, Jn as DocsSearchRankingReason, Jr as SidebarPageNode, Jt as DocsFeedbackValue, K as DocsAgentFeedbackData, Kn as DocsSearchMatchedTerm, Kr as SidebarFolderNode, Kt as DocsContentSnapshotDocument, L as DocsAgentEvaluationAnswerProvider, Ln as DocsSearchFacet, Lr as PageOpenGraph, Lt as DocsCodeBlocksValidationPolicy, M as DocsAgentA2ASkill, Mn as DocsSearchChunkingConfig, Mr as PageAgentCommand, Mt as DocsCodeBlocksPlannerProvider, N as DocsAgentCompactConfig, Nn as DocsSearchConfig, Nr as PageAgentFailureMode, Nt as DocsCodeBlocksRunnerConfig, O as DocsAgentA2AProtocolBinding, On as DocsSearchAdapterPage, Or as OpenGraphImage, Ot as DocsCloudPreviewConfig, P as DocsAgentConfig, Pn as DocsSearchDocument, Pr as PageAgentFrontmatter, Pt as DocsCodeBlocksRunnerProvider, Q as DocsAgentGoldenPromptInjectionExpectation, Qn as DocsSearchResponse, Qr as TypesenseDocsSearchConfig, Qt as DocsMcpAuthenticate, R as DocsAgentEvaluationAnswerRequest, Rn as DocsSearchFacetValue, Rr as PageSidebarFrontmatter, Rt as DocsConfig, S as DocsAgentA2AOAuthClientCredentialsFlow, Sn as DocsReviewSeverity, Sr as OGConfig, St as DocsAskAIFeedbackMessage, T as DocsAgentA2AOAuthImplicitFlow, Tn as DocsSearchAdapter, Tr as OpenDocsProviderConfig, Tt as DocsCloudApiKeyConfig, U as DocsAgentEvaluationTaskInput, Un as DocsSearchFilterInput, Ur as SidebarComponentProps, Ut as DocsContentChangedDocument, V as DocsAgentEvaluationSourceReference, Vn as DocsSearchFilterDecisionOutcome, Vr as ReadingTimeFormat, Vt as DocsContentChangeSnapshotLoader, W as DocsAgentEvaluationsConfig, Wn as DocsSearchFilters, Wr as SidebarConfig, Wt as DocsContentChangesResponse, X as DocsAgentGoldenExpectedExample, Xn as DocsSearchRankingStrategy, Xr as SimpleDocsSearchConfig, Xt as DocsMcpAllowedOrigins, Y as DocsAgentGoldenExampleVerification, Yn as DocsSearchRankingReasonCode, Yr as SidebarTree, Yt as DocsI18nConfig, Z as DocsAgentGoldenFreshnessExpectation, Zn as DocsSearchRequest, Zr as ThemeToggleConfig, Zt as DocsMcpAuthPrincipal, _ as DocsAgentA2AHttpAuthSecurityScheme, _n as DocsReviewCiConfig, _r as LlmsTxtConfig, _t as DocsAnalyticsSource, a as ApiReferenceRenderer, an as DocsMcpProtectedResourceConfig, ar as DocsTelemetryAgentSurface, at as DocsAgentSkillsCompatibilityPolicy, b as DocsAgentA2AOAuth2SecurityScheme, bn as DocsReviewRulesConfig, br as LlmsTxtSectionConfig, bt as DocsAskAIFeedbackConfig, c as ChangelogFrontmatter, cn as DocsMetadata, cr as DocsTelemetryEventInput, ct as DocsAgentSkillsProgressiveDisclosureConfig, d as CopyMarkdownFormat, dn as DocsObservabilityEvent, dr as DocsTelemetryFramework, dt as DocsAgentTraceStatus, ei as UIConfig, en as DocsMcpAuthenticateResult, er as DocsSearchResultType, et as DocsAgentGoldenQueryVariantKind, f as CustomDocsSearchConfig, fn as DocsObservabilityEventInput, fr as DocsTheme, ft as DocsAnalyticsConfig, g as DocsAgentA2AExtension, gn as DocsRetrievalSourceScope, gr as LastUpdatedConfig, gt as DocsAnalyticsInput, h as DocsAgentA2AConfig, hn as DocsRetrievalSourceProvenance, hr as GithubConfig, ht as DocsAnalyticsEventType, i as ApiReferenceConfig, in as DocsMcpPromptsConfig, ir as DocsSitemapConfig, it as DocsAgentGoldenTaskFilters, j as DocsAgentA2ASecurityScopeList, jn as DocsSearchAmbiguityResolution, jr as PageAgentAppliesTo, jt as DocsCodeBlocksPlannerConfig, k as DocsAgentA2ASecurityRequirement, kn as DocsSearchAmbiguityDecision, kr as OrderingItem, kt as DocsCloudPublishConfig, l as CodeBlockCopyData, ln as DocsNav, lr as DocsTelemetryEventType, lt as DocsAgentTraceEventInput, m as DocsAgentA2ACapabilities, mn as DocsRelatedItem, mr as FontStyle, mt as DocsAnalyticsEventInput, n as AgentFeedbackConfig, nn as DocsMcpCorsConfig, nr as DocsSearchWarning, nt as DocsAgentGoldenTask, o as BreadcrumbConfig, on as DocsMcpSecurityConfig, or as DocsTelemetryConfig, ot as DocsAgentSkillsConfig, p as DocsAgentA2AApiKeySecurityScheme, pn as DocsPaginatedSearchResponse, pr as FeedbackConfig, pt as DocsAnalyticsEvent, q as DocsAgentGoldenAnswerExpectation, qn as DocsSearchQuery, qr as SidebarNode, qt as DocsFeedbackData, r as AlgoliaDocsSearchConfig, rn as DocsMcpOriginContext, rr as DocsSearchWarningCode, rt as DocsAgentGoldenTaskExpectation, s as ChangelogConfig, sn as DocsMcpToolsConfig, sr as DocsTelemetryEvent, st as DocsAgentSkillsInput, t as AIConfig, tn as DocsMcpConfig, tr as DocsSearchSourcePage, tt as DocsAgentGoldenSafetyExpectation, u as CopyMarkdownConfig, un as DocsObservabilityConfig, ur as DocsTelemetryFeatures, ut as DocsAgentTraceEventType, v as DocsAgentA2AInterfaceConfig, vn as DocsReviewCiMode, vr as LlmsTxtMaxCharsConfig, vt as DocsAskAIActionData, w as DocsAgentA2AOAuthFlows, wn as DocsRobotsRule, wr as OpenDocsProvider, wt as DocsAskAIMcpConfig, x as DocsAgentA2AOAuthAuthorizationCodeFlow, xn as DocsReviewScoreConfig, xr as McpDocsSearchConfig, xt as DocsAskAIFeedbackData, y as DocsAgentA2AMutualTlsSecurityScheme, yn as DocsReviewConfig, yr as LlmsTxtMaxCharsMode, yt as DocsAskAIActionType, z as DocsAgentEvaluationAnswerResult, zn as DocsSearchFacetsResponse, zr as PageTwitter, zt as DocsContentChangeDocument } from "./types-CMNYudRn.mjs";
2
2
  import { AGENT_SKILL_COMPATIBILITY_MAX_LENGTH, AGENT_SKILL_DESCRIPTION_MAX_LENGTH, AGENT_SKILL_FRONTMATTER_FIELDS, AGENT_SKILL_NAME_MAX_LENGTH, DocsAgentSkillFrontmatter, DocsAgentSkillFrontmatterError, DocsAgentSkillFrontmatterField, DocsAgentSkillFrontmatterIssue, DocsAgentSkillFrontmatterValidation, DocsAgentSkillFrontmatterValidationOptions, isDocsAgentSkillName, parseDocsAgentSkillFrontmatter, validateDocsAgentSkillFrontmatter } from "./agent-skills-spec.mjs";
3
- import { $ as resolveDocsDiscoveryApiRoute, A as DocsAgentSkillIndexEntry, B as DocsPublishedAgentSkillFile, C as DOCS_AGENT_MANIFEST_FORMAT, D as DocsA2AAgentCard, E as DOCS_AGENT_MANIFEST_VERSION, F as DocsApiCatalogLinkTarget, G as buildDocsA2AAgentCard, H as DocsStandardsDiscoveryRequest, I as DocsApiCatalogOpenApiDefinition, J as buildDocsLegacySkillsIndex, K as buildDocsAgentSkillsIndex, L as DocsApiCatalogOptions, M as DocsApiCatalog, N as DocsApiCatalogApiTarget, O as DocsA2AAgentCardOptions, P as DocsApiCatalogLinkContext, Q as isDocsStandardsDiscoveryRequest, R as DocsDiscoveryApiRouteOptions, S as DEFAULT_LEGACY_SKILLS_ROUTE_PREFIX, T as DOCS_AGENT_MANIFEST_SCHEMA_URI, U as DocsStandardsDiscoveryRouteOptions, V as DocsPublishedAgentSkillOptions, W as appendDocsDiscoveryLinkHeader, X as getDocsAgentManifestLinkHeader, Y as createDocsStandardsResponse, Z as getDocsDiscoveryLinkHeader, _ as DEFAULT_AGENT_SKILL_RESOURCE_FORMAT, a as DEFAULT_A2A_AGENT_CARD_FORMAT, b as DEFAULT_LEGACY_SKILLS_INDEX_FORMAT, c as DEFAULT_A2A_PROTOCOL_VERSION, d as DEFAULT_AGENT_SKILLS_INDEX_ROUTE, et as resolveDocsPublishedAgentSkill, f as DEFAULT_AGENT_SKILLS_ROUTE_PATTERN, g as DEFAULT_AGENT_SKILL_FORMAT, h as DEFAULT_AGENT_SKILL_FILE_FORMAT, i as CreateDocsStandardsResponseOptions, j as DocsAgentSkillsIndex, k as DocsA2AAgentInterface, l as DEFAULT_AGENT_SKILLS_ARCHIVE_ROUTE_PATTERN, m as DEFAULT_AGENT_SKILL_ARCHIVE_FORMAT, n as API_CATALOG_MEDIA_TYPE, nt as sha256DocsDiscoveryContent, o as DEFAULT_A2A_AGENT_CARD_ROUTE, p as DEFAULT_AGENT_SKILLS_ROUTE_PREFIX, q as buildDocsApiCatalog, r as API_CATALOG_PROFILE_URI, s as DEFAULT_A2A_PROTOCOL_BINDING, t as AGENT_SKILLS_DISCOVERY_SCHEMA_URI, tt as resolveDocsStandardsDiscoveryRequest, u as DEFAULT_AGENT_SKILLS_INDEX_FORMAT, v as DEFAULT_API_CATALOG_FORMAT, w as DOCS_AGENT_MANIFEST_SCHEMA_MEDIA_TYPE, x as DEFAULT_LEGACY_SKILLS_INDEX_ROUTE, y as DEFAULT_API_CATALOG_ROUTE, z as DocsPublishedAgentSkill } from "./standards-discovery-DX9iiGar.mjs";
4
- import { A as PromptProviderChoice, C as resolveDocsSitemapRequest, G as createDocsAgentTraceContext, H as DocsAgentTraceContext, J as emitDocsAnalyticsEvent, K as createDocsAgentTraceId, M as SerializedOpenDocsProvider, Q as resolveDocsObservabilityConfig, S as resolveDocsSitemapPageLastmod, U as ResolvedDocsAnalyticsConfig, V as DOCS_AGENT_TRACE_EVENT_TYPES, W as ResolvedDocsObservabilityConfig, X as getDocsRequestAnalyticsProperties, Y as emitDocsObservabilityEvent, Z as resolveDocsAnalyticsConfig, _ as createDocsSitemapResponse, a as DocsPaginationCursorError, b as renderDocsSitemapXml, c as DEFAULT_SITEMAP_MD_ROUTE, d as DocsSitemapFormat, f as DocsSitemapManifest, g as buildDocsSitemapManifest, h as DocsSitemapResolvedConfig, i as sha256DocsContent, j as SerializeOpenDocsProviderOptions, k as PromptAction, l as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, m as DocsSitemapPageInput, n as digestDocsRetrievalContent, o as DEFAULT_SITEMAP_MANIFEST_PATH, p as DocsSitemapManifestPage, q as emitDocsAgentTraceEvent, r as isDocsRetrievalCanonicalUrl, s as DEFAULT_SITEMAP_MD_DOCS_ROUTE, t as digestDocsContent, u as DEFAULT_SITEMAP_XML_ROUTE, v as readDocsSitemapManifestFromContentMap, w as toDocsSitemapMarkdownUrl, x as resolveDocsSitemapConfig, y as renderDocsSitemapMarkdown } from "./retrieval-digest-Dl7Bx121.mjs";
5
- import { $ as DocsMarkdownPage, $n as PerformDocsSearchOptions, $t as resolveDocsLlmsTxtRequest, A as DocsAgentFeedbackDiscoveryConfig, An as MIN_DOCS_CONTENT_CHANGE_HYDRATION_TOKEN_BUDGET, Ar as resolveDocsAgentMdxContent, At as hasDocsMarkdownSignatureAgent, B as DocsDiagnosticsIssueSeverity, Bn as createDocsContentChangeFeed, Bt as normalizeDocsPathSegment, C as DOCS_AI_AGENT_USER_AGENT_HEADER_PATTERN, Cn as DocsContentChangeHydrationBudget, Cr as resolveSearchRequestConfig, Ct as createDocsMarkdownResponse, D as DOCS_TRADITIONAL_BOT_USER_AGENT_HEADER_PATTERN, Dn as DocsContentChangeHydrationTombstone, Dt as getDocsLlmsTxtMaxCharsIssue, E as DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER, En as DocsContentChangeHydrationSection, Et as findDocsMarkdownPage, F as DocsConfigMapJsonValue, Fn as DocsContentChangeFeed, Fr as resolveDocsI18n, Ft as isDocsLlmsTxtPublicRequest, G as DocsLlmsTxtGeneratedSection, Gn as resolveDocsContentChangesRequest, Gt as renderDocsMarkdownDocument, H as DocsDiagnosticsStatus, Hn as isDocsContentChangeGeneration, Ht as parseDocsAgentFeedbackData, I as DocsConfigMapPointer, In as DocsContentChangesRequest, Ir as resolveDocsLocale, It as isDocsMarkdownSectionIndexRequest, J as DocsLlmsTxtRequest, Jn as DocsLocalMcpSearchRuntimeConfig, Jt as resolveDocsAgentContractMcpTools, K as DocsLlmsTxtMaxCharsIssue, Kn as BuildDocsContentSnapshotOptions, Kt as renderDocsMarkdownNotFound, L as DocsDiagnostics, Ln as DocsContentChangesRequestError, Lr as resolveDocsPath, Lt as isDocsPublicGetRequest, M as DocsAgentFeedbackResolvedConfig, Mn as DOCS_CONTENT_CHANGES_FORMAT, Mr as resolveDocsAudienceMdxContent, Mt as isDocsAgentsRequest, N as DocsAgentsDocumentOptions, Nn as DOCS_CONTENT_CHANGES_RESPONSE_VALUE, Nr as DocsPathMatch, Nt as isDocsConfigRequest, O as DocsAgentContractMcpTools, On as HydrateDocsContentChangesOptions, Ot as getDocsMarkdownCanonicalLinkHeader, P as DocsConfigMap, Pn as DOCS_CONTENT_SNAPSHOT_FORMAT, Pr as ResolvedDocsI18n, Pt as isDocsDiagnosticsRequest, Q as DocsMarkdownAgentDetection, Qn as EnrichDocsSearchDocumentsWithProvenanceOptions, Qt as resolveDocsLlmsTxtFormat, R as DocsDiagnosticsFeature, Rn as DocsResolvedContentChangesConfig, Rt as isDocsSkillRequest, S as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, Sn as DOCS_CONTENT_CHANGE_HYDRATION_FORMAT, Sr as resolveLocalDocsMcpSearchConfig, St as collectDocsMarkdownSections, T as DOCS_MARKDOWN_SECTION_INDEX_FORMAT, Tn as DocsContentChangeHydrationResponse, Tr as DocsContentAudience, Tt as detectDocsMarkdownAgentRequest, U as DocsLlmsDiscoveryConfig, Un as isDocsContentChangesRequest, Ut as renderDocsAgentsDocument, V as DocsDiagnosticsOptions, Vn as createDocsContentChangesHttpResponse, Vt as normalizeDocsUrlPath, W as DocsLlmsTxtGeneratedContent, Wn as resolveDocsContentChangesConfig, Wt as renderDocsLlmsTxt, X as DocsLlmsTxtResolvedSection, Xn as DocsSearchRequestError, Xt as resolveDocsAgentFeedbackRequest, Y as DocsLlmsTxtResolvedMaxChars, Yn as DocsLocalMcpSearchRuntimeInput, Yt as resolveDocsAgentFeedbackConfig, Z as DocsLlmsTxtSelectedContent, Zn as DocsSearchRequestResolutionOptions, Zt as resolveDocsAgentsFormat, _ as DEFAULT_LLMS_TXT_MAX_CHARS, _n as getDocsMcpProtectedResourceMetadataRoutes, _r as resolveDocsRetrievalLastModified, _t as buildDocsAgentFeedbackSchema, a as DEFAULT_AGENT_MD_ROUTE, an as resolveDocsOpenApiDiscoveryConfig, ar as createAlgoliaSearchAdapter, at as DocsMarkdownSectionIndexOptions, b as DEFAULT_OPENAPI_SCHEMA_ROUTE, bn as isDocsMcpRequest, br as resolveDocsSearchFilters, bt as buildDocsMarkdownSectionIndex, c as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, cn as selectDocsLlmsTxtContent, cr as createSimpleSearchAdapter, ct as DocsMarkdownSectionResult, d as DEFAULT_DOCS_CONFIG_FORMAT, dn as validateDocsAgentFeedbackPayload, dr as formatDocsAskAIPackageHints, dt as DocsOpenApiDiscoveryConfig, en as resolveDocsLlmsTxtSections, er as buildDocsAskAIContext, et as DocsMarkdownRecoveryMatch, f as DEFAULT_DOCS_CONFIG_ROUTE, fn as DEFAULT_MCP_PROTECTED_RESOURCE_METADATA_ROUTE, fr as inferDocsAskAIPackageHints, ft as DocsOpenApiResolvedDiscoveryConfig, g as DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, gn as buildDocsMcpProtectedResourceMetadataRoute, gr as resolveAskAISearchRequestConfig, gt as buildDocsAgentDiscoverySpec, h as DEFAULT_LLMS_FULL_TXT_ROUTE, hn as DEFAULT_MCP_WELL_KNOWN_ROUTE, hr as performDocsSearchWithMetadata, ht as acceptsDocsMarkdown, i as DEFAULT_AGENT_FEEDBACK_ROUTE, in as resolveDocsMarkdownSectionRequest, ir as buildDocsSearchFacets, it as DocsMarkdownSectionIndex, j as DocsAgentFeedbackRequest, jn as hydrateDocsContentChanges, jr as resolveDocsAudienceExposure, jt as isDocsAgentDiscoveryRequest, k as DocsAgentDiscoverySpecOptions, kn as MAX_DOCS_CONTENT_CHANGE_HYDRATION_TOKEN_BUDGET, kr as findDocsAudienceMdxIssues, kt as getDocsMarkdownVaryHeader, l as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, ln as selectDocsMarkdownSection, lr as createTypesenseSearchAdapter, lt as DocsMcpEndpointCandidate, m as DEFAULT_DOCS_DIAGNOSTICS_ROUTE, mn as DEFAULT_MCP_ROUTE, mr as performDocsSearch, mt as DocsStandardsDiscoveryResponseOptions, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, nn as resolveDocsMarkdownRecovery, nr as buildDocsRetrievalDigestProjection, nt as DocsMarkdownResponseOptions, o as DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, on as resolveDocsRequestApiRoute, or as createCustomSearchAdapter, ot as DocsMarkdownSectionMetadata, p as DEFAULT_DOCS_DIAGNOSTICS_FORMAT, pn as DEFAULT_MCP_PUBLIC_ROUTE, pr as normalizeDocsSearchFilters, pt as DocsSkillDocumentOptions, q as DocsLlmsTxtPageInput, qn as BuildDocsSearchFacetsOptions, qt as renderDocsSkillDocument, r as DEFAULT_AGENT_FEEDBACK_PAYLOAD_SCHEMA, rn as resolveDocsMarkdownRequest, rr as buildDocsSearchDocuments, rt as DocsMarkdownSection, s as DEFAULT_AGENT_SPEC_ROUTE, sn as resolveDocsSkillFormat, sr as createMcpSearchAdapter, st as DocsMarkdownSectionRequest, t as DEFAULT_AGENTS_MD_ROUTE, tn as resolveDocsMarkdownCanonicalUrl, tr as buildDocsContentSnapshot, tt as DocsMarkdownRecoveryResult, u as DEFAULT_DOCS_API_ROUTE, un as toDocsMarkdownUrl, ur as enrichDocsSearchDocumentsWithProvenance, ut as DocsMcpEndpointCandidateOptions, v as DEFAULT_LLMS_TXT_ROUTE, vn as getDocsMcpResourcePaths, vr as resolveDocsSearchAudience, vt as buildDocsConfigMap, w as DOCS_BOT_LIKE_USER_AGENT_HEADER_PATTERN, wn as DocsContentChangeHydrationContent, wr as DocsAudienceMdxIssue, wt as createDocsStandardsDiscoveryResponse, x as DEFAULT_SKILL_MD_ROUTE, xn as DEFAULT_DOCS_CONTENT_CHANGE_HYDRATION_TOKEN_BUDGET, xr as resolveDocsSearchRequest, xt as buildDocsMcpEndpointCandidates, y as DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE, yn as hasDocsMcpProtectedResourceConfig, yr as resolveDocsSearchError, yt as buildDocsDiagnostics, z as DocsDiagnosticsIssue, zn as ResolveDocsContentChangesOptions, zt as matchesDocsLlmsTxtSection } from "./agent-Vk9oUKpQ.mjs";
3
+ import { $ as resolveDocsDiscoveryApiRoute, A as DocsAgentSkillIndexEntry, B as DocsPublishedAgentSkillFile, C as DOCS_AGENT_MANIFEST_FORMAT, D as DocsA2AAgentCard, E as DOCS_AGENT_MANIFEST_VERSION, F as DocsApiCatalogLinkTarget, G as buildDocsA2AAgentCard, H as DocsStandardsDiscoveryRequest, I as DocsApiCatalogOpenApiDefinition, J as buildDocsLegacySkillsIndex, K as buildDocsAgentSkillsIndex, L as DocsApiCatalogOptions, M as DocsApiCatalog, N as DocsApiCatalogApiTarget, O as DocsA2AAgentCardOptions, P as DocsApiCatalogLinkContext, Q as isDocsStandardsDiscoveryRequest, R as DocsDiscoveryApiRouteOptions, S as DEFAULT_LEGACY_SKILLS_ROUTE_PREFIX, T as DOCS_AGENT_MANIFEST_SCHEMA_URI, U as DocsStandardsDiscoveryRouteOptions, V as DocsPublishedAgentSkillOptions, W as appendDocsDiscoveryLinkHeader, X as getDocsAgentManifestLinkHeader, Y as createDocsStandardsResponse, Z as getDocsDiscoveryLinkHeader, _ as DEFAULT_AGENT_SKILL_RESOURCE_FORMAT, a as DEFAULT_A2A_AGENT_CARD_FORMAT, b as DEFAULT_LEGACY_SKILLS_INDEX_FORMAT, c as DEFAULT_A2A_PROTOCOL_VERSION, d as DEFAULT_AGENT_SKILLS_INDEX_ROUTE, et as resolveDocsPublishedAgentSkill, f as DEFAULT_AGENT_SKILLS_ROUTE_PATTERN, g as DEFAULT_AGENT_SKILL_FORMAT, h as DEFAULT_AGENT_SKILL_FILE_FORMAT, i as CreateDocsStandardsResponseOptions, j as DocsAgentSkillsIndex, k as DocsA2AAgentInterface, l as DEFAULT_AGENT_SKILLS_ARCHIVE_ROUTE_PATTERN, m as DEFAULT_AGENT_SKILL_ARCHIVE_FORMAT, n as API_CATALOG_MEDIA_TYPE, nt as sha256DocsDiscoveryContent, o as DEFAULT_A2A_AGENT_CARD_ROUTE, p as DEFAULT_AGENT_SKILLS_ROUTE_PREFIX, q as buildDocsApiCatalog, r as API_CATALOG_PROFILE_URI, s as DEFAULT_A2A_PROTOCOL_BINDING, t as AGENT_SKILLS_DISCOVERY_SCHEMA_URI, tt as resolveDocsStandardsDiscoveryRequest, u as DEFAULT_AGENT_SKILLS_INDEX_FORMAT, v as DEFAULT_API_CATALOG_FORMAT, w as DOCS_AGENT_MANIFEST_SCHEMA_MEDIA_TYPE, x as DEFAULT_LEGACY_SKILLS_INDEX_ROUTE, y as DEFAULT_API_CATALOG_ROUTE, z as DocsPublishedAgentSkill } from "./standards-discovery-B7L9pSnQ.mjs";
4
+ import { A as PromptProviderChoice, C as resolveDocsSitemapRequest, G as createDocsAgentTraceContext, H as DocsAgentTraceContext, J as emitDocsAnalyticsEvent, K as createDocsAgentTraceId, M as SerializedOpenDocsProvider, Q as resolveDocsObservabilityConfig, S as resolveDocsSitemapPageLastmod, U as ResolvedDocsAnalyticsConfig, V as DOCS_AGENT_TRACE_EVENT_TYPES, W as ResolvedDocsObservabilityConfig, X as getDocsRequestAnalyticsProperties, Y as emitDocsObservabilityEvent, Z as resolveDocsAnalyticsConfig, _ as createDocsSitemapResponse, a as DocsPaginationCursorError, b as renderDocsSitemapXml, c as DEFAULT_SITEMAP_MD_ROUTE, d as DocsSitemapFormat, f as DocsSitemapManifest, g as buildDocsSitemapManifest, h as DocsSitemapResolvedConfig, i as sha256DocsContent, j as SerializeOpenDocsProviderOptions, k as PromptAction, l as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, m as DocsSitemapPageInput, n as digestDocsRetrievalContent, o as DEFAULT_SITEMAP_MANIFEST_PATH, p as DocsSitemapManifestPage, q as emitDocsAgentTraceEvent, r as isDocsRetrievalCanonicalUrl, s as DEFAULT_SITEMAP_MD_DOCS_ROUTE, t as digestDocsContent, u as DEFAULT_SITEMAP_XML_ROUTE, v as readDocsSitemapManifestFromContentMap, w as toDocsSitemapMarkdownUrl, x as resolveDocsSitemapConfig, y as renderDocsSitemapMarkdown } from "./retrieval-digest-DMqcN_MK.mjs";
5
+ import { $ as DocsMarkdownPage, $n as PerformDocsSearchOptions, $t as resolveDocsLlmsTxtRequest, A as DocsAgentFeedbackDiscoveryConfig, An as MIN_DOCS_CONTENT_CHANGE_HYDRATION_TOKEN_BUDGET, Ar as resolveDocsAgentMdxContent, At as hasDocsMarkdownSignatureAgent, B as DocsDiagnosticsIssueSeverity, Bn as createDocsContentChangeFeed, Bt as normalizeDocsPathSegment, C as DOCS_AI_AGENT_USER_AGENT_HEADER_PATTERN, Cn as DocsContentChangeHydrationBudget, Cr as resolveSearchRequestConfig, Ct as createDocsMarkdownResponse, D as DOCS_TRADITIONAL_BOT_USER_AGENT_HEADER_PATTERN, Dn as DocsContentChangeHydrationTombstone, Dt as getDocsLlmsTxtMaxCharsIssue, E as DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER, En as DocsContentChangeHydrationSection, Et as findDocsMarkdownPage, F as DocsConfigMapJsonValue, Fn as DocsContentChangeFeed, Fr as resolveDocsI18n, Ft as isDocsLlmsTxtPublicRequest, G as DocsLlmsTxtGeneratedSection, Gn as resolveDocsContentChangesRequest, Gt as renderDocsMarkdownDocument, H as DocsDiagnosticsStatus, Hn as isDocsContentChangeGeneration, Ht as parseDocsAgentFeedbackData, I as DocsConfigMapPointer, In as DocsContentChangesRequest, Ir as resolveDocsLocale, It as isDocsMarkdownSectionIndexRequest, J as DocsLlmsTxtRequest, Jn as DocsLocalMcpSearchRuntimeConfig, Jt as resolveDocsAgentContractMcpTools, K as DocsLlmsTxtMaxCharsIssue, Kn as BuildDocsContentSnapshotOptions, Kt as renderDocsMarkdownNotFound, L as DocsDiagnostics, Ln as DocsContentChangesRequestError, Lr as resolveDocsPath, Lt as isDocsPublicGetRequest, M as DocsAgentFeedbackResolvedConfig, Mn as DOCS_CONTENT_CHANGES_FORMAT, Mr as resolveDocsAudienceMdxContent, Mt as isDocsAgentsRequest, N as DocsAgentsDocumentOptions, Nn as DOCS_CONTENT_CHANGES_RESPONSE_VALUE, Nr as DocsPathMatch, Nt as isDocsConfigRequest, O as DocsAgentContractMcpTools, On as HydrateDocsContentChangesOptions, Ot as getDocsMarkdownCanonicalLinkHeader, P as DocsConfigMap, Pn as DOCS_CONTENT_SNAPSHOT_FORMAT, Pr as ResolvedDocsI18n, Pt as isDocsDiagnosticsRequest, Q as DocsMarkdownAgentDetection, Qn as EnrichDocsSearchDocumentsWithProvenanceOptions, Qt as resolveDocsLlmsTxtFormat, R as DocsDiagnosticsFeature, Rn as DocsResolvedContentChangesConfig, Rt as isDocsSkillRequest, S as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, Sn as DOCS_CONTENT_CHANGE_HYDRATION_FORMAT, Sr as resolveLocalDocsMcpSearchConfig, St as collectDocsMarkdownSections, T as DOCS_MARKDOWN_SECTION_INDEX_FORMAT, Tn as DocsContentChangeHydrationResponse, Tr as DocsContentAudience, Tt as detectDocsMarkdownAgentRequest, U as DocsLlmsDiscoveryConfig, Un as isDocsContentChangesRequest, Ut as renderDocsAgentsDocument, V as DocsDiagnosticsOptions, Vn as createDocsContentChangesHttpResponse, Vt as normalizeDocsUrlPath, W as DocsLlmsTxtGeneratedContent, Wn as resolveDocsContentChangesConfig, Wt as renderDocsLlmsTxt, X as DocsLlmsTxtResolvedSection, Xn as DocsSearchRequestError, Xt as resolveDocsAgentFeedbackRequest, Y as DocsLlmsTxtResolvedMaxChars, Yn as DocsLocalMcpSearchRuntimeInput, Yt as resolveDocsAgentFeedbackConfig, Z as DocsLlmsTxtSelectedContent, Zn as DocsSearchRequestResolutionOptions, Zt as resolveDocsAgentsFormat, _ as DEFAULT_LLMS_TXT_MAX_CHARS, _n as getDocsMcpProtectedResourceMetadataRoutes, _r as resolveDocsRetrievalLastModified, _t as buildDocsAgentFeedbackSchema, a as DEFAULT_AGENT_MD_ROUTE, an as resolveDocsOpenApiDiscoveryConfig, ar as createAlgoliaSearchAdapter, at as DocsMarkdownSectionIndexOptions, b as DEFAULT_OPENAPI_SCHEMA_ROUTE, bn as isDocsMcpRequest, br as resolveDocsSearchFilters, bt as buildDocsMarkdownSectionIndex, c as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, cn as selectDocsLlmsTxtContent, cr as createSimpleSearchAdapter, ct as DocsMarkdownSectionResult, d as DEFAULT_DOCS_CONFIG_FORMAT, dn as validateDocsAgentFeedbackPayload, dr as formatDocsAskAIPackageHints, dt as DocsOpenApiDiscoveryConfig, en as resolveDocsLlmsTxtSections, er as buildDocsAskAIContext, et as DocsMarkdownRecoveryMatch, f as DEFAULT_DOCS_CONFIG_ROUTE, fn as DEFAULT_MCP_PROTECTED_RESOURCE_METADATA_ROUTE, fr as inferDocsAskAIPackageHints, ft as DocsOpenApiResolvedDiscoveryConfig, g as DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, gn as buildDocsMcpProtectedResourceMetadataRoute, gr as resolveAskAISearchRequestConfig, gt as buildDocsAgentDiscoverySpec, h as DEFAULT_LLMS_FULL_TXT_ROUTE, hn as DEFAULT_MCP_WELL_KNOWN_ROUTE, hr as performDocsSearchWithMetadata, ht as acceptsDocsMarkdown, i as DEFAULT_AGENT_FEEDBACK_ROUTE, in as resolveDocsMarkdownSectionRequest, ir as buildDocsSearchFacets, it as DocsMarkdownSectionIndex, j as DocsAgentFeedbackRequest, jn as hydrateDocsContentChanges, jr as resolveDocsAudienceExposure, jt as isDocsAgentDiscoveryRequest, k as DocsAgentDiscoverySpecOptions, kn as MAX_DOCS_CONTENT_CHANGE_HYDRATION_TOKEN_BUDGET, kr as findDocsAudienceMdxIssues, kt as getDocsMarkdownVaryHeader, l as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, ln as selectDocsMarkdownSection, lr as createTypesenseSearchAdapter, lt as DocsMcpEndpointCandidate, m as DEFAULT_DOCS_DIAGNOSTICS_ROUTE, mn as DEFAULT_MCP_ROUTE, mr as performDocsSearch, mt as DocsStandardsDiscoveryResponseOptions, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, nn as resolveDocsMarkdownRecovery, nr as buildDocsRetrievalDigestProjection, nt as DocsMarkdownResponseOptions, o as DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, on as resolveDocsRequestApiRoute, or as createCustomSearchAdapter, ot as DocsMarkdownSectionMetadata, p as DEFAULT_DOCS_DIAGNOSTICS_FORMAT, pn as DEFAULT_MCP_PUBLIC_ROUTE, pr as normalizeDocsSearchFilters, pt as DocsSkillDocumentOptions, q as DocsLlmsTxtPageInput, qn as BuildDocsSearchFacetsOptions, qt as renderDocsSkillDocument, r as DEFAULT_AGENT_FEEDBACK_PAYLOAD_SCHEMA, rn as resolveDocsMarkdownRequest, rr as buildDocsSearchDocuments, rt as DocsMarkdownSection, s as DEFAULT_AGENT_SPEC_ROUTE, sn as resolveDocsSkillFormat, sr as createMcpSearchAdapter, st as DocsMarkdownSectionRequest, t as DEFAULT_AGENTS_MD_ROUTE, tn as resolveDocsMarkdownCanonicalUrl, tr as buildDocsContentSnapshot, tt as DocsMarkdownRecoveryResult, u as DEFAULT_DOCS_API_ROUTE, un as toDocsMarkdownUrl, ur as enrichDocsSearchDocumentsWithProvenance, ut as DocsMcpEndpointCandidateOptions, v as DEFAULT_LLMS_TXT_ROUTE, vn as getDocsMcpResourcePaths, vr as resolveDocsSearchAudience, vt as buildDocsConfigMap, w as DOCS_BOT_LIKE_USER_AGENT_HEADER_PATTERN, wn as DocsContentChangeHydrationContent, wr as DocsAudienceMdxIssue, wt as createDocsStandardsDiscoveryResponse, x as DEFAULT_SKILL_MD_ROUTE, xn as DEFAULT_DOCS_CONTENT_CHANGE_HYDRATION_TOKEN_BUDGET, xr as resolveDocsSearchRequest, xt as buildDocsMcpEndpointCandidates, y as DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE, yn as hasDocsMcpProtectedResourceConfig, yr as resolveDocsSearchError, yt as buildDocsDiagnostics, z as DocsDiagnosticsIssue, zn as ResolveDocsContentChangesOptions, zt as matchesDocsLlmsTxtSection } from "./agent-DGEdQ0Nh.mjs";
6
6
 
7
7
  //#region src/define-docs.d.ts
8
8
  /**
@@ -116,7 +116,7 @@ declare function extendTheme(baseTheme: DocsTheme, extensions: Partial<DocsTheme
116
116
  //#endregion
117
117
  //#region src/agent-conformance.d.ts
118
118
  declare const DOCS_AGENT_CONTRACT_VERSION = "1.3";
119
- type DocsAgentAdapter = "next" | "tanstack-start" | "sveltekit" | "astro" | "nuxt";
119
+ type DocsAgentAdapter = "next" | "tanstack-start" | "farmjs" | "sveltekit" | "astro" | "nuxt";
120
120
  type DocsAgentContractSurface = "discovery" | "api-catalog" | "api-catalog-head" | "agent-skills-index" | "agent-skills-index-head" | "agent-skill" | "agent-skill-head" | "config" | "diagnostics" | "feedback-schema" | "markdown" | "markdown-accept" | "markdown-locale" | "markdown-missing" | "llms" | "llms-full" | "agents" | "skill" | "sitemap-xml" | "sitemap-markdown" | "robots" | "mcp";
121
121
  interface DocsAgentContractRequest {
122
122
  url: string;
@@ -1,5 +1,5 @@
1
- import { a as devInstallCommand, c as fileExists, d as readFileSafe, f as spawnAndWaitFor, i as detectPackageManagerFromProject, l as formatPackageManagerDetection, n as detectGlobalCssFiles, o as exec, p as writeFileSafe, r as detectNextAppDir, t as detectFramework, u as installCommand } from "./utils-DpiIioYb.mjs";
2
- import { $ as svelteDocsLayoutServerTemplate, A as injectTanstackVitePlugins, B as nuxtGlobalCssTemplate, C as injectDocsAgentSkillsVitePlugin, Ct as tsconfigTemplate, D as injectSvelteCssImport, E as injectRootProviderIntoLayout, F as nextLocaleDocPageTemplate, G as nuxtServerDocsPublicMiddlewareTemplate, H as nuxtQuickstartPageTemplate, I as nextLocalizedPageTemplate, J as quickstartPageTemplate, K as nuxtWelcomePageTemplate, L as nuxtConfigTemplate, M as nextApiReferencePageTemplate, N as nextConfigMergedTemplate, O as injectSvelteDocsPublicHook, P as nextConfigTemplate, Q as svelteDocsConfigTemplate, R as nuxtDocsConfigTemplate, S as injectCssImport, St as tanstackWelcomePageTemplate, T as injectNuxtCssImport, U as nuxtServerApiDocsRouteTemplate, V as nuxtInstallationPageTemplate, W as nuxtServerApiReferenceRouteTemplate, X as svelteApiReferenceRouteTemplate, Y as rootLayoutTemplate, Z as svelteDocsApiRouteTemplate, _ as getAstroAdapterPkg, _t as tanstackDocsServerTemplate, a as astroDocsIndexTemplate, at as svelteInstallationPageTemplate, b as injectAstroCssImport, bt as tanstackRootRouteTemplate, c as astroDocsServerTemplate, ct as svelteViteConfigTemplate, d as astroQuickstartPageTemplate, dt as tanstackApiReferenceRouteTemplate, et as svelteDocsLayoutTemplate, f as astroWelcomePageTemplate, ft as tanstackDocsCatchAllRouteTemplate, g as docsLayoutTemplate, gt as tanstackDocsPublicRouteTemplate, h as docsConfigTemplate, ht as tanstackDocsIndexRouteTemplate, i as astroDocsConfigTemplate, it as svelteGlobalCssTemplate, j as installationPageTemplate, k as injectTanstackRootProviderIntoRoute, l as astroGlobalCssTemplate, lt as svelteWelcomePageTemplate, m as customThemeTsTemplate, mt as tanstackDocsFunctionsTemplate, n as astroApiRouteTemplate, nt as svelteDocsPublicHookTemplate, o as astroDocsMiddlewareTemplate, ot as svelteQuickstartPageTemplate, p as customThemeCssTemplate, pt as tanstackDocsConfigTemplate, q as postcssConfigTemplate, r as astroConfigTemplate, rt as svelteDocsServerTemplate, s as astroDocsPageTemplate, st as svelteRootLayoutTemplate, t as astroApiReferenceRouteTemplate, tt as svelteDocsPageTemplate, u as astroInstallationPageTemplate, ut as tanstackApiDocsRouteTemplate, v as globalCssTemplate, vt as tanstackInstallationPageTemplate, w as injectNuxtAgentSkillsPlugin, wt as welcomePageTemplate, x as injectAstroDocsMiddleware, xt as tanstackViteConfigTemplate, y as injectAstroAgentSkillsPlugin, yt as tanstackQuickstartPageTemplate, z as nuxtDocsPageTemplate } from "./templates-Co7I_Okv.mjs";
1
+ import { a as devInstallCommand, c as fileExists, d as readFileSafe, f as spawnAndWaitFor, i as detectPackageManagerFromProject, l as formatPackageManagerDetection, n as detectGlobalCssFiles, o as exec, p as writeFileSafe, r as detectNextAppDir, t as detectFramework, u as installCommand } from "./utils-C4U_e1aw.mjs";
2
+ import { $ as postcssConfigTemplate, A as injectNuxtAgentSkillsPlugin, At as welcomePageTemplate, B as nextConfigTemplate, C as globalCssTemplate, Ct as tanstackDocsServerTemplate, D as injectCssImport, Dt as tanstackViteConfigTemplate, E as injectAstroDocsMiddleware, Et as tanstackRootRouteTemplate, F as injectTanstackRootProviderIntoRoute, G as nuxtDocsPageTemplate, H as nextLocalizedPageTemplate, I as injectTanstackVitePlugins, J as nuxtQuickstartPageTemplate, K as nuxtGlobalCssTemplate, L as installationPageTemplate, M as injectRootProviderIntoLayout, N as injectSvelteCssImport, O as injectDocsAgentSkillsVitePlugin, Ot as tanstackWelcomePageTemplate, P as injectSvelteDocsPublicHook, Q as nuxtWelcomePageTemplate, R as nextApiReferencePageTemplate, S as getAstroAdapterPkg, St as tanstackDocsPublicRouteTemplate, T as injectAstroCssImport, Tt as tanstackQuickstartPageTemplate, U as nuxtConfigTemplate, V as nextLocaleDocPageTemplate, W as nuxtDocsConfigTemplate, X as nuxtServerApiReferenceRouteTemplate, Y as nuxtServerApiDocsRouteTemplate, Z as nuxtServerDocsPublicMiddlewareTemplate, _ as farmjsConfigTemplate, _t as tanstackApiReferenceRouteTemplate, a as astroDocsIndexTemplate, at as svelteDocsLayoutServerTemplate, b as farmjsQuickstartPageTemplate, bt as tanstackDocsFunctionsTemplate, c as astroDocsServerTemplate, ct as svelteDocsPublicHookTemplate, d as astroQuickstartPageTemplate, dt as svelteInstallationPageTemplate, et as quickstartPageTemplate, f as astroWelcomePageTemplate, ft as svelteQuickstartPageTemplate, g as docsLayoutTemplate, gt as tanstackApiDocsRouteTemplate, h as docsConfigTemplate, ht as svelteWelcomePageTemplate, i as astroDocsConfigTemplate, it as svelteDocsConfigTemplate, j as injectNuxtCssImport, k as injectFarmjsConfig, kt as tsconfigTemplate, l as astroGlobalCssTemplate, lt as svelteDocsServerTemplate, m as customThemeTsTemplate, mt as svelteViteConfigTemplate, n as astroApiRouteTemplate, nt as svelteApiReferenceRouteTemplate, o as astroDocsMiddlewareTemplate, ot as svelteDocsLayoutTemplate, p as customThemeCssTemplate, pt as svelteRootLayoutTemplate, q as nuxtInstallationPageTemplate, r as astroConfigTemplate, rt as svelteDocsApiRouteTemplate, s as astroDocsPageTemplate, st as svelteDocsPageTemplate, t as astroApiReferenceRouteTemplate, tt as rootLayoutTemplate, u as astroInstallationPageTemplate, ut as svelteGlobalCssTemplate, v as farmjsDocsConfigTemplate, vt as tanstackDocsCatchAllRouteTemplate, w as injectAstroAgentSkillsPlugin, wt as tanstackInstallationPageTemplate, x as farmjsWelcomePageTemplate, xt as tanstackDocsIndexRouteTemplate, y as farmjsInstallationPageTemplate, yt as tanstackDocsConfigTemplate, z as nextConfigMergedTemplate } from "./templates-BTIO0i_g.mjs";
3
3
  import fs from "node:fs";
4
4
  import path from "node:path";
5
5
  import pc from "picocolors";
@@ -129,6 +129,11 @@ function detectApiRouteRoot(cwd, framework, nextAppDir = "app") {
129
129
  if (fs.existsSync(path.join(routesRoot, defaultRoot))) return defaultRoot;
130
130
  return detectFromRecursiveRouteFiles(routesRoot, (_entry, relativePath) => /(?:^|\/)[^/]+\.(?:[cm]?[jt]sx?)$/i.test(relativePath)) ?? defaultRoot;
131
131
  }
132
+ if (framework === "farmjs") {
133
+ const appRoot = fs.existsSync(path.join(cwd, "src", "app")) ? path.join(cwd, "src", "app") : path.join(cwd, "app");
134
+ if (fs.existsSync(path.join(appRoot, defaultRoot))) return defaultRoot;
135
+ return detectFromRecursiveRouteFiles(appRoot, (_entry, relativePath) => /\/?route\.(?:[cm]?[jt]sx?)$/i.test(relativePath)) ?? defaultRoot;
136
+ }
132
137
  if (framework === "sveltekit") {
133
138
  const routesRoot = path.join(cwd, "src/routes");
134
139
  if (fs.existsSync(path.join(routesRoot, defaultRoot))) return defaultRoot;
@@ -188,7 +193,7 @@ async function configureDocsCloudOnboarding(options) {
188
193
  enabled = cloudAnswer;
189
194
  }
190
195
  if (!enabled) return;
191
- const { initCloudConfig } = await import("./cloud-DwhH_b_q.mjs");
196
+ const { initCloudConfig } = await import("./cloud-CojpBKC-.mjs");
192
197
  printDocsCloudOnboardingInstructions(await initCloudConfig({
193
198
  rootDir: options.rootDir,
194
199
  configPath: getDocsCloudConfigPathForFramework(options.framework)
@@ -349,7 +354,7 @@ async function init(options = {}) {
349
354
  }
350
355
  let framework = detectFramework(cwd);
351
356
  if (framework) {
352
- const frameworkName = framework === "nextjs" ? "Next.js" : framework === "tanstack-start" ? "TanStack Start" : framework === "sveltekit" ? "SvelteKit" : framework === "astro" ? "Astro" : "Nuxt";
357
+ const frameworkName = framework === "nextjs" ? "Next.js" : framework === "tanstack-start" ? "TanStack Start" : framework === "farmjs" ? "Farm.js" : framework === "sveltekit" ? "SvelteKit" : framework === "astro" ? "Astro" : "Nuxt";
353
358
  p.log.success(`Detected framework: ${pc.cyan(frameworkName)}`);
354
359
  } else {
355
360
  p.log.warn("Could not auto-detect a framework from " + pc.cyan("package.json") + ".");
@@ -366,6 +371,11 @@ async function init(options = {}) {
366
371
  label: "TanStack Start",
367
372
  hint: "React with TanStack Router and server functions"
368
373
  },
374
+ {
375
+ value: "farmjs",
376
+ label: "Farm.js",
377
+ hint: "React framework for product applications"
378
+ },
369
379
  {
370
380
  value: "sveltekit",
371
381
  label: "SvelteKit",
@@ -513,7 +523,7 @@ async function init(options = {}) {
513
523
  }
514
524
  customThemeName = nameAnswer.trim().replace(/\.(ts|css)$/i, "") || defaultThemeName;
515
525
  }
516
- const aliasHint = framework === "nextjs" ? `Uses ${pc.cyan("@/")} prefix (requires tsconfig paths)` : framework === "tanstack-start" ? `Uses ${pc.cyan("@/")} prefix (requires tsconfig paths)` : framework === "sveltekit" ? `Uses ${pc.cyan("$lib/")} prefix (SvelteKit built-in)` : framework === "nuxt" ? `Uses ${pc.cyan("~/")} prefix (Nuxt built-in)` : `Uses ${pc.cyan("@/")} prefix (requires tsconfig paths)`;
526
+ const aliasHint = framework === "nextjs" ? `Uses ${pc.cyan("@/")} prefix (requires tsconfig paths)` : framework === "tanstack-start" ? `Uses ${pc.cyan("@/")} prefix (requires tsconfig paths)` : framework === "farmjs" ? `Uses ${pc.cyan("@/")} prefix (requires tsconfig paths)` : framework === "sveltekit" ? `Uses ${pc.cyan("$lib/")} prefix (SvelteKit built-in)` : framework === "nuxt" ? `Uses ${pc.cyan("~/")} prefix (Nuxt built-in)` : `Uses ${pc.cyan("@/")} prefix (requires tsconfig paths)`;
517
527
  const useAlias = await p.confirm({
518
528
  message: `Use path aliases for imports? ${pc.dim(aliasHint)}`,
519
529
  initialValue: false
@@ -696,7 +706,7 @@ async function init(options = {}) {
696
706
  }
697
707
  const detectedCssFiles = detectGlobalCssFiles(cwd);
698
708
  let globalCssRelPath;
699
- const defaultCssPath = framework === "tanstack-start" ? "src/styles/app.css" : framework === "sveltekit" ? "src/app.css" : framework === "astro" ? "src/styles/global.css" : framework === "nuxt" ? "assets/css/main.css" : framework === "nextjs" ? `${nextAppDir}/globals.css` : "app/globals.css";
709
+ const defaultCssPath = framework === "tanstack-start" ? "src/styles/app.css" : framework === "farmjs" ? "src/app/globals.css" : framework === "sveltekit" ? "src/app.css" : framework === "astro" ? "src/styles/global.css" : framework === "nuxt" ? "assets/css/main.css" : framework === "nextjs" ? `${nextAppDir}/globals.css` : "app/globals.css";
700
710
  if (detectedCssFiles.length === 1) {
701
711
  globalCssRelPath = detectedCssFiles[0];
702
712
  p.log.info(`Found global CSS at ${pc.cyan(globalCssRelPath)}`);
@@ -753,6 +763,7 @@ async function init(options = {}) {
753
763
  else skipped.push(rel);
754
764
  }
755
765
  if (framework === "tanstack-start") scaffoldTanstackStart(cwd, cfg, globalCssRelPath, write, skipped, written);
766
+ else if (framework === "farmjs") scaffoldFarmjs(cwd, cfg, globalCssRelPath, write, skipped, written);
756
767
  else if (framework === "sveltekit") scaffoldSvelteKit(cwd, cfg, globalCssRelPath, write, skipped, written);
757
768
  else if (framework === "astro") scaffoldAstro(cwd, cfg, globalCssRelPath, write, skipped, written);
758
769
  else if (framework === "nuxt") scaffoldNuxt(cwd, cfg, globalCssRelPath, write, skipped, written);
@@ -797,7 +808,7 @@ async function init(options = {}) {
797
808
  p.log.info(`Using ${pc.cyan(pm)} as package manager`);
798
809
  const s2 = p.spinner();
799
810
  s2.start("Installing dependencies");
800
- const docsRuntimeInstallCommand = framework === "tanstack-start" ? `${installCommand(pm)} @farming-labs/docs @farming-labs/theme @farming-labs/tanstack-start` : framework === "sveltekit" ? `${installCommand(pm)} @farming-labs/docs @farming-labs/svelte @farming-labs/svelte-theme @farming-labs/theme` : framework === "astro" ? `${installCommand(pm)} @farming-labs/docs @farming-labs/astro @farming-labs/astro-theme @farming-labs/theme ${getAstroAdapterPkg(cfg.astroAdapter ?? "vercel")}` : framework === "nuxt" ? `${installCommand(pm)} @farming-labs/docs @farming-labs/nuxt @farming-labs/nuxt-theme @farming-labs/theme` : `${installCommand(pm)} @farming-labs/docs @farming-labs/next @farming-labs/theme`;
811
+ const docsRuntimeInstallCommand = framework === "tanstack-start" ? `${installCommand(pm)} @farming-labs/docs @farming-labs/theme @farming-labs/tanstack-start` : framework === "farmjs" ? `${installCommand(pm)} @farming-labs/docs @farming-labs/farmjs @farming-labs/theme` : framework === "sveltekit" ? `${installCommand(pm)} @farming-labs/docs @farming-labs/svelte @farming-labs/svelte-theme @farming-labs/theme` : framework === "astro" ? `${installCommand(pm)} @farming-labs/docs @farming-labs/astro @farming-labs/astro-theme @farming-labs/theme ${getAstroAdapterPkg(cfg.astroAdapter ?? "vercel")}` : framework === "nuxt" ? `${installCommand(pm)} @farming-labs/docs @farming-labs/nuxt @farming-labs/nuxt-theme @farming-labs/theme` : `${installCommand(pm)} @farming-labs/docs @farming-labs/next @farming-labs/theme`;
801
812
  try {
802
813
  exec(docsRuntimeInstallCommand, cwd);
803
814
  if (framework === "tanstack-start") {
@@ -853,6 +864,10 @@ async function init(options = {}) {
853
864
  cmd: "npx",
854
865
  args: ["vite", "dev"],
855
866
  waitFor: "ready"
867
+ } : framework === "farmjs" ? {
868
+ cmd: "npx",
869
+ args: ["farm", "dev"],
870
+ waitFor: "Local:"
856
871
  } : framework === "sveltekit" ? {
857
872
  cmd: "npx",
858
873
  args: ["vite", "dev"],
@@ -874,7 +889,7 @@ async function init(options = {}) {
874
889
  ],
875
890
  waitFor: "Ready"
876
891
  };
877
- const defaultPort = framework === "tanstack-start" ? "5173" : framework === "sveltekit" ? "5173" : framework === "astro" ? "4321" : framework === "nuxt" ? "3000" : "3000";
892
+ const defaultPort = framework === "tanstack-start" ? "5173" : framework === "farmjs" ? "3000" : framework === "sveltekit" ? "5173" : framework === "astro" ? "4321" : framework === "nuxt" ? "3000" : "3000";
878
893
  try {
879
894
  const child = await spawnAndWaitFor(devCommand.cmd, devCommand.args, cwd, devCommand.waitFor, 6e4);
880
895
  const url = `http://localhost:${defaultPort}/${entryPath}`;
@@ -893,7 +908,7 @@ async function init(options = {}) {
893
908
  });
894
909
  });
895
910
  } catch {
896
- const manualCmd = framework === "tanstack-start" ? "npx vite dev" : framework === "sveltekit" ? "npx vite dev" : framework === "astro" ? "npx astro dev" : framework === "nuxt" ? "npx nuxt dev" : "pnpm dev";
911
+ const manualCmd = framework === "tanstack-start" ? "npx vite dev" : framework === "farmjs" ? "npx farm dev" : framework === "sveltekit" ? "npx vite dev" : framework === "astro" ? "npx astro dev" : framework === "nuxt" ? "npx nuxt dev" : "pnpm dev";
897
912
  p.log.error(`Could not start dev server. Try running manually:
898
913
  ${pc.cyan(manualCmd)}`);
899
914
  p.outro(pc.yellow("Setup complete. Start the server manually."));
@@ -903,6 +918,43 @@ async function init(options = {}) {
903
918
  function getScaffoldContentRoots(cfg) {
904
919
  return cfg.i18n?.locales?.length ? cfg.i18n.locales.map((locale) => `${cfg.entry}/${locale}`) : [cfg.entry];
905
920
  }
921
+ function scaffoldFarmjs(cwd, cfg, globalCssRelPath, write, skipped, written) {
922
+ if (cfg.theme === "custom" && cfg.customThemeName) {
923
+ const baseName = cfg.customThemeName.replace(/\.(ts|css)$/i, "");
924
+ write(`themes/${baseName}.ts`, customThemeTsTemplate(baseName));
925
+ write(`themes/${baseName}.css`, customThemeCssTemplate(baseName));
926
+ }
927
+ write("docs.config.ts", farmjsDocsConfigTemplate(cfg));
928
+ const farmConfigPath = [
929
+ "farm.config.ts",
930
+ "farm.config.mts",
931
+ "farm.config.js",
932
+ "farm.config.mjs"
933
+ ].map((candidate) => path.join(cwd, candidate)).find((candidate) => fileExists(candidate));
934
+ if (farmConfigPath) {
935
+ const existing = readFileSafe(farmConfigPath);
936
+ const injected = existing ? injectFarmjsConfig(existing) : null;
937
+ const relativePath = path.relative(cwd, farmConfigPath);
938
+ if (injected) {
939
+ writeFileSafe(farmConfigPath, injected, true);
940
+ written.push(`${relativePath} (wrapped with withDocs)`);
941
+ } else skipped.push(`${relativePath} (already configured or unsupported default export)`);
942
+ } else write("farm.config.ts", farmjsConfigTemplate());
943
+ const globalCssAbsPath = path.join(cwd, globalCssRelPath);
944
+ const existingGlobalCss = readFileSafe(globalCssAbsPath);
945
+ if (existingGlobalCss) {
946
+ const injected = injectCssImport(existingGlobalCss, cfg.theme, cfg.customThemeName, globalCssRelPath);
947
+ if (injected) {
948
+ writeFileSafe(globalCssAbsPath, injected, true);
949
+ written.push(`${globalCssRelPath} (updated)`);
950
+ } else skipped.push(`${globalCssRelPath} (already configured)`);
951
+ } else write(globalCssRelPath, globalCssTemplate(cfg.theme, cfg.customThemeName, globalCssRelPath));
952
+ for (const base of getScaffoldContentRoots(cfg)) {
953
+ write(`${base}/page.md`, farmjsWelcomePageTemplate(cfg));
954
+ write(`${base}/installation/page.md`, farmjsInstallationPageTemplate(cfg));
955
+ write(`${base}/quickstart/page.md`, farmjsQuickstartPageTemplate(cfg));
956
+ }
957
+ }
906
958
  function scaffoldNextJs(cwd, cfg, globalCssRelPath, write, skipped, written) {
907
959
  const appDir = cfg.nextAppDir ?? "app";
908
960
  if (cfg.theme === "custom" && cfg.customThemeName) {
@@ -3,7 +3,7 @@ import "./markdown-sections-7OoA7ylx.mjs";
3
3
  import { L as resolveDocsPublishedAgentSkill } from "./standards-discovery-Ckx0tN7B.mjs";
4
4
  import "./content-change-hydration-Cy2a7rb1.mjs";
5
5
  import { a as resolveDocsMetadataBaseUrl } from "./metadata-N252j5_a.mjs";
6
- import "./sitemap-server-rv00bP21.mjs";
6
+ import "./sitemap-server-JffNpEef.mjs";
7
7
  import { r as resolveConfiguredAgentSkills } from "./agent-skills-server-CwmzAzf_.mjs";
8
8
  import "./agent-evals-CKZ7bPSp.mjs";
9
9
  import { createFilesystemDocsMcpSource, resolveDocsMcpConfig, runDocsMcpStdio } from "./mcp.mjs";
package/dist/mcp.d.mts CHANGED
@@ -1,6 +1,6 @@
1
- import { F as DocsAgentContentChangesConfig, Nn as DocsSearchConfig, Pr as PageAgentFrontmatter, Qt as DocsMcpAuthenticate, W as DocsAgentEvaluationsConfig, Xt as DocsMcpAllowedOrigins, Zt as DocsMcpAuthPrincipal, dr as DocsTelemetryFramework, ft as DocsAnalyticsConfig, hn as DocsRetrievalSourceProvenance, kr as OrderingItem, or as DocsTelemetryConfig, tn as DocsMcpConfig, tr as DocsSearchSourcePage, un as DocsObservabilityConfig } from "./types-DUMzbRER.mjs";
2
- import { z as DocsPublishedAgentSkill } from "./standards-discovery-DX9iiGar.mjs";
3
- import { An as MIN_DOCS_CONTENT_CHANGE_HYDRATION_TOKEN_BUDGET, Cn as DocsContentChangeHydrationBudget, Dn as DocsContentChangeHydrationTombstone, En as DocsContentChangeHydrationSection, Fn as DocsContentChangeFeed, On as HydrateDocsContentChangesOptions, Sn as DOCS_CONTENT_CHANGE_HYDRATION_FORMAT, Tn as DocsContentChangeHydrationResponse, it as DocsMarkdownSectionIndex, jn as hydrateDocsContentChanges, kn as MAX_DOCS_CONTENT_CHANGE_HYDRATION_TOKEN_BUDGET, wn as DocsContentChangeHydrationContent, xn as DEFAULT_DOCS_CONTENT_CHANGE_HYDRATION_TOKEN_BUDGET } from "./agent-Vk9oUKpQ.mjs";
1
+ import { F as DocsAgentContentChangesConfig, Nn as DocsSearchConfig, Pr as PageAgentFrontmatter, Qt as DocsMcpAuthenticate, W as DocsAgentEvaluationsConfig, Xt as DocsMcpAllowedOrigins, Zt as DocsMcpAuthPrincipal, dr as DocsTelemetryFramework, ft as DocsAnalyticsConfig, hn as DocsRetrievalSourceProvenance, kr as OrderingItem, or as DocsTelemetryConfig, tn as DocsMcpConfig, tr as DocsSearchSourcePage, un as DocsObservabilityConfig } from "./types-CMNYudRn.mjs";
2
+ import { z as DocsPublishedAgentSkill } from "./standards-discovery-B7L9pSnQ.mjs";
3
+ import { An as MIN_DOCS_CONTENT_CHANGE_HYDRATION_TOKEN_BUDGET, Cn as DocsContentChangeHydrationBudget, Dn as DocsContentChangeHydrationTombstone, En as DocsContentChangeHydrationSection, Fn as DocsContentChangeFeed, On as HydrateDocsContentChangesOptions, Sn as DOCS_CONTENT_CHANGE_HYDRATION_FORMAT, Tn as DocsContentChangeHydrationResponse, it as DocsMarkdownSectionIndex, jn as hydrateDocsContentChanges, kn as MAX_DOCS_CONTENT_CHANGE_HYDRATION_TOKEN_BUDGET, wn as DocsContentChangeHydrationContent, xn as DEFAULT_DOCS_CONTENT_CHANGE_HYDRATION_TOKEN_BUDGET } from "./agent-DGEdQ0Nh.mjs";
4
4
  import { McpServer } from "@modelcontextprotocol/server";
5
5
 
6
6
  //#region src/mcp.d.ts
@@ -1,4 +1,4 @@
1
- import { i as detectPackageManagerFromProject, l as formatPackageManagerDetection, t as detectFramework, u as installCommand } from "./utils-DpiIioYb.mjs";
1
+ import { i as detectPackageManagerFromProject, l as formatPackageManagerDetection, t as detectFramework, u as installCommand } from "./utils-C4U_e1aw.mjs";
2
2
  import pc from "picocolors";
3
3
  import * as p from "@clack/prompts";
4
4
 
@@ -6,6 +6,7 @@ import * as p from "@clack/prompts";
6
6
  const PRESETS = [
7
7
  "next",
8
8
  "tanstack-start",
9
+ "farmjs",
9
10
  "nuxt",
10
11
  "sveltekit",
11
12
  "astro"
@@ -21,6 +22,11 @@ const PACKAGES_BY_FRAMEWORK = {
21
22
  "@farming-labs/theme",
22
23
  "@farming-labs/tanstack-start"
23
24
  ],
25
+ farmjs: [
26
+ "@farming-labs/docs",
27
+ "@farming-labs/theme",
28
+ "@farming-labs/farmjs"
29
+ ],
24
30
  nuxt: [
25
31
  "@farming-labs/docs",
26
32
  "@farming-labs/nuxt",
@@ -75,7 +81,7 @@ function resolveDocsPackageFramework(cwd, rawFramework) {
75
81
  }
76
82
  const detected = detectFramework(cwd);
77
83
  if (!detected) {
78
- p.log.error("Could not detect a supported framework (Next.js, TanStack Start, Nuxt, SvelteKit, Astro). Use " + pc.cyan("--framework <next|tanstack-start|nuxt|sveltekit|astro>") + " to specify.");
84
+ p.log.error("Could not detect a supported framework (Next.js, TanStack Start, Farm.js, Nuxt, SvelteKit, Astro). Use " + pc.cyan("--framework <next|tanstack-start|farmjs|nuxt|sveltekit|astro>") + " to specify.");
79
85
  process.exit(1);
80
86
  }
81
87
  return {
@@ -1,5 +1,5 @@
1
- import { Dr as OpenDocsTarget, Hr as ResolvedDocsRelatedLink, dn as DocsObservabilityEvent, fn as DocsObservabilityEventInput, ft as DocsAnalyticsConfig, ir as DocsSitemapConfig, lt as DocsAgentTraceEventInput, mt as DocsAnalyticsEventInput, pt as DocsAnalyticsEvent, un as DocsObservabilityConfig, wr as OpenDocsProvider } from "./types-DUMzbRER.mjs";
2
- import { R as DocsDiscoveryApiRouteOptions } from "./standards-discovery-DX9iiGar.mjs";
1
+ import { Dr as OpenDocsTarget, Hr as ResolvedDocsRelatedLink, dn as DocsObservabilityEvent, fn as DocsObservabilityEventInput, ft as DocsAnalyticsConfig, ir as DocsSitemapConfig, lt as DocsAgentTraceEventInput, mt as DocsAnalyticsEventInput, pt as DocsAnalyticsEvent, un as DocsObservabilityConfig, wr as OpenDocsProvider } from "./types-CMNYudRn.mjs";
2
+ import { R as DocsDiscoveryApiRouteOptions } from "./standards-discovery-B7L9pSnQ.mjs";
3
3
 
4
4
  //#region src/analytics.d.ts
5
5
  declare const DOCS_AGENT_TRACE_EVENT_TYPES: readonly ["run.start", "run.end", "run.error", "user.input", "prompt.build", "retrieval.query", "retrieval.result", "retrieval.error", "model.call", "model.response", "model.stream", "model.error", "tool.call", "tool.result", "tool.error", "retry", "timeout", "error", "agent.final"];
@@ -8,8 +8,8 @@ import { c as resolveDocsReviewConfig, o as ensureDocsReviewWorkflow, s as readD
8
8
  import { createFilesystemDocsMcpSource, getDocsConfigSchema, resolveDocsMcpConfig } from "./mcp.mjs";
9
9
  import "./code-blocks-0wjOsqdJ.mjs";
10
10
  import { _ as resolveDocsContentDir, g as resolveDocsConfigPath, h as readTopLevelStringProperty, s as loadDocsConfigModuleResultWithProjectEnv } from "./config-BtxaQTPP.mjs";
11
- import { t as detectFramework } from "./utils-DpiIioYb.mjs";
12
- import { a as extractAgentBlocks, i as createAgentUsefulnessPagesFromMcp, n as analyzeAgentSurfaceDrift, r as analyzeAgentUsefulness, t as resolveGoldenEvaluationInput } from "./golden-evaluations-CjpJSUEg.mjs";
11
+ import { t as detectFramework } from "./utils-C4U_e1aw.mjs";
12
+ import { a as extractAgentBlocks, i as createAgentUsefulnessPagesFromMcp, n as analyzeAgentSurfaceDrift, r as analyzeAgentUsefulness, t as resolveGoldenEvaluationInput } from "./golden-evaluations-AH4y5QDu.mjs";
13
13
  import { t as analyzeConfiguredAgentSkillsProgressiveDisclosure } from "./agent-skills-progressive-disclosure-BVvj7nM8.mjs";
14
14
  import matter from "gray-matter";
15
15
  import { existsSync, lstatSync, readFileSync, readdirSync } from "node:fs";
@@ -3,7 +3,7 @@ import "./markdown-sections-7OoA7ylx.mjs";
3
3
  import "./standards-discovery-Ckx0tN7B.mjs";
4
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-CQVNLcVS.mjs";
5
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-BtxaQTPP.mjs";
6
- import { t as detectFramework } from "./utils-DpiIioYb.mjs";
6
+ import { t as detectFramework } from "./utils-C4U_e1aw.mjs";
7
7
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
8
8
  import path from "node:path";
9
9
  import pc from "picocolors";
@@ -4,7 +4,7 @@ import "./standards-discovery-Ckx0tN7B.mjs";
4
4
  import "./content-change-hydration-Cy2a7rb1.mjs";
5
5
  import { t as resolveDocsI18n } from "./i18n-hHVWcflJ.mjs";
6
6
  import { a as resolveDocsMetadataBaseUrl } from "./metadata-N252j5_a.mjs";
7
- import "./sitemap-server-rv00bP21.mjs";
7
+ import "./sitemap-server-JffNpEef.mjs";
8
8
  import "./agent-skills-server-CwmzAzf_.mjs";
9
9
  import "./agent-evals-CKZ7bPSp.mjs";
10
10
  import { createFilesystemDocsMcpSource } from "./mcp.mjs";
package/dist/server.d.mts CHANGED
@@ -1,10 +1,10 @@
1
- import { $ as DocsAgentGoldenQueryVariant, $n as DocsSearchResult, An as DocsSearchAmbiguityDecisionStatus, B as DocsAgentEvaluationAnswerRunner, Bn as DocsSearchFilterDecision, Bt as DocsContentChangeSnapshotContext, Ct as DocsAskAIFeedbackValue, Dn as DocsSearchAdapterFactory, En as DocsSearchAdapterContext, F as DocsAgentContentChangesConfig, Ft as DocsCodeBlocksValidateConfig, Gn as DocsSearchMatchField, Gt as DocsContentSnapshot, H as DocsAgentEvaluationSurface, Hn as DocsSearchFilterField, Ht as DocsContentChangeSnapshotSaver, I as DocsAgentEvaluationAnswerInput, In as DocsSearchExplanation, J as DocsAgentGoldenAuthenticatedContentExpectation, Jn as DocsSearchRankingReason, Kn as DocsSearchMatchedTerm, Kt as DocsContentSnapshotDocument, L as DocsAgentEvaluationAnswerProvider, Mt as DocsCodeBlocksPlannerProvider, Nn as DocsSearchConfig, On as DocsSearchAdapterPage, Pn as DocsSearchDocument, Q as DocsAgentGoldenPromptInjectionExpectation, Qn as DocsSearchResponse, R as DocsAgentEvaluationAnswerRequest, Rt as DocsConfig, St as DocsAskAIFeedbackMessage, Tn as DocsSearchAdapter, U as DocsAgentEvaluationTaskInput, Un as DocsSearchFilterInput, Ut as DocsContentChangedDocument, V as DocsAgentEvaluationSourceReference, Vn as DocsSearchFilterDecisionOutcome, Vt as DocsContentChangeSnapshotLoader, Wn as DocsSearchFilters, Wt as DocsContentChangesResponse, X as DocsAgentGoldenExpectedExample, Xn as DocsSearchRankingStrategy, Y as DocsAgentGoldenExampleVerification, Yn as DocsSearchRankingReasonCode, Z as DocsAgentGoldenFreshnessExpectation, Zn as DocsSearchRequest, a as ApiReferenceRenderer, bn as DocsReviewRulesConfig, bt as DocsAskAIFeedbackConfig, dn as DocsObservabilityEvent, dt as DocsAgentTraceStatus, et as DocsAgentGoldenQueryVariantKind, fn as DocsObservabilityEventInput, ft as DocsAnalyticsConfig, gn as DocsRetrievalSourceScope, hn as DocsRetrievalSourceProvenance, ir as DocsSitemapConfig, it as DocsAgentGoldenTaskFilters, jn as DocsSearchAmbiguityResolution, kn as DocsSearchAmbiguityDecision, lt as DocsAgentTraceEventInput, mt as DocsAnalyticsEventInput, nr as DocsSearchWarning, nt as DocsAgentGoldenTask, pn as DocsPaginatedSearchResponse, pt as DocsAnalyticsEvent, q as DocsAgentGoldenAnswerExpectation, qn as DocsSearchQuery, rr as DocsSearchWarningCode, rt as DocsAgentGoldenTaskExpectation, tr as DocsSearchSourcePage, tt as DocsAgentGoldenSafetyExpectation, un as DocsObservabilityConfig, ut as DocsAgentTraceEventType, vn as DocsReviewCiMode, wt as DocsAskAIMcpConfig, xr as McpDocsSearchConfig, xt as DocsAskAIFeedbackData, yn as DocsReviewConfig, z as DocsAgentEvaluationAnswerResult, zt as DocsContentChangeDocument } from "./types-DUMzbRER.mjs";
2
- import { n as resolveConfiguredAgentSkills, r as resolveConfiguredAgentSkillsSync, t as ResolveConfiguredAgentSkillsOptions } from "./agent-skills-server-Cltp5qai.mjs";
1
+ import { $ as DocsAgentGoldenQueryVariant, $n as DocsSearchResult, An as DocsSearchAmbiguityDecisionStatus, B as DocsAgentEvaluationAnswerRunner, Bn as DocsSearchFilterDecision, Bt as DocsContentChangeSnapshotContext, Ct as DocsAskAIFeedbackValue, Dn as DocsSearchAdapterFactory, En as DocsSearchAdapterContext, F as DocsAgentContentChangesConfig, Ft as DocsCodeBlocksValidateConfig, Gn as DocsSearchMatchField, Gt as DocsContentSnapshot, H as DocsAgentEvaluationSurface, Hn as DocsSearchFilterField, Ht as DocsContentChangeSnapshotSaver, I as DocsAgentEvaluationAnswerInput, In as DocsSearchExplanation, J as DocsAgentGoldenAuthenticatedContentExpectation, Jn as DocsSearchRankingReason, Kn as DocsSearchMatchedTerm, Kt as DocsContentSnapshotDocument, L as DocsAgentEvaluationAnswerProvider, Mt as DocsCodeBlocksPlannerProvider, Nn as DocsSearchConfig, On as DocsSearchAdapterPage, Pn as DocsSearchDocument, Q as DocsAgentGoldenPromptInjectionExpectation, Qn as DocsSearchResponse, R as DocsAgentEvaluationAnswerRequest, Rt as DocsConfig, St as DocsAskAIFeedbackMessage, Tn as DocsSearchAdapter, U as DocsAgentEvaluationTaskInput, Un as DocsSearchFilterInput, Ut as DocsContentChangedDocument, V as DocsAgentEvaluationSourceReference, Vn as DocsSearchFilterDecisionOutcome, Vt as DocsContentChangeSnapshotLoader, Wn as DocsSearchFilters, Wt as DocsContentChangesResponse, X as DocsAgentGoldenExpectedExample, Xn as DocsSearchRankingStrategy, Y as DocsAgentGoldenExampleVerification, Yn as DocsSearchRankingReasonCode, Z as DocsAgentGoldenFreshnessExpectation, Zn as DocsSearchRequest, a as ApiReferenceRenderer, bn as DocsReviewRulesConfig, bt as DocsAskAIFeedbackConfig, dn as DocsObservabilityEvent, dt as DocsAgentTraceStatus, et as DocsAgentGoldenQueryVariantKind, fn as DocsObservabilityEventInput, ft as DocsAnalyticsConfig, gn as DocsRetrievalSourceScope, hn as DocsRetrievalSourceProvenance, ir as DocsSitemapConfig, it as DocsAgentGoldenTaskFilters, jn as DocsSearchAmbiguityResolution, kn as DocsSearchAmbiguityDecision, lt as DocsAgentTraceEventInput, mt as DocsAnalyticsEventInput, nr as DocsSearchWarning, nt as DocsAgentGoldenTask, pn as DocsPaginatedSearchResponse, pt as DocsAnalyticsEvent, q as DocsAgentGoldenAnswerExpectation, qn as DocsSearchQuery, rr as DocsSearchWarningCode, rt as DocsAgentGoldenTaskExpectation, tr as DocsSearchSourcePage, tt as DocsAgentGoldenSafetyExpectation, un as DocsObservabilityConfig, ut as DocsAgentTraceEventType, vn as DocsReviewCiMode, wt as DocsAskAIMcpConfig, xr as McpDocsSearchConfig, xt as DocsAskAIFeedbackData, yn as DocsReviewConfig, z as DocsAgentEvaluationAnswerResult, zt as DocsContentChangeDocument } from "./types-CMNYudRn.mjs";
2
+ import { n as resolveConfiguredAgentSkills, r as resolveConfiguredAgentSkillsSync, t as ResolveConfiguredAgentSkillsOptions } from "./agent-skills-server-14HFIrBY.mjs";
3
3
  import { renderDocsAgentSkillsBundle } from "./agent-skills-vite.mjs";
4
- import { i as isDocsCloudAskAIProvider, n as DocsCloudAskAIResponseOptions, r as createDocsCloudAskAIResponse, t as DocsCloudAskAIConfig } from "./cloud-ask-ai-Da6md6U7.mjs";
4
+ import { i as isDocsCloudAskAIProvider, n as DocsCloudAskAIResponseOptions, r as createDocsCloudAskAIResponse, t as DocsCloudAskAIConfig } from "./cloud-ask-ai-B2v4Nry-.mjs";
5
5
  import { DocsCloudAskAIOptions, DocsCloudPublicConfig, DocsCloudRouteHandlerOptions, DocsCloudRouteHandlers, DocsCloudRuntimeEnv, DocsCloudRuntimeValue, DocsCloudServer, DocsCloudServerOptions, DocsCloudTrackEventOptions, createDocsCloudRouteHandler, createDocsCloudServer } from "./docs-cloud-server.mjs";
6
- import { A as PromptProviderChoice, B as serializeOpenDocsProviders, C as resolveDocsSitemapRequest, D as DEFAULT_OPEN_DOCS_TARGET, E as DEFAULT_OPEN_DOCS_PROVIDER_IDS, F as resolvePromptProviderChoices, G as createDocsAgentTraceContext, H as DocsAgentTraceContext, I as sanitizePromptText, J as emitDocsAnalyticsEvent, K as createDocsAgentTraceId, L as serializeDocsIcon, M as SerializedOpenDocsProvider, N as normalizePromptProviderName, O as DEFAULT_PROMPT_PROVIDER_TEMPLATES, P as parsePromptStringArray, Q as resolveDocsObservabilityConfig, R as serializeDocsIconRegistry, S as resolveDocsSitemapPageLastmod, T as DEFAULT_OPEN_DOCS_PROMPT, U as ResolvedDocsAnalyticsConfig, V as DOCS_AGENT_TRACE_EVENT_TYPES, W as ResolvedDocsObservabilityConfig, X as getDocsRequestAnalyticsProperties, Y as emitDocsObservabilityEvent, Z as resolveDocsAnalyticsConfig, _ as createDocsSitemapResponse, a as DocsPaginationCursorError, b as renderDocsSitemapXml, c as DEFAULT_SITEMAP_MD_ROUTE, d as DocsSitemapFormat, f as DocsSitemapManifest, g as buildDocsSitemapManifest, h as DocsSitemapResolvedConfig, j as SerializeOpenDocsProviderOptions, k as PromptAction, l as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, m as DocsSitemapPageInput, n as digestDocsRetrievalContent, o as DEFAULT_SITEMAP_MANIFEST_PATH, p as DocsSitemapManifestPage, q as emitDocsAgentTraceEvent, r as isDocsRetrievalCanonicalUrl, s as DEFAULT_SITEMAP_MD_DOCS_ROUTE, u as DEFAULT_SITEMAP_XML_ROUTE, v as readDocsSitemapManifestFromContentMap, w as toDocsSitemapMarkdownUrl, x as resolveDocsSitemapConfig, y as renderDocsSitemapMarkdown, z as serializeOpenDocsProvider } from "./retrieval-digest-Dl7Bx121.mjs";
7
- import { $n as PerformDocsSearchOptions, An as MIN_DOCS_CONTENT_CHANGE_HYDRATION_TOKEN_BUDGET, Bn as createDocsContentChangeFeed, Cn as DocsContentChangeHydrationBudget, Cr as resolveSearchRequestConfig, Dn as DocsContentChangeHydrationTombstone, Dr as ExtractedDocsMarkdownPromptBlocks, En as DocsContentChangeHydrationSection, Er as DocsMarkdownPromptBlock, Fn as DocsContentChangeFeed, Gn as resolveDocsContentChangesRequest, Hn as isDocsContentChangeGeneration, In as DocsContentChangesRequest, Jn as DocsLocalMcpSearchRuntimeConfig, Kn as BuildDocsContentSnapshotOptions, Ln as DocsContentChangesRequestError, Mn as DOCS_CONTENT_CHANGES_FORMAT, Nn as DOCS_CONTENT_CHANGES_RESPONSE_VALUE, On as HydrateDocsContentChangesOptions, Or as extractDocsMarkdownPromptBlocks, Pn as DOCS_CONTENT_SNAPSHOT_FORMAT, Qn as EnrichDocsSearchDocumentsWithProvenanceOptions, Rn as DocsResolvedContentChangesConfig, Sn as DOCS_CONTENT_CHANGE_HYDRATION_FORMAT, Sr as resolveLocalDocsMcpSearchConfig, Tn as DocsContentChangeHydrationResponse, Un as isDocsContentChangesRequest, Vn as createDocsContentChangesHttpResponse, Wn as resolveDocsContentChangesConfig, Xn as DocsSearchRequestError, Yn as DocsLocalMcpSearchRuntimeInput, Zn as DocsSearchRequestResolutionOptions, _r as resolveDocsRetrievalLastModified, ar as createAlgoliaSearchAdapter, br as resolveDocsSearchFilters, cr as createSimpleSearchAdapter, dr as formatDocsAskAIPackageHints, er as buildDocsAskAIContext, fr as inferDocsAskAIPackageHints, gr as resolveAskAISearchRequestConfig, hr as performDocsSearchWithMetadata, jn as hydrateDocsContentChanges, kn as MAX_DOCS_CONTENT_CHANGE_HYDRATION_TOKEN_BUDGET, lr as createTypesenseSearchAdapter, mr as performDocsSearch, nr as buildDocsRetrievalDigestProjection, or as createCustomSearchAdapter, pr as normalizeDocsSearchFilters, rr as buildDocsSearchDocuments, sr as createMcpSearchAdapter, tr as buildDocsContentSnapshot, ur as enrichDocsSearchDocumentsWithProvenance, vr as resolveDocsSearchAudience, wn as DocsContentChangeHydrationContent, xn as DEFAULT_DOCS_CONTENT_CHANGE_HYDRATION_TOKEN_BUDGET, xr as resolveDocsSearchRequest, yr as resolveDocsSearchError, zn as ResolveDocsContentChangesOptions } from "./agent-Vk9oUKpQ.mjs";
6
+ import { A as PromptProviderChoice, B as serializeOpenDocsProviders, C as resolveDocsSitemapRequest, D as DEFAULT_OPEN_DOCS_TARGET, E as DEFAULT_OPEN_DOCS_PROVIDER_IDS, F as resolvePromptProviderChoices, G as createDocsAgentTraceContext, H as DocsAgentTraceContext, I as sanitizePromptText, J as emitDocsAnalyticsEvent, K as createDocsAgentTraceId, L as serializeDocsIcon, M as SerializedOpenDocsProvider, N as normalizePromptProviderName, O as DEFAULT_PROMPT_PROVIDER_TEMPLATES, P as parsePromptStringArray, Q as resolveDocsObservabilityConfig, R as serializeDocsIconRegistry, S as resolveDocsSitemapPageLastmod, T as DEFAULT_OPEN_DOCS_PROMPT, U as ResolvedDocsAnalyticsConfig, V as DOCS_AGENT_TRACE_EVENT_TYPES, W as ResolvedDocsObservabilityConfig, X as getDocsRequestAnalyticsProperties, Y as emitDocsObservabilityEvent, Z as resolveDocsAnalyticsConfig, _ as createDocsSitemapResponse, a as DocsPaginationCursorError, b as renderDocsSitemapXml, c as DEFAULT_SITEMAP_MD_ROUTE, d as DocsSitemapFormat, f as DocsSitemapManifest, g as buildDocsSitemapManifest, h as DocsSitemapResolvedConfig, j as SerializeOpenDocsProviderOptions, k as PromptAction, l as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, m as DocsSitemapPageInput, n as digestDocsRetrievalContent, o as DEFAULT_SITEMAP_MANIFEST_PATH, p as DocsSitemapManifestPage, q as emitDocsAgentTraceEvent, r as isDocsRetrievalCanonicalUrl, s as DEFAULT_SITEMAP_MD_DOCS_ROUTE, u as DEFAULT_SITEMAP_XML_ROUTE, v as readDocsSitemapManifestFromContentMap, w as toDocsSitemapMarkdownUrl, x as resolveDocsSitemapConfig, y as renderDocsSitemapMarkdown, z as serializeOpenDocsProvider } from "./retrieval-digest-DMqcN_MK.mjs";
7
+ import { $n as PerformDocsSearchOptions, An as MIN_DOCS_CONTENT_CHANGE_HYDRATION_TOKEN_BUDGET, Bn as createDocsContentChangeFeed, Cn as DocsContentChangeHydrationBudget, Cr as resolveSearchRequestConfig, Dn as DocsContentChangeHydrationTombstone, Dr as ExtractedDocsMarkdownPromptBlocks, En as DocsContentChangeHydrationSection, Er as DocsMarkdownPromptBlock, Fn as DocsContentChangeFeed, Gn as resolveDocsContentChangesRequest, Hn as isDocsContentChangeGeneration, In as DocsContentChangesRequest, Jn as DocsLocalMcpSearchRuntimeConfig, Kn as BuildDocsContentSnapshotOptions, Ln as DocsContentChangesRequestError, Mn as DOCS_CONTENT_CHANGES_FORMAT, Nn as DOCS_CONTENT_CHANGES_RESPONSE_VALUE, On as HydrateDocsContentChangesOptions, Or as extractDocsMarkdownPromptBlocks, Pn as DOCS_CONTENT_SNAPSHOT_FORMAT, Qn as EnrichDocsSearchDocumentsWithProvenanceOptions, Rn as DocsResolvedContentChangesConfig, Sn as DOCS_CONTENT_CHANGE_HYDRATION_FORMAT, Sr as resolveLocalDocsMcpSearchConfig, Tn as DocsContentChangeHydrationResponse, Un as isDocsContentChangesRequest, Vn as createDocsContentChangesHttpResponse, Wn as resolveDocsContentChangesConfig, Xn as DocsSearchRequestError, Yn as DocsLocalMcpSearchRuntimeInput, Zn as DocsSearchRequestResolutionOptions, _r as resolveDocsRetrievalLastModified, ar as createAlgoliaSearchAdapter, br as resolveDocsSearchFilters, cr as createSimpleSearchAdapter, dr as formatDocsAskAIPackageHints, er as buildDocsAskAIContext, fr as inferDocsAskAIPackageHints, gr as resolveAskAISearchRequestConfig, hr as performDocsSearchWithMetadata, jn as hydrateDocsContentChanges, kn as MAX_DOCS_CONTENT_CHANGE_HYDRATION_TOKEN_BUDGET, lr as createTypesenseSearchAdapter, mr as performDocsSearch, nr as buildDocsRetrievalDigestProjection, or as createCustomSearchAdapter, pr as normalizeDocsSearchFilters, rr as buildDocsSearchDocuments, sr as createMcpSearchAdapter, tr as buildDocsContentSnapshot, ur as enrichDocsSearchDocumentsWithProvenance, vr as resolveDocsSearchAudience, wn as DocsContentChangeHydrationContent, xn as DEFAULT_DOCS_CONTENT_CHANGE_HYDRATION_TOKEN_BUDGET, xr as resolveDocsSearchRequest, yr as resolveDocsSearchError, zn as ResolveDocsContentChangesOptions } from "./agent-DGEdQ0Nh.mjs";
8
8
  import { CreateDocsMcpServerOptions, DEFAULT_DOCS_MCP_CONTENT_CHANGE_POLL_INTERVAL_MS, DEFAULT_DOCS_MCP_CORS_ALLOWED_HEADERS, DEFAULT_DOCS_MCP_CORS_EXPOSED_HEADERS, DEFAULT_DOCS_MCP_CORS_MAX_AGE_SECONDS, DEFAULT_DOCS_MCP_MAX_BODY_BYTES, DOCS_CONFIG_SCHEMA_OPTIONS, DOCS_MCP_CONTENT_CHANGES_CURRENT_URI, DOCS_MCP_CONTENT_CHANGES_URI_TEMPLATE, DocsMcpAgentContractSummary, DocsMcpCodeExample, DocsMcpConfigSchema, DocsMcpConfigSchemaOption, DocsMcpContextResult, DocsMcpContextSource, DocsMcpDocsList, DocsMcpDocsPageSummary, DocsMcpDocsSection, DocsMcpHttpHandlers, DocsMcpNavigationNode, DocsMcpNavigationTree, DocsMcpPage, DocsMcpPageSectionIndex, DocsMcpPageSectionList, DocsMcpPaginatedDocsList, DocsMcpPagination, DocsMcpRequestContext, DocsMcpResolvedConfig, DocsMcpResolvedCorsConfig, DocsMcpResolvedPromptsConfig, DocsMcpResolvedProtectedResourceConfig, DocsMcpResolvedSecurityConfig, DocsMcpSource, DocsMcpTaskSummary, createDocsMcpHttpHandler, createDocsMcpServer, createFilesystemDocsMcpSource, getDocsConfigSchema, normalizeDocsMcpRoute, resolveDocsMcpConfig, resolveDocsMcpPromptsConfig, runDocsMcpStdio } from "./mcp.mjs";
9
9
 
10
10
  //#region src/code-group-mdx.d.ts
@@ -19,7 +19,7 @@ declare function remarkCodeGroup(): (tree: MarkdownNode) => void;
19
19
  //#endregion
20
20
  //#region src/api-reference.d.ts
21
21
  type HttpMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD";
22
- type ApiReferenceFramework = "next" | "tanstack-start" | "sveltekit" | "astro" | "nuxt";
22
+ type ApiReferenceFramework = "next" | "tanstack-start" | "farmjs" | "sveltekit" | "astro" | "nuxt";
23
23
  interface ApiReferenceRoute {
24
24
  title: string;
25
25
  summary: string;
package/dist/server.mjs CHANGED
@@ -3,7 +3,7 @@ import { $t as buildDocsRetrievalDigestProjection, At as DEFAULT_SITEMAP_XML_ROU
3
3
  import "./markdown-sections-7OoA7ylx.mjs";
4
4
  import { K as digestDocsRetrievalContent, q as isDocsRetrievalCanonicalUrl } from "./standards-discovery-Ckx0tN7B.mjs";
5
5
  import { a as hydrateDocsContentChanges, i as MIN_DOCS_CONTENT_CHANGE_HYDRATION_TOKEN_BUDGET, n as DOCS_CONTENT_CHANGE_HYDRATION_FORMAT, r as MAX_DOCS_CONTENT_CHANGE_HYDRATION_TOKEN_BUDGET, t as DEFAULT_DOCS_CONTENT_CHANGE_HYDRATION_TOKEN_BUDGET } from "./content-change-hydration-Cy2a7rb1.mjs";
6
- import { C as resolveApiReferenceOpenApiDiscovery, S as resolveApiReferenceConfig, T as remarkCodeGroup, _ as buildApiReferenceOpenApiDocument, a as DEFAULT_PROMPT_PROVIDER_TEMPLATES, b as buildApiReferenceScalarCss, c as resolvePromptProviderChoices, d as serializeDocsIconRegistry, f as serializeOpenDocsProvider, g as buildApiReferenceHtmlDocumentAsync, h as buildApiReferenceHtmlDocument, i as DEFAULT_OPEN_DOCS_TARGET, l as sanitizePromptText, m as DEFAULT_API_REFERENCE_OPENAPI_ROUTE, n as DEFAULT_OPEN_DOCS_PROMPT, o as normalizePromptProviderName, p as serializeOpenDocsProviders, r as DEFAULT_OPEN_DOCS_PROVIDER_IDS, s as parsePromptStringArray, t as readDocsSitemapManifest, u as serializeDocsIcon, v as buildApiReferenceOpenApiDocumentAsync, w as resolveApiReferenceRenderer, x as isApiReferenceOpenApiRequest, y as buildApiReferencePageTitle } from "./sitemap-server-rv00bP21.mjs";
6
+ import { C as resolveApiReferenceOpenApiDiscovery, S as resolveApiReferenceConfig, T as remarkCodeGroup, _ as buildApiReferenceOpenApiDocument, a as DEFAULT_PROMPT_PROVIDER_TEMPLATES, b as buildApiReferenceScalarCss, c as resolvePromptProviderChoices, d as serializeDocsIconRegistry, f as serializeOpenDocsProvider, g as buildApiReferenceHtmlDocumentAsync, h as buildApiReferenceHtmlDocument, i as DEFAULT_OPEN_DOCS_TARGET, l as sanitizePromptText, m as DEFAULT_API_REFERENCE_OPENAPI_ROUTE, n as DEFAULT_OPEN_DOCS_PROMPT, o as normalizePromptProviderName, p as serializeOpenDocsProviders, r as DEFAULT_OPEN_DOCS_PROVIDER_IDS, s as parsePromptStringArray, t as readDocsSitemapManifest, u as serializeDocsIcon, v as buildApiReferenceOpenApiDocumentAsync, w as resolveApiReferenceRenderer, x as isApiReferenceOpenApiRequest, y as buildApiReferencePageTitle } from "./sitemap-server-JffNpEef.mjs";
7
7
  import { i as resolveConfiguredAgentSkillsSync, r as resolveConfiguredAgentSkills } from "./agent-skills-server-CwmzAzf_.mjs";
8
8
  import { a as buildDocsReviewWorkflowPathFilters, c as resolveDocsReviewConfig, i as buildDocsReviewWorkflow, n as DEFAULT_DOCS_REVIEW_SCORE_THRESHOLD, o as ensureDocsReviewWorkflow, r as DEFAULT_DOCS_REVIEW_WORKFLOW_PATH, s as readDocsReviewConfigFromSource, t as runDocsGoldenTasks } from "./agent-evals-CKZ7bPSp.mjs";
9
9
  import { DEFAULT_DOCS_MCP_CONTENT_CHANGE_POLL_INTERVAL_MS, DEFAULT_DOCS_MCP_CORS_ALLOWED_HEADERS, DEFAULT_DOCS_MCP_CORS_EXPOSED_HEADERS, DEFAULT_DOCS_MCP_CORS_MAX_AGE_SECONDS, DEFAULT_DOCS_MCP_MAX_BODY_BYTES, DOCS_CONFIG_SCHEMA_OPTIONS, DOCS_MCP_CONTENT_CHANGES_CURRENT_URI, DOCS_MCP_CONTENT_CHANGES_URI_TEMPLATE, createDocsMcpHttpHandler, createDocsMcpServer, createFilesystemDocsMcpSource, getDocsConfigSchema, normalizeDocsMcpRoute, resolveDocsMcpConfig, resolveDocsMcpPromptsConfig, runDocsMcpStdio } from "./mcp.mjs";
@@ -2,14 +2,14 @@ import { Ft as renderDocsSitemapXml, It as resolveDocsSitemapConfig, Pt as rende
2
2
  import "./markdown-sections-7OoA7ylx.mjs";
3
3
  import "./standards-discovery-Ckx0tN7B.mjs";
4
4
  import "./content-change-hydration-Cy2a7rb1.mjs";
5
- import "./sitemap-server-rv00bP21.mjs";
5
+ import "./sitemap-server-JffNpEef.mjs";
6
6
  import "./agent-skills-server-CwmzAzf_.mjs";
7
7
  import "./agent-evals-CKZ7bPSp.mjs";
8
8
  import { createFilesystemDocsMcpSource } from "./mcp.mjs";
9
9
  import "./code-blocks-0wjOsqdJ.mjs";
10
10
  import "./server.mjs";
11
11
  import { _ as resolveDocsContentDir, a as loadDocsConfigModule, d as readNavTitle, g as resolveDocsConfigPath, h as readTopLevelStringProperty, l as readBooleanProperty, p as readStringProperty, t as extractNestedObjectLiteral } from "./config-BtxaQTPP.mjs";
12
- import { t as detectFramework } from "./utils-DpiIioYb.mjs";
12
+ import { t as detectFramework } from "./utils-C4U_e1aw.mjs";
13
13
  import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from "node:fs";
14
14
  import path from "node:path";
15
15
  import { execFileSync } from "node:child_process";
@@ -703,6 +703,14 @@ function buildApiReferenceRoutes(config, options) {
703
703
  toRouteSegments: (relativeFile) => relativeFile.split("/").slice(0, -1).filter(Boolean),
704
704
  exclude: apiReference.exclude
705
705
  });
706
+ case "farmjs": return buildFileConventionRoutes({
707
+ rootDir,
708
+ sourceDir: resolveRootedDir(rootDir, apiReference.routeRoot, getFarmAppDir(rootDir)),
709
+ routePathBase: toRouteBase(apiReference.routeRoot, getFarmAppDir(rootDir)),
710
+ isRouteFile: (name) => NEXT_ROUTE_FILE_RE.test(name),
711
+ toRouteSegments: (relativeFile) => relativeFile.split("/").slice(0, -1).filter(Boolean),
712
+ exclude: apiReference.exclude
713
+ });
706
714
  case "sveltekit": return buildFileConventionRoutes({
707
715
  rootDir,
708
716
  sourceDir: resolveRootedDir(rootDir, apiReference.routeRoot, "src/routes"),
@@ -731,6 +739,9 @@ function buildApiReferenceRoutes(config, options) {
731
739
  case "tanstack-start": return buildTanstackRoutes(rootDir, apiReference);
732
740
  }
733
741
  }
742
+ function getFarmAppDir(rootDir) {
743
+ return existsSync(join(rootDir, "src", "app")) ? "src/app" : "app";
744
+ }
734
745
  function buildFileConventionRoutes({ rootDir, sourceDir, routePathBase, isRouteFile, toRouteSegments, exclude, getMethods = extractMethods }) {
735
746
  const files = scanRouteFiles(sourceDir, isRouteFile);
736
747
  const routes = [];
@@ -3,7 +3,7 @@ import { _ as hasStructuredPageAgentContract, v as normalizePageAgentFrontmatter
3
3
  import "./standards-discovery-Ckx0tN7B.mjs";
4
4
  import { isDocsAgentSkillName, validateDocsAgentSkillFrontmatter } from "./agent-skills-spec.mjs";
5
5
  import "./content-change-hydration-Cy2a7rb1.mjs";
6
- import "./sitemap-server-rv00bP21.mjs";
6
+ import "./sitemap-server-JffNpEef.mjs";
7
7
  import "./agent-skills-server-CwmzAzf_.mjs";
8
8
  import "./agent-evals-CKZ7bPSp.mjs";
9
9
  import { createFilesystemDocsMcpSource } from "./mcp.mjs";
@@ -1,4 +1,4 @@
1
- import { A as DocsAgentA2ASecurityScheme, M as DocsAgentA2ASkill, O as DocsAgentA2AProtocolBinding, h as DocsAgentA2AConfig, k as DocsAgentA2ASecurityRequirement, m as DocsAgentA2ACapabilities } from "./types-DUMzbRER.mjs";
1
+ import { A as DocsAgentA2ASecurityScheme, M as DocsAgentA2ASkill, O as DocsAgentA2AProtocolBinding, h as DocsAgentA2AConfig, k as DocsAgentA2ASecurityRequirement, m as DocsAgentA2ACapabilities } from "./types-CMNYudRn.mjs";
2
2
 
3
3
  //#region src/standards-discovery.d.ts
4
4
  declare const DEFAULT_API_CATALOG_ROUTE = "/.well-known/api-catalog";
@@ -699,6 +699,107 @@ pnpm build
699
699
  Deploy to Vercel, Netlify, or any Node.js hosting platform.
700
700
  `;
701
701
  }
702
+ function farmjsDocsConfigTemplate(cfg) {
703
+ return tanstackDocsConfigTemplate(cfg);
704
+ }
705
+ function farmjsConfigTemplate() {
706
+ return `\
707
+ import { defineConfig } from "@farm.js/core";
708
+ import { withDocs } from "@farming-labs/farmjs/config";
709
+
710
+ export default withDocs(defineConfig({}));
711
+ `;
712
+ }
713
+ function injectFarmjsConfig(content) {
714
+ if (!content || content.includes("@farming-labs/farmjs/config")) return null;
715
+ if (/export\s+default\s+(?:async\s+)?(?:function|class)\b/.test(content)) return null;
716
+ const exportMatch = content.match(/export\s+default\s+/);
717
+ if (!exportMatch || exportMatch.index === void 0) return null;
718
+ const withImport = addImportLine(content, "import { withDocs } from \"@farming-labs/farmjs/config\";");
719
+ const defaultExport = withImport.match(/export\s+default\s+/);
720
+ if (!defaultExport || defaultExport.index === void 0) return null;
721
+ const start = defaultExport.index;
722
+ const end = start + defaultExport[0].length;
723
+ return `${`${withImport.slice(0, start)}const farmConfig = ${withImport.slice(end)}`.trimEnd()}\n\nexport default withDocs(farmConfig);\n`;
724
+ }
725
+ function farmjsWelcomePageTemplate(cfg) {
726
+ return `\
727
+ ---
728
+ title: "Documentation"
729
+ description: "Welcome to ${cfg.projectName} documentation"
730
+ ---
731
+
732
+ # Welcome to ${cfg.projectName}
733
+
734
+ This documentation is powered by \`@farming-labs/docs\` and Farm.js.
735
+
736
+ ## Overview
737
+
738
+ - Content lives in \`${cfg.entry}/\`
739
+ - Farm serves it at \`/${cfg.entry}\`
740
+ - Search and agent endpoints are wired automatically
741
+
742
+ ## Next Steps
743
+
744
+ Read the [Installation](/${cfg.entry}/installation) guide, then continue to [Quickstart](/${cfg.entry}/quickstart).
745
+ `;
746
+ }
747
+ function farmjsInstallationPageTemplate(cfg) {
748
+ return `\
749
+ ---
750
+ title: "Installation"
751
+ description: "Add Farming Labs docs to ${cfg.projectName}"
752
+ ---
753
+
754
+ # Installation
755
+
756
+ Install the docs runtime and Farm adapter:
757
+
758
+ \`\`\`bash
759
+ pnpm add @farming-labs/docs @farming-labs/farmjs @farming-labs/theme
760
+ \`\`\`
761
+
762
+ Wrap the existing Farm config:
763
+
764
+ \`\`\`ts title="farm.config.ts"
765
+ import { defineConfig } from "@farm.js/core";
766
+ import { withDocs } from "@farming-labs/farmjs/config";
767
+
768
+ export default withDocs(
769
+ defineConfig({
770
+ preset: "vercel",
771
+ }),
772
+ );
773
+ \`\`\`
774
+
775
+ Documentation settings stay in \`docs.config.ts\`, while content lives in \`${cfg.entry}/\`.
776
+ `;
777
+ }
778
+ function farmjsQuickstartPageTemplate(cfg) {
779
+ return `\
780
+ ---
781
+ title: "Quickstart"
782
+ description: "Publish your first ${cfg.projectName} documentation page"
783
+ ---
784
+
785
+ # Quickstart
786
+
787
+ Create a page under \`${cfg.entry}/guides/page.md\`:
788
+
789
+ \`\`\`md title="${cfg.entry}/guides/page.md"
790
+ ---
791
+ title: "Guides"
792
+ description: "Product guides"
793
+ ---
794
+
795
+ # Guides
796
+
797
+ Write your documentation here.
798
+ \`\`\`
799
+
800
+ Run the Farm development server and open [/${cfg.entry}](/${cfg.entry}). New pages are discovered from the content tree.
801
+ `;
802
+ }
702
803
  function tanstackDocsConfigTemplate(cfg) {
703
804
  if (cfg.theme === "custom" && cfg.customThemeName) {
704
805
  const exportName = getThemeExportName(cfg.customThemeName);
@@ -709,7 +810,7 @@ import { ${exportName} } from "./themes/${cfg.customThemeName.replace(/\.ts$/i,
709
810
  export default defineDocs({
710
811
  entry: "${cfg.entry}",
711
812
  contentDir: "${cfg.entry}",
712
- ${renderApiReferenceConfig(cfg)} theme: ${exportName}({
813
+ ${renderI18nConfig(cfg)}${renderApiReferenceConfig(cfg)} theme: ${exportName}({
713
814
  ui: {
714
815
  colors: { primary: "#6366f1" },
715
816
  },
@@ -737,7 +838,7 @@ import { ${t.factory} } from "${t.nextImport}";
737
838
  export default defineDocs({
738
839
  entry: "${cfg.entry}",
739
840
  contentDir: "${cfg.entry}",
740
- ${renderApiReferenceConfig(cfg)} theme: ${t.factory}({
841
+ ${renderI18nConfig(cfg)}${renderApiReferenceConfig(cfg)} theme: ${t.factory}({
741
842
  ui: {
742
843
  colors: { primary: "#6366f1" },
743
844
  },
@@ -2536,4 +2637,4 @@ function injectNuxtCssImport(existingContent, theme, customThemeName, globalCssR
2536
2637
  }
2537
2638
 
2538
2639
  //#endregion
2539
- export { svelteDocsLayoutServerTemplate as $, injectTanstackVitePlugins as A, nuxtGlobalCssTemplate as B, injectDocsAgentSkillsVitePlugin as C, tsconfigTemplate as Ct, injectSvelteCssImport as D, injectRootProviderIntoLayout as E, nextLocaleDocPageTemplate as F, nuxtServerDocsPublicMiddlewareTemplate as G, nuxtQuickstartPageTemplate as H, nextLocalizedPageTemplate as I, quickstartPageTemplate as J, nuxtWelcomePageTemplate as K, nuxtConfigTemplate as L, nextApiReferencePageTemplate as M, nextConfigMergedTemplate as N, injectSvelteDocsPublicHook as O, nextConfigTemplate as P, svelteDocsConfigTemplate as Q, nuxtDocsConfigTemplate as R, injectCssImport as S, tanstackWelcomePageTemplate as St, injectNuxtCssImport as T, nuxtServerApiDocsRouteTemplate as U, nuxtInstallationPageTemplate as V, nuxtServerApiReferenceRouteTemplate as W, svelteApiReferenceRouteTemplate as X, rootLayoutTemplate as Y, svelteDocsApiRouteTemplate as Z, getAstroAdapterPkg as _, tanstackDocsServerTemplate as _t, astroDocsIndexTemplate as a, svelteInstallationPageTemplate as at, injectAstroCssImport as b, tanstackRootRouteTemplate as bt, astroDocsServerTemplate as c, svelteViteConfigTemplate as ct, astroQuickstartPageTemplate as d, tanstackApiReferenceRouteTemplate as dt, svelteDocsLayoutTemplate as et, astroWelcomePageTemplate as f, tanstackDocsCatchAllRouteTemplate as ft, docsLayoutTemplate as g, tanstackDocsPublicRouteTemplate as gt, docsConfigTemplate as h, tanstackDocsIndexRouteTemplate as ht, astroDocsConfigTemplate as i, svelteGlobalCssTemplate as it, installationPageTemplate as j, injectTanstackRootProviderIntoRoute as k, astroGlobalCssTemplate as l, svelteWelcomePageTemplate as lt, customThemeTsTemplate as m, tanstackDocsFunctionsTemplate as mt, astroApiRouteTemplate as n, svelteDocsPublicHookTemplate as nt, astroDocsMiddlewareTemplate as o, svelteQuickstartPageTemplate as ot, customThemeCssTemplate as p, tanstackDocsConfigTemplate as pt, postcssConfigTemplate as q, astroConfigTemplate as r, svelteDocsServerTemplate as rt, astroDocsPageTemplate as s, svelteRootLayoutTemplate as st, astroApiReferenceRouteTemplate as t, svelteDocsPageTemplate as tt, astroInstallationPageTemplate as u, tanstackApiDocsRouteTemplate as ut, globalCssTemplate as v, tanstackInstallationPageTemplate as vt, injectNuxtAgentSkillsPlugin as w, welcomePageTemplate as wt, injectAstroDocsMiddleware as x, tanstackViteConfigTemplate as xt, injectAstroAgentSkillsPlugin as y, tanstackQuickstartPageTemplate as yt, nuxtDocsPageTemplate as z };
2640
+ export { postcssConfigTemplate as $, injectNuxtAgentSkillsPlugin as A, welcomePageTemplate as At, nextConfigTemplate as B, globalCssTemplate as C, tanstackDocsServerTemplate as Ct, injectCssImport as D, tanstackViteConfigTemplate as Dt, injectAstroDocsMiddleware as E, tanstackRootRouteTemplate as Et, injectTanstackRootProviderIntoRoute as F, nuxtDocsPageTemplate as G, nextLocalizedPageTemplate as H, injectTanstackVitePlugins as I, nuxtQuickstartPageTemplate as J, nuxtGlobalCssTemplate as K, installationPageTemplate as L, injectRootProviderIntoLayout as M, injectSvelteCssImport as N, injectDocsAgentSkillsVitePlugin as O, tanstackWelcomePageTemplate as Ot, injectSvelteDocsPublicHook as P, nuxtWelcomePageTemplate as Q, nextApiReferencePageTemplate as R, getAstroAdapterPkg as S, tanstackDocsPublicRouteTemplate as St, injectAstroCssImport as T, tanstackQuickstartPageTemplate as Tt, nuxtConfigTemplate as U, nextLocaleDocPageTemplate as V, nuxtDocsConfigTemplate as W, nuxtServerApiReferenceRouteTemplate as X, nuxtServerApiDocsRouteTemplate as Y, nuxtServerDocsPublicMiddlewareTemplate as Z, farmjsConfigTemplate as _, tanstackApiReferenceRouteTemplate as _t, astroDocsIndexTemplate as a, svelteDocsLayoutServerTemplate as at, farmjsQuickstartPageTemplate as b, tanstackDocsFunctionsTemplate as bt, astroDocsServerTemplate as c, svelteDocsPublicHookTemplate as ct, astroQuickstartPageTemplate as d, svelteInstallationPageTemplate as dt, quickstartPageTemplate as et, astroWelcomePageTemplate as f, svelteQuickstartPageTemplate as ft, docsLayoutTemplate as g, tanstackApiDocsRouteTemplate as gt, docsConfigTemplate as h, svelteWelcomePageTemplate as ht, astroDocsConfigTemplate as i, svelteDocsConfigTemplate as it, injectNuxtCssImport as j, injectFarmjsConfig as k, tsconfigTemplate as kt, astroGlobalCssTemplate as l, svelteDocsServerTemplate as lt, customThemeTsTemplate as m, svelteViteConfigTemplate as mt, astroApiRouteTemplate as n, svelteApiReferenceRouteTemplate as nt, astroDocsMiddlewareTemplate as o, svelteDocsLayoutTemplate as ot, customThemeCssTemplate as p, svelteRootLayoutTemplate as pt, nuxtInstallationPageTemplate as q, astroConfigTemplate as r, svelteDocsApiRouteTemplate as rt, astroDocsPageTemplate as s, svelteDocsPageTemplate as st, astroApiReferenceRouteTemplate as t, rootLayoutTemplate as tt, astroInstallationPageTemplate as u, svelteGlobalCssTemplate as ut, farmjsDocsConfigTemplate as v, tanstackDocsCatchAllRouteTemplate as vt, injectAstroAgentSkillsPlugin as w, tanstackInstallationPageTemplate as wt, farmjsWelcomePageTemplate as x, tanstackDocsIndexRouteTemplate as xt, farmjsInstallationPageTemplate as y, tanstackDocsConfigTemplate as yt, nextConfigMergedTemplate as z };
@@ -823,7 +823,7 @@ interface DocsAnalyticsConfig {
823
823
  */
824
824
  cloud?: boolean;
825
825
  }
826
- type DocsTelemetryFramework = "next" | "tanstack-start" | "sveltekit" | "astro" | "nuxt" | "mcp" | (string & {});
826
+ type DocsTelemetryFramework = "next" | "tanstack-start" | "farmjs" | "sveltekit" | "astro" | "nuxt" | "mcp" | (string & {});
827
827
  type DocsTelemetryEventType = "project_detected" | "agent_surface_used" | "mcp_request" | "mcp_tool_used" | (string & {});
828
828
  type DocsTelemetryAgentSurface = "agent_spec" | "agents" | "skill" | "markdown" | "llms" | "agent_feedback_schema" | "agent_feedback_submit" | "content_changes" | "ask_ai" | "mcp";
829
829
  interface DocsTelemetryConfig {
@@ -1,5 +1,5 @@
1
- import { c as fileExists, o as exec } from "./utils-DpiIioYb.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-B3PJ6IDr.mjs";
1
+ import { c as fileExists, o as exec } from "./utils-C4U_e1aw.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-ZAEdrNDw.mjs";
3
3
  import path from "node:path";
4
4
  import pc from "picocolors";
5
5
  import * as p from "@clack/prompts";
@@ -7,7 +7,7 @@ import * as p from "@clack/prompts";
7
7
  //#region src/cli/upgrade.ts
8
8
  /**
9
9
  * Upgrade @farming-labs/* packages to a dist-tag or exact version.
10
- * Detects framework from package.json by default, or use --framework (next, tanstack-start, nuxt, sveltekit, astro).
10
+ * Detects framework from package.json by default, or use --framework (next, tanstack-start, farmjs, nuxt, sveltekit, astro).
11
11
  */
12
12
  function resolveUpgradeTarget(options) {
13
13
  if (options.version !== void 0) return validateUpgradeVersion(options.version);
@@ -13,6 +13,7 @@ function detectFramework(cwd) {
13
13
  };
14
14
  if (allDeps["next"]) return "nextjs";
15
15
  if (allDeps["@tanstack/react-start"]) return "tanstack-start";
16
+ if (allDeps["@farm.js/core"] || allDeps["@farmjs/core"]) return "farmjs";
16
17
  if (allDeps["@sveltejs/kit"]) return "sveltekit";
17
18
  if (allDeps["astro"]) return "astro";
18
19
  if (allDeps["nuxt"]) return "nuxt";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farming-labs/docs",
3
- "version": "0.2.92",
3
+ "version": "0.2.93",
4
4
  "description": "Modern, flexible MDX-based docs framework — core types, config, and CLI",
5
5
  "keywords": [
6
6
  "docs",