@farming-labs/docs 0.2.30 → 0.2.31

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.
@@ -1,9 +1,9 @@
1
1
  import "./reading-time-CPAy1SWO.mjs";
2
- import "./search-DiFxtL5t.mjs";
2
+ import "./search-CAL0CTm4.mjs";
3
3
  import "./agent-DEr3FFdg.mjs";
4
4
  import "./robots-BcP7nSfi.mjs";
5
5
  import "./sitemap-server-RZG9eOJB.mjs";
6
6
  import "./config-De5z-2LK.mjs";
7
- import { a as readPageTokenBudget, i as printAgentCompactHelp, n as inspectAgentCompactionState, o as scanDocsPageTargets, r as parseAgentCompactArgs, t as compactAgentDocs } from "./codeblocks-Dcn5tRbB.mjs";
7
+ import { a as readPageTokenBudget, i as printAgentCompactHelp, n as inspectAgentCompactionState, o as scanDocsPageTargets, r as parseAgentCompactArgs, t as compactAgentDocs } from "./codeblocks-D7xOEhpM.mjs";
8
8
 
9
9
  export { compactAgentDocs, parseAgentCompactArgs, printAgentCompactHelp };
@@ -1,4 +1,4 @@
1
- import "./search-DiFxtL5t.mjs";
1
+ import "./search-CAL0CTm4.mjs";
2
2
  import { G as renderDocsAgentsDocument, X as resolveDocsAgentFeedbackConfig, a as DEFAULT_AGENT_MD_ROUTE, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, o as DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, t as DEFAULT_AGENTS_MD_ROUTE, y as DEFAULT_OPENAPI_SCHEMA_ROUTE } from "./agent-DEr3FFdg.mjs";
3
3
  import { S as resolveApiReferenceConfig } from "./sitemap-server-RZG9eOJB.mjs";
4
4
  import { resolveDocsMcpConfig } from "./mcp.mjs";
@@ -132,10 +132,10 @@ async function main() {
132
132
  printCloudHelp();
133
133
  process.exit(1);
134
134
  } else if (parsedCommand.command === "mcp") {
135
- const { runMcp } = await import("../mcp-DVipSdBh.mjs");
135
+ const { runMcp } = await import("../mcp-CiF7A5wT.mjs");
136
136
  await runMcp(mcpOptions);
137
137
  } else if (parsedCommand.command === "agent" && subcommand === "compact") {
138
- const { compactAgentDocs, parseAgentCompactArgs, printAgentCompactHelp } = await import("../agent-BpPhLG_h.mjs");
138
+ const { compactAgentDocs, parseAgentCompactArgs, printAgentCompactHelp } = await import("../agent-D9m49prE.mjs");
139
139
  const agentCompactOptions = parseAgentCompactArgs(args.slice(2));
140
140
  if (agentCompactOptions.help) {
141
141
  printAgentCompactHelp();
@@ -145,11 +145,11 @@ async function main() {
145
145
  } else if (parsedCommand.command === "agent") {
146
146
  console.error(pc.red(`Unknown agent subcommand: ${subcommand ?? "(missing)"}`));
147
147
  console.error();
148
- const { printAgentCompactHelp } = await import("../agent-BpPhLG_h.mjs");
148
+ const { printAgentCompactHelp } = await import("../agent-D9m49prE.mjs");
149
149
  printAgentCompactHelp();
150
150
  process.exit(1);
151
151
  } else if (parsedCommand.command === "agents" && subcommand === "generate") {
152
- const { generateAgents, parseAgentsGenerateArgs, printAgentsGenerateHelp } = await import("../agents-spZpwT1w.mjs");
152
+ const { generateAgents, parseAgentsGenerateArgs, printAgentsGenerateHelp } = await import("../agents-BsY_8VP3.mjs");
153
153
  const agentsOptions = parseAgentsGenerateArgs(args.slice(2));
154
154
  if (agentsOptions.help) {
155
155
  printAgentsGenerateHelp();
@@ -159,11 +159,11 @@ async function main() {
159
159
  } else if (parsedCommand.command === "agents") {
160
160
  console.error(pc.red(`Unknown agents subcommand: ${subcommand ?? "(missing)"}`));
161
161
  console.error();
162
- const { printAgentsGenerateHelp } = await import("../agents-spZpwT1w.mjs");
162
+ const { printAgentsGenerateHelp } = await import("../agents-BsY_8VP3.mjs");
163
163
  printAgentsGenerateHelp();
164
164
  process.exit(1);
165
165
  } else if (parsedCommand.command === "doctor") {
166
- const { parseDoctorArgs, printDoctorHelp, runDoctor } = await import("../doctor-C_djsk99.mjs");
166
+ const { parseDoctorArgs, printDoctorHelp, runDoctor } = await import("../doctor-BOYKQ5jr.mjs");
167
167
  const doctorOptions = parseDoctorArgs(args.slice(1));
168
168
  if (doctorOptions.help) {
169
169
  printDoctorHelp();
@@ -179,7 +179,7 @@ async function main() {
179
179
  }
180
180
  await runReview(reviewOptions);
181
181
  } else if ((parsedCommand.command === "codeblocks" || parsedCommand.command === "code-blocks") && subcommand === "validate") {
182
- const { parseCodeBlocksValidateArgs, printCodeBlocksValidateHelp, runCodeBlocksValidate } = await import("../codeblocks-Dcn5tRbB.mjs");
182
+ const { parseCodeBlocksValidateArgs, printCodeBlocksValidateHelp, runCodeBlocksValidate } = await import("../codeblocks-D7xOEhpM.mjs");
183
183
  const codeBlocksOptions = parseCodeBlocksValidateArgs(args.slice(2));
184
184
  if (codeBlocksOptions.help) {
185
185
  printCodeBlocksValidateHelp();
@@ -189,11 +189,11 @@ async function main() {
189
189
  } else if (parsedCommand.command === "codeblocks" || parsedCommand.command === "code-blocks") {
190
190
  console.error(pc.red(`Unknown codeblocks subcommand: ${subcommand ?? "(missing)"}`));
191
191
  console.error();
192
- const { printCodeBlocksValidateHelp } = await import("../codeblocks-Dcn5tRbB.mjs");
192
+ const { printCodeBlocksValidateHelp } = await import("../codeblocks-D7xOEhpM.mjs");
193
193
  printCodeBlocksValidateHelp();
194
194
  process.exit(1);
195
195
  } else if (parsedCommand.command === "search" && subcommand === "sync") {
196
- const { syncSearch } = await import("../search-CSJNTYNX.mjs");
196
+ const { syncSearch } = await import("../search-DsgBFnJX.mjs");
197
197
  await syncSearch(searchSyncOptions);
198
198
  } else if (parsedCommand.command === "search") {
199
199
  console.error(pc.red(`Unknown search subcommand: ${subcommand ?? "(missing)"}`));
@@ -201,7 +201,7 @@ async function main() {
201
201
  printHelp();
202
202
  process.exit(1);
203
203
  } else if (parsedCommand.command === "sitemap" && subcommand === "generate") {
204
- const { generateSitemap, parseSitemapGenerateArgs, printSitemapGenerateHelp } = await import("../sitemap-vHpdCag9.mjs");
204
+ const { generateSitemap, parseSitemapGenerateArgs, printSitemapGenerateHelp } = await import("../sitemap-Cax2grAh.mjs");
205
205
  const sitemapOptions = parseSitemapGenerateArgs(args.slice(2));
206
206
  if (sitemapOptions.help) {
207
207
  printSitemapGenerateHelp();
@@ -211,7 +211,7 @@ async function main() {
211
211
  } else if (parsedCommand.command === "sitemap") {
212
212
  console.error(pc.red(`Unknown sitemap subcommand: ${subcommand ?? "(missing)"}`));
213
213
  console.error();
214
- const { printSitemapGenerateHelp } = await import("../sitemap-vHpdCag9.mjs");
214
+ const { printSitemapGenerateHelp } = await import("../sitemap-Cax2grAh.mjs");
215
215
  printSitemapGenerateHelp();
216
216
  process.exit(1);
217
217
  } else if (parsedCommand.command === "robots" && subcommand === "generate") {
@@ -331,9 +331,9 @@ ${pc.dim("Options for agent compact:")}
331
331
  ${pc.cyan("agent compact --stale")} Refresh only stale generated ${pc.dim("agent.md")} files
332
332
  ${pc.cyan("--page <slug|path>")} Repeatable explicit page flag; positional page args work too
333
333
  ${pc.cyan("--include-missing")} With ${pc.cyan("--stale")}, also create explicit or token-budget pages missing ${pc.dim("agent.md")}
334
- ${pc.cyan("--api-key <key>")} Token Company API key (or use ${pc.dim("TOKEN_COMPANY_API_KEY")})
335
- ${pc.cyan("--api-key-env <name>")} Custom env var name for the Token Company API key
336
- ${pc.cyan("--base-url <url>")} Override the Token Company API base URL
334
+ ${pc.cyan("--api-key <key>")} Use an API key directly; prefer ${pc.dim("cloud.apiKey.env")}
335
+ ${pc.cyan("--api-key-env <name>")} Env var name for the Docs Cloud API key; prefer ${pc.dim("cloud.apiKey.env")}
336
+ ${pc.cyan("--base-url <url>")} Override the compression API base URL
337
337
  ${pc.cyan("--aggressiveness <0-1>")} Compression intensity for compacted output
338
338
  ${pc.cyan("--dry-run")} Resolve and compress pages without writing files
339
339
 
@@ -1,4 +1,4 @@
1
- import { _ as parseGeneratedAgentDocument, h as hashGeneratedAgentContent, m as GENERATED_AGENT_PROVENANCE_VERSION, v as serializeGeneratedAgentDocument } from "./search-DiFxtL5t.mjs";
1
+ import { _ as parseGeneratedAgentDocument, h as hashGeneratedAgentContent, m as GENERATED_AGENT_PROVENANCE_VERSION, v as serializeGeneratedAgentDocument } from "./search-CAL0CTm4.mjs";
2
2
  import { A as findDocsMarkdownPage, q as renderDocsMarkdownDocument } from "./agent-DEr3FFdg.mjs";
3
3
  import "./index.mjs";
4
4
  import { createFilesystemDocsMcpSource } from "./mcp.mjs";
@@ -13,9 +13,10 @@ import { tmpdir } from "node:os";
13
13
  import { promisify } from "node:util";
14
14
 
15
15
  //#region src/cli/agent.ts
16
- const DEFAULT_TTC_BASE_URL = "https://api.thetokencompany.com";
17
- const DEFAULT_TTC_MODEL = "bear-1.2";
18
- const DEFAULT_TTC_AGGRESSIVENESS = .3;
16
+ const DEFAULT_COMPRESSION_BASE_URL = "https://api.farming-labs.dev";
17
+ const DEFAULT_COMPRESSION_MODEL = "docs-cloud-compress-v1";
18
+ const DEFAULT_COMPRESSION_AGGRESSIVENESS = .3;
19
+ const DEFAULT_DOCS_CLOUD_API_KEY_ENV = "DOCS_CLOUD_API_KEY";
19
20
  const INDEX_PAGE_BASENAMES = new Set([
20
21
  "index",
21
22
  "page",
@@ -177,8 +178,8 @@ function scanDocsPageTargets(rootDir, contentDir, entry) {
177
178
  return targets;
178
179
  }
179
180
  function resolveCompressionEndpoint(rawBaseUrl) {
180
- const baseUrl = rawBaseUrl ?? process.env.TOKEN_COMPANY_BASE_URL ?? process.env.THE_TOKEN_COMPANY_BASE_URL ?? DEFAULT_TTC_BASE_URL;
181
- if (/\/v1\/compress\/?$/i.test(baseUrl)) return baseUrl.replace(/\/+$/, "");
181
+ const baseUrl = rawBaseUrl ?? process.env.DOCS_CLOUD_COMPRESSION_BASE_URL ?? process.env.DOCS_CLOUD_API_BASE_URL ?? process.env.FARMING_LABS_DOCS_API_BASE_URL ?? DEFAULT_COMPRESSION_BASE_URL;
182
+ if (/\/v1\/(?:compress|agent\/compact)\/?$/i.test(baseUrl)) return baseUrl.replace(/\/+$/, "");
182
183
  return `${baseUrl.replace(/\/+$/, "")}/v1/compress`;
183
184
  }
184
185
  function runGitCommand(rootDir, args) {
@@ -238,16 +239,18 @@ function listGitChangedFiles(rootDir, contentDir) {
238
239
  return changedFiles;
239
240
  }
240
241
  function resolveCompressionApiKey(explicitApiKey, explicitApiKeyEnv) {
241
- const candidateKeys = [
242
- explicitApiKeyEnv,
243
- "TOKEN_COMPANY_API_KEY",
244
- "THE_TOKEN_COMPANY_API_KEY",
245
- "TTC_API_KEY"
246
- ].filter((value) => typeof value === "string" && value.length > 0);
247
- const apiKey = explicitApiKey ?? candidateKeys.map((key) => process.env[key]).find(Boolean);
248
- if (!apiKey) throw new Error("Missing Token Company API key. Pass --api-key, set agent.compact.apiKey/apiKeyEnv, or set TOKEN_COMPANY_API_KEY.");
242
+ const apiKey = explicitApiKey ?? (explicitApiKeyEnv && explicitApiKeyEnv.length > 0 ? process.env[explicitApiKeyEnv] : void 0);
243
+ if (!apiKey) {
244
+ if (explicitApiKeyEnv && explicitApiKeyEnv.length > 0) throw new Error(`Missing Docs Cloud API key. The configured API key env "${explicitApiKeyEnv}" was not found in your shell or project .env/.env.local files. Add ${explicitApiKeyEnv}=fl_key_... to .env.local, configure cloud.apiKey.env in your root docs config, or pass --api-key.`);
245
+ throw new Error("Missing Docs Cloud API key. Configure cloud.apiKey.env in your root docs config and set DOCS_CLOUD_API_KEY=fl_key_... in .env/.env.local, or pass --api-key.");
246
+ }
249
247
  return apiKey;
250
248
  }
249
+ function readCloudApiKeyConfig(content) {
250
+ if (!extractNestedObjectLiteral(content, ["cloud"])) return {};
251
+ const apiKeyBlock = extractNestedObjectLiteral(content, ["cloud", "apiKey"]);
252
+ return { apiKeyEnv: apiKeyBlock ? readStringProperty(apiKeyBlock, "env") ?? DEFAULT_DOCS_CLOUD_API_KEY_ENV : DEFAULT_DOCS_CLOUD_API_KEY_ENV };
253
+ }
251
254
  function readAgentCompactConfig(content) {
252
255
  const compactBlock = extractNestedObjectLiteral(content, ["agent", "compact"]);
253
256
  if (!compactBlock) return {};
@@ -263,6 +266,10 @@ function readAgentCompactConfig(content) {
263
266
  protectJson: readBooleanProperty(compactBlock, "protectJson")
264
267
  };
265
268
  }
269
+ function readCloudApiKeyConfigFromModule(config) {
270
+ if (!config.cloud) return {};
271
+ return { apiKeyEnv: config.cloud.apiKey?.env?.trim() || DEFAULT_DOCS_CLOUD_API_KEY_ENV };
272
+ }
266
273
  function readAgentCompactConfigFromModule(config) {
267
274
  const compact = config.agent?.compact;
268
275
  if (!compact) return {};
@@ -293,8 +300,8 @@ function readPageTokenBudget(pagePath) {
293
300
  }
294
301
  function buildCompactionSettingsHash(options) {
295
302
  return hashGeneratedAgentContent(JSON.stringify({
296
- model: options.model ?? DEFAULT_TTC_MODEL,
297
- aggressiveness: options.aggressiveness ?? DEFAULT_TTC_AGGRESSIVENESS,
303
+ model: options.model ?? DEFAULT_COMPRESSION_MODEL,
304
+ aggressiveness: options.aggressiveness ?? DEFAULT_COMPRESSION_AGGRESSIVENESS,
298
305
  maxOutputTokens: options.maxOutputTokens ?? null,
299
306
  minOutputTokens: options.minOutputTokens ?? null,
300
307
  protectJson: options.protectJson ?? null
@@ -390,7 +397,7 @@ function inspectAgentCompactionState(page, target, defaults) {
390
397
  function protectForCompression(input) {
391
398
  const segments = [];
392
399
  const stash = (value) => {
393
- const token = `__TTC_SAFE_${segments.length}__`;
400
+ const token = `__DOCS_SAFE_${segments.length}__`;
394
401
  segments.push(value);
395
402
  return token;
396
403
  };
@@ -400,19 +407,19 @@ function protectForCompression(input) {
400
407
  result = result.replace(/`[^`\n]+`/g, stash);
401
408
  result = result.replace(/^(URL|Description|Related):[^\n]*$/gm, stash);
402
409
  result = result.replace(/https?:\/\/[^\s)]+/g, stash);
403
- for (let index = 0; index < segments.length; index += 1) result = result.replace(`__TTC_SAFE_${index}__`, `<ttc_safe>${segments[index]}</ttc_safe>`);
410
+ for (let index = 0; index < segments.length; index += 1) result = result.replace(`__DOCS_SAFE_${index}__`, `<docs_safe>${segments[index]}</docs_safe>`);
404
411
  return result;
405
412
  }
406
413
  function sanitizeCompressedOutput(output) {
407
- return output.replace(/<\/?ttc_safe>/g, "");
414
+ return output.replace(/<\/?docs_safe>/g, "");
408
415
  }
409
416
  async function compressDocument(input, options) {
410
417
  const apiKey = resolveCompressionApiKey(options.apiKey, options.apiKeyEnv);
411
418
  const endpoint = resolveCompressionEndpoint(options.baseUrl);
412
- const aggressiveness = options.aggressiveness ?? DEFAULT_TTC_AGGRESSIVENESS;
419
+ const aggressiveness = options.aggressiveness ?? DEFAULT_COMPRESSION_AGGRESSIVENESS;
413
420
  if (aggressiveness < 0 || aggressiveness > 1) throw new Error("Aggressiveness must be between 0.0 and 1.0.");
414
421
  const payload = {
415
- model: options.model ?? DEFAULT_TTC_MODEL,
422
+ model: options.model ?? DEFAULT_COMPRESSION_MODEL,
416
423
  input: protectForCompression(input),
417
424
  compression_settings: {
418
425
  aggressiveness,
@@ -431,11 +438,11 @@ async function compressDocument(input, options) {
431
438
  });
432
439
  if (!response.ok) {
433
440
  const body = await response.text();
434
- throw new Error(`Token Company request failed (${response.status}): ${body || response.statusText}`);
441
+ throw new Error(`Docs Cloud compression request failed (${response.status}): ${body || response.statusText}`);
435
442
  }
436
443
  const result = await response.json();
437
444
  const sanitizedOutput = typeof result.output === "string" ? sanitizeCompressedOutput(result.output) : result.output;
438
- if (typeof sanitizedOutput !== "string" || sanitizedOutput.trim().length === 0) throw new Error("Token Company response did not include a compressed output.");
445
+ if (typeof sanitizedOutput !== "string" || sanitizedOutput.trim().length === 0) throw new Error("Docs Cloud compression response did not include a compressed output.");
439
446
  return {
440
447
  ...result,
441
448
  output: sanitizedOutput
@@ -481,7 +488,7 @@ async function compactAgentDocs(options = {}) {
481
488
  for (const [key, value] of Object.entries(loadedEnv)) if (process.env[key] === void 0) process.env[key] = value;
482
489
  const loadedConfigModule = await loadDocsConfigModule(rootDir, options.configPath);
483
490
  const configContent = readFileSync(loadedConfigModule?.path ?? resolveDocsConfigPath(rootDir, options.configPath), "utf-8");
484
- const resolvedOptions = mergeAgentCompactOptions(mergeAgentCompactOptions(readAgentCompactConfig(configContent), loadedConfigModule?.config ? readAgentCompactConfigFromModule(loadedConfigModule.config) : {}), options);
491
+ const resolvedOptions = mergeAgentCompactOptions(mergeAgentCompactOptions(mergeAgentCompactOptions(readCloudApiKeyConfig(configContent), loadedConfigModule?.config ? readCloudApiKeyConfigFromModule(loadedConfigModule.config) : {}), mergeAgentCompactOptions(readAgentCompactConfig(configContent), loadedConfigModule?.config ? readAgentCompactConfigFromModule(loadedConfigModule.config) : {})), options);
485
492
  const entry = normalizePathSegment(loadedConfigModule?.config.entry ?? readTopLevelStringProperty(configContent, "entry") ?? "docs") || "docs";
486
493
  const contentDir = typeof loadedConfigModule?.config.contentDir === "string" ? loadedConfigModule.config.contentDir : resolveDocsContentDir(rootDir, configContent, entry);
487
494
  const siteTitle = typeof loadedConfigModule?.config.nav?.title === "string" ? loadedConfigModule.config.nav.title : readNavTitle(configContent) ?? "Documentation";
@@ -582,13 +589,13 @@ ${pc.dim("Options:")}
582
589
  ${pc.cyan("--stale")} Re-compact only stale generated agent.md files
583
590
  ${pc.cyan("--include-missing")} With ${pc.cyan("--stale")}, also create missing agent.md files for explicit pages or pages that define ${pc.cyan("agent.tokenBudget")}
584
591
  ${pc.cyan("--config <path>")} Use a custom docs config path instead of ${pc.dim("docs.config.ts[x]")}
585
- ${pc.cyan("--api-key <key>")} Token Company API key (or set ${pc.dim("TOKEN_COMPANY_API_KEY")})
586
- ${pc.cyan("--api-key-env <name>")} Custom env var name for the Token Company API key
587
- ${pc.cyan("--base-url <url>")} Override the Token Company API base URL (useful for tests)
588
- ${pc.cyan("--model <name>")} Compression model (${pc.dim("bear-1.2")} by default)
592
+ ${pc.cyan("--api-key <key>")} Use an API key directly; prefer ${pc.dim("cloud.apiKey.env")}
593
+ ${pc.cyan("--api-key-env <name>")} Env var name for the Docs Cloud API key; prefer ${pc.dim("cloud.apiKey.env")}
594
+ ${pc.cyan("--base-url <url>")} Override the compression API base URL (useful for tests)
595
+ ${pc.cyan("--model <name>")} Compression model (${pc.dim("docs-cloud-compress-v1")} by default)
589
596
  ${pc.cyan("--aggressiveness <0-1>")} Compression intensity (${pc.dim("0.3")} by default)
590
- ${pc.cyan("--max-output-tokens <n>")} Pass through to Token Company compression settings
591
- ${pc.cyan("--min-output-tokens <n>")} Pass through to Token Company compression settings
597
+ ${pc.cyan("--max-output-tokens <n>")} Pass through to compression settings
598
+ ${pc.cyan("--min-output-tokens <n>")} Pass through to compression settings
592
599
  ${pc.cyan("--protect-json <bool>")} Preserve JSON objects during compression
593
600
  ${pc.cyan("--dry-run")} Resolve pages and call the compressor without writing files
594
601
  `);
@@ -1,5 +1,5 @@
1
1
  import "./reading-time-CPAy1SWO.mjs";
2
- import "./search-DiFxtL5t.mjs";
2
+ import "./search-CAL0CTm4.mjs";
3
3
  import { O as buildDocsMcpEndpointCandidates, b as DEFAULT_SKILL_MD_ROUTE, c as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, d as DEFAULT_LLMS_FULL_TXT_ROUTE, g as DEFAULT_MCP_PUBLIC_ROUTE, ht as DEFAULT_SITEMAP_XML_ROUTE, i as DEFAULT_AGENT_FEEDBACK_ROUTE, l as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, m as DEFAULT_LLMS_TXT_ROUTE, mt as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, pt as DEFAULT_SITEMAP_MD_ROUTE, t as DEFAULT_AGENTS_MD_ROUTE, v as DEFAULT_MCP_WELL_KNOWN_ROUTE, x as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, xt as resolveDocsSitemapConfig } from "./agent-DEr3FFdg.mjs";
4
4
  import { a as analyzeDocsRobotsTxt, n as DEFAULT_ROBOTS_TXT_ROUTE, u as resolveDocsRobotsConfig } from "./robots-BcP7nSfi.mjs";
5
5
  import "./sitemap-server-RZG9eOJB.mjs";
@@ -7,7 +7,7 @@ import { createFilesystemDocsMcpSource, resolveDocsMcpConfig } from "./mcp.mjs";
7
7
  import "./server.mjs";
8
8
  import { a as loadProjectEnv, c as readNavTitle, f as readTopLevelStringProperty, i as loadDocsConfigModule, m as resolveDocsContentDir, o as readBooleanProperty, p as resolveDocsConfigPath, r as extractTopLevelConfigObject, t as extractNestedObjectLiteral } from "./config-De5z-2LK.mjs";
9
9
  import { t as detectFramework } from "./utils-CoHZJ1i4.mjs";
10
- import { n as inspectAgentCompactionState, o as scanDocsPageTargets, t as compactAgentDocs } from "./codeblocks-Dcn5tRbB.mjs";
10
+ import { n as inspectAgentCompactionState, o as scanDocsPageTargets, t as compactAgentDocs } from "./codeblocks-D7xOEhpM.mjs";
11
11
  import { existsSync, lstatSync, readFileSync, readdirSync } from "node:fs";
12
12
  import path from "node:path";
13
13
  import { LATEST_PROTOCOL_VERSION } from "@modelcontextprotocol/sdk/types.js";
@@ -695,7 +695,7 @@ function compactionFreshnessScore(coverage, compactConfigured) {
695
695
  return {
696
696
  status: "warn",
697
697
  score: 0,
698
- recommendation: "Add agent.compact defaults if you want docs agent compact and stale detection to run without repeating model and key settings."
698
+ recommendation: "Add agent.compact defaults if you want docs agent compact and stale detection to run without repeating model and compression settings."
699
699
  };
700
700
  }
701
701
  function buildMetadataCoverage(pages) {
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { $ as DocsObservabilityEvent, $t as ReadingTimeFormat, A as DocsAskAIMcpConfig, At as FeedbackConfig, B as DocsCodeBlocksRunnerProvider, Bt as OpenDocsConfig, C as DocsAnalyticsSource, Ct as DocsTelemetryConfig, D as DocsAskAIFeedbackData, Dt as DocsTelemetryFeatures, E as DocsAskAIFeedbackConfig, Et as DocsTelemetryEventType, F as DocsCloudPublishConfig, Ft as LlmsTxtMaxCharsConfig, G as DocsFeedbackData, Gt as OpenGraphImage, H as DocsCodeBlocksValidationMode, Ht as OpenDocsProviderConfig, I as DocsCodeBlocksConfig, It as LlmsTxtMaxCharsMode, J as DocsMcpConfig, Jt as PageFrontmatter, K as DocsFeedbackValue, Kt as OrderingItem, L as DocsCodeBlocksPlannerConfig, Lt as LlmsTxtSectionConfig, M as DocsCloudConfig, Mt as GithubConfig, N as DocsCloudFeatureConfig, Nt as LastUpdatedConfig, O as DocsAskAIFeedbackMessage, Ot as DocsTelemetryFramework, P as DocsCloudPreviewConfig, Pt as LlmsTxtConfig, Q as DocsObservabilityConfig, Qt as ReadingTimeConfig, R as DocsCodeBlocksPlannerProvider, Rt as McpDocsSearchConfig, S as DocsAnalyticsInput, St as DocsTelemetryAgentSurface, T as DocsAskAIActionType, Tt as DocsTelemetryEventInput, U as DocsCodeBlocksValidationPolicy, Ut as OpenDocsProviderId, V as DocsCodeBlocksValidateConfig, Vt as OpenDocsProvider, W as DocsConfig, Wt as OpenDocsTarget, X as DocsMetadata, Xt as PageSidebarFrontmatter, Y as DocsMcpToolsConfig, Yt as PageOpenGraph, Z as DocsNav, Zt as PageTwitter, _ as DocsAgentTraceStatus, _t as DocsSearchQuery, a as ApiReferenceRenderer, an as SidebarNode, at as DocsReviewRulesConfig, b as DocsAnalyticsEventInput, bt as DocsSearchSourcePage, c as ChangelogFrontmatter, cn as SimpleDocsSearchConfig, ct as DocsRobotsConfig, d as CopyMarkdownFormat, dn as TypographyConfig, dt as DocsSearchAdapterContext, en as ResolvedDocsRelatedLink, et as DocsObservabilityEventInput, f as CustomDocsSearchConfig, fn as UIConfig, ft as DocsSearchAdapterFactory, g as DocsAgentTraceEventType, gt as DocsSearchEmbeddingsConfig, h as DocsAgentTraceEventInput, ht as DocsSearchDocument, i as ApiReferenceConfig, in as SidebarFolderNode, it as DocsReviewConfig, j as DocsCloudApiKeyConfig, jt as FontStyle, k as DocsAskAIFeedbackValue, kt as DocsTheme, l as CodeBlockCopyData, ln as ThemeToggleConfig, lt as DocsRobotsRule, m as DocsAgentFeedbackData, mt as DocsSearchConfig, n as AgentFeedbackConfig, nn as SidebarConfig, nt as DocsReviewCiConfig, o as BreadcrumbConfig, on as SidebarPageNode, ot as DocsReviewScoreConfig, p as DocsAgentFeedbackContext, pt as DocsSearchChunkingConfig, q as DocsI18nConfig, qt as PageActionsConfig, r as AlgoliaDocsSearchConfig, rn as SidebarFolderIndexBehavior, rt as DocsReviewCiMode, s as ChangelogConfig, sn as SidebarTree, st as DocsReviewSeverity, t as AIConfig, tn as SidebarComponentProps, tt as DocsRelatedItem, u as CopyMarkdownConfig, un as TypesenseDocsSearchConfig, ut as DocsSearchAdapter, v as DocsAnalyticsConfig, vt as DocsSearchResult, w as DocsAskAIActionData, wt as DocsTelemetryEvent, x as DocsAnalyticsEventType, xt as DocsSitemapConfig, y as DocsAnalyticsEvent, yt as DocsSearchResultType, z as DocsCodeBlocksRunnerConfig, zt as OGConfig } from "./types-5-f3AZ9z.mjs";
2
- import { $ as createDocsAgentTraceId, A as resolveDocsSitemapRequest, C as buildDocsSitemapManifest, D as renderDocsSitemapXml, E as renderDocsSitemapMarkdown, I as PromptAction, J as DOCS_AGENT_TRACE_EVENT_TYPES, L as PromptProviderChoice, O as resolveDocsSitemapConfig, Q as createDocsAgentTraceContext, R as SerializeOpenDocsProviderOptions, S as DocsSitemapResolvedConfig, T as readDocsSitemapManifestFromContentMap, X as ResolvedDocsAnalyticsConfig, Y as DocsAgentTraceContext, Z as ResolvedDocsObservabilityConfig, _ as DEFAULT_SITEMAP_XML_ROUTE, a as createMcpSearchAdapter, at as resolveDocsObservabilityConfig, b as DocsSitemapManifestPage, c as formatDocsAskAIPackageHints, d as resolveAskAISearchRequestConfig, et as emitDocsAgentTraceEvent, f as resolveSearchRequestConfig, g as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, h as DEFAULT_SITEMAP_MD_ROUTE, i as createCustomSearchAdapter, it as resolveDocsAnalyticsConfig, j as toDocsSitemapMarkdownUrl, k as resolveDocsSitemapPageLastmod, l as inferDocsAskAIPackageHints, m as DEFAULT_SITEMAP_MD_DOCS_ROUTE, n as buildDocsSearchDocuments, nt as emitDocsObservabilityEvent, o as createSimpleSearchAdapter, p as DEFAULT_SITEMAP_MANIFEST_PATH, r as createAlgoliaSearchAdapter, rt as getDocsRequestAnalyticsProperties, s as createTypesenseSearchAdapter, t as buildDocsAskAIContext, tt as emitDocsAnalyticsEvent, u as performDocsSearch, v as DocsSitemapFormat, w as createDocsSitemapResponse, x as DocsSitemapPageInput, y as DocsSitemapManifest, z as SerializedOpenDocsProvider } from "./search-D_xnvMMK.mjs";
1
+ import { $ as DocsObservabilityEvent, $t as ReadingTimeFormat, A as DocsAskAIMcpConfig, At as FeedbackConfig, B as DocsCodeBlocksRunnerProvider, Bt as OpenDocsConfig, C as DocsAnalyticsSource, Ct as DocsTelemetryConfig, D as DocsAskAIFeedbackData, Dt as DocsTelemetryFeatures, E as DocsAskAIFeedbackConfig, Et as DocsTelemetryEventType, F as DocsCloudPublishConfig, Ft as LlmsTxtMaxCharsConfig, G as DocsFeedbackData, Gt as OpenGraphImage, H as DocsCodeBlocksValidationMode, Ht as OpenDocsProviderConfig, I as DocsCodeBlocksConfig, It as LlmsTxtMaxCharsMode, J as DocsMcpConfig, Jt as PageFrontmatter, K as DocsFeedbackValue, Kt as OrderingItem, L as DocsCodeBlocksPlannerConfig, Lt as LlmsTxtSectionConfig, M as DocsCloudConfig, Mt as GithubConfig, N as DocsCloudFeatureConfig, Nt as LastUpdatedConfig, O as DocsAskAIFeedbackMessage, Ot as DocsTelemetryFramework, P as DocsCloudPreviewConfig, Pt as LlmsTxtConfig, Q as DocsObservabilityConfig, Qt as ReadingTimeConfig, R as DocsCodeBlocksPlannerProvider, Rt as McpDocsSearchConfig, S as DocsAnalyticsInput, St as DocsTelemetryAgentSurface, T as DocsAskAIActionType, Tt as DocsTelemetryEventInput, U as DocsCodeBlocksValidationPolicy, Ut as OpenDocsProviderId, V as DocsCodeBlocksValidateConfig, Vt as OpenDocsProvider, W as DocsConfig, Wt as OpenDocsTarget, X as DocsMetadata, Xt as PageSidebarFrontmatter, Y as DocsMcpToolsConfig, Yt as PageOpenGraph, Z as DocsNav, Zt as PageTwitter, _ as DocsAgentTraceStatus, _t as DocsSearchQuery, a as ApiReferenceRenderer, an as SidebarNode, at as DocsReviewRulesConfig, b as DocsAnalyticsEventInput, bt as DocsSearchSourcePage, c as ChangelogFrontmatter, cn as SimpleDocsSearchConfig, ct as DocsRobotsConfig, d as CopyMarkdownFormat, dn as TypographyConfig, dt as DocsSearchAdapterContext, en as ResolvedDocsRelatedLink, et as DocsObservabilityEventInput, f as CustomDocsSearchConfig, fn as UIConfig, ft as DocsSearchAdapterFactory, g as DocsAgentTraceEventType, gt as DocsSearchEmbeddingsConfig, h as DocsAgentTraceEventInput, ht as DocsSearchDocument, i as ApiReferenceConfig, in as SidebarFolderNode, it as DocsReviewConfig, j as DocsCloudApiKeyConfig, jt as FontStyle, k as DocsAskAIFeedbackValue, kt as DocsTheme, l as CodeBlockCopyData, ln as ThemeToggleConfig, lt as DocsRobotsRule, m as DocsAgentFeedbackData, mt as DocsSearchConfig, n as AgentFeedbackConfig, nn as SidebarConfig, nt as DocsReviewCiConfig, o as BreadcrumbConfig, on as SidebarPageNode, ot as DocsReviewScoreConfig, p as DocsAgentFeedbackContext, pt as DocsSearchChunkingConfig, q as DocsI18nConfig, qt as PageActionsConfig, r as AlgoliaDocsSearchConfig, rn as SidebarFolderIndexBehavior, rt as DocsReviewCiMode, s as ChangelogConfig, sn as SidebarTree, st as DocsReviewSeverity, t as AIConfig, tn as SidebarComponentProps, tt as DocsRelatedItem, u as CopyMarkdownConfig, un as TypesenseDocsSearchConfig, ut as DocsSearchAdapter, v as DocsAnalyticsConfig, vt as DocsSearchResult, w as DocsAskAIActionData, wt as DocsTelemetryEvent, x as DocsAnalyticsEventType, xt as DocsSitemapConfig, y as DocsAnalyticsEvent, yt as DocsSearchResultType, z as DocsCodeBlocksRunnerConfig, zt as OGConfig } from "./types-C5yQrqXc.mjs";
2
+ import { $ as createDocsAgentTraceId, A as resolveDocsSitemapRequest, C as buildDocsSitemapManifest, D as renderDocsSitemapXml, E as renderDocsSitemapMarkdown, I as PromptAction, J as DOCS_AGENT_TRACE_EVENT_TYPES, L as PromptProviderChoice, O as resolveDocsSitemapConfig, Q as createDocsAgentTraceContext, R as SerializeOpenDocsProviderOptions, S as DocsSitemapResolvedConfig, T as readDocsSitemapManifestFromContentMap, X as ResolvedDocsAnalyticsConfig, Y as DocsAgentTraceContext, Z as ResolvedDocsObservabilityConfig, _ as DEFAULT_SITEMAP_XML_ROUTE, a as createMcpSearchAdapter, at as resolveDocsObservabilityConfig, b as DocsSitemapManifestPage, c as formatDocsAskAIPackageHints, d as resolveAskAISearchRequestConfig, et as emitDocsAgentTraceEvent, f as resolveSearchRequestConfig, g as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, h as DEFAULT_SITEMAP_MD_ROUTE, i as createCustomSearchAdapter, it as resolveDocsAnalyticsConfig, j as toDocsSitemapMarkdownUrl, k as resolveDocsSitemapPageLastmod, l as inferDocsAskAIPackageHints, m as DEFAULT_SITEMAP_MD_DOCS_ROUTE, n as buildDocsSearchDocuments, nt as emitDocsObservabilityEvent, o as createSimpleSearchAdapter, p as DEFAULT_SITEMAP_MANIFEST_PATH, r as createAlgoliaSearchAdapter, rt as getDocsRequestAnalyticsProperties, s as createTypesenseSearchAdapter, t as buildDocsAskAIContext, tt as emitDocsAnalyticsEvent, u as performDocsSearch, v as DocsSitemapFormat, w as createDocsSitemapResponse, x as DocsSitemapPageInput, y as DocsSitemapManifest, z as SerializedOpenDocsProvider } from "./search-Cl5YUeI_.mjs";
3
3
  import { DocsMcpPage, DocsMcpResolvedConfig } from "./mcp.mjs";
4
4
 
5
5
  //#region src/define-docs.d.ts
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { _ as extendTheme, a as resolveReadingTimeOptions, b as defineDocs, c as buildPageTwitter, d as resolveOGImage, f as resolveTitle, g as createTheme, h as resolveDocsPath, i as resolveReadingTimeFromSource, l as renderDocsPageStructuredDataJson, m as resolveDocsLocale, n as resolvePageReadingTime, o as buildDocsPageStructuredData, p as resolveDocsI18n, r as resolveReadingTimeFromContent, s as buildPageOpenGraph, t as estimateReadingTimeMinutes, u as resolveDocsMetadataBaseUrl, v as deepMerge, y as resolveChangelogConfig } from "./reading-time-CPAy1SWO.mjs";
2
- import { A as resolveDocsTelemetryConfig, C as resolveSidebarFolderIndexBehaviorForPath, D as emitDocsTelemetryProjectEvent, E as emitDocsTelemetryMcpToolEvent, F as emitDocsAnalyticsEvent, I as emitDocsObservabilityEvent, L as getDocsRequestAnalyticsProperties, M as createDocsAgentTraceContext, N as createDocsAgentTraceId, O as getDocsTelemetryFeatures, P as emitDocsAgentTraceEvent, R as resolveDocsAnalyticsConfig, S as resolveSidebarFolderIndexBehavior, T as emitDocsTelemetryEvent, _ as parseGeneratedAgentDocument, a as createMcpSearchAdapter, b as applySidebarFolderIndexBehavior, c as formatDocsAskAIPackageHints, d as resolveAskAISearchRequestConfig, f as resolveSearchRequestConfig, g as normalizeGeneratedAgentContent, h as hashGeneratedAgentContent, i as createCustomSearchAdapter, j as DOCS_AGENT_TRACE_EVENT_TYPES, k as inferDocsTelemetryAgentSurface, l as inferDocsAskAIPackageHints, m as GENERATED_AGENT_PROVENANCE_VERSION, n as buildDocsSearchDocuments, o as createSimpleSearchAdapter, p as GENERATED_AGENT_PROVENANCE_MARKER, r as createAlgoliaSearchAdapter, s as createTypesenseSearchAdapter, t as buildDocsAskAIContext, u as performDocsSearch, v as serializeGeneratedAgentDocument, w as emitDocsTelemetryAgentSurfaceEvent, x as resolvePageSidebarFolderIndexBehavior, y as stripGeneratedAgentProvenance, z as resolveDocsObservabilityConfig } from "./search-DiFxtL5t.mjs";
2
+ import { A as resolveDocsTelemetryConfig, C as resolveSidebarFolderIndexBehaviorForPath, D as emitDocsTelemetryProjectEvent, E as emitDocsTelemetryMcpToolEvent, F as emitDocsAnalyticsEvent, I as emitDocsObservabilityEvent, L as getDocsRequestAnalyticsProperties, M as createDocsAgentTraceContext, N as createDocsAgentTraceId, O as getDocsTelemetryFeatures, P as emitDocsAgentTraceEvent, R as resolveDocsAnalyticsConfig, S as resolveSidebarFolderIndexBehavior, T as emitDocsTelemetryEvent, _ as parseGeneratedAgentDocument, a as createMcpSearchAdapter, b as applySidebarFolderIndexBehavior, c as formatDocsAskAIPackageHints, d as resolveAskAISearchRequestConfig, f as resolveSearchRequestConfig, g as normalizeGeneratedAgentContent, h as hashGeneratedAgentContent, i as createCustomSearchAdapter, j as DOCS_AGENT_TRACE_EVENT_TYPES, k as inferDocsTelemetryAgentSurface, l as inferDocsAskAIPackageHints, m as GENERATED_AGENT_PROVENANCE_VERSION, n as buildDocsSearchDocuments, o as createSimpleSearchAdapter, p as GENERATED_AGENT_PROVENANCE_MARKER, r as createAlgoliaSearchAdapter, s as createTypesenseSearchAdapter, t as buildDocsAskAIContext, u as performDocsSearch, v as serializeGeneratedAgentDocument, w as emitDocsTelemetryAgentSurfaceEvent, x as resolvePageSidebarFolderIndexBehavior, y as stripGeneratedAgentProvenance, z as resolveDocsObservabilityConfig } from "./search-CAL0CTm4.mjs";
3
3
  import { $ as resolveDocsAgentsFormat, A as findDocsMarkdownPage, B as isDocsSkillRequest, C as DOCS_BOT_LIKE_USER_AGENT_HEADER_PATTERN, Ct as resolveDocsSitemapRequest, D as buildDocsAgentFeedbackSchema, E as buildDocsAgentDiscoverySpec, Et as renderDocsRelatedMarkdownLines, F as isDocsAgentDiscoveryRequest, G as renderDocsAgentsDocument, H as normalizeDocsPathSegment, I as isDocsAgentsRequest, J as renderDocsMarkdownNotFound, K as renderDocsLlmsTxt, L as isDocsLlmsTxtPublicRequest, M as getDocsMarkdownCanonicalLinkHeader, N as getDocsMarkdownVaryHeader, O as buildDocsMcpEndpointCandidates, P as hasDocsMarkdownSignatureAgent, Q as resolveDocsAgentMdxContent, R as isDocsMcpRequest, S as DOCS_AI_AGENT_USER_AGENT_HEADER_PATTERN, St as resolveDocsSitemapPageLastmod, T as DOCS_TRADITIONAL_BOT_USER_AGENT_HEADER_PATTERN, Tt as normalizeDocsRelated, U as normalizeDocsUrlPath, V as matchesDocsLlmsTxtSection, W as parseDocsAgentFeedbackData, X as resolveDocsAgentFeedbackConfig, Y as renderDocsSkillDocument, Z as resolveDocsAgentFeedbackRequest, _ as DEFAULT_MCP_ROUTE, _t as createDocsSitemapResponse, a as DEFAULT_AGENT_MD_ROUTE, at as resolveDocsMarkdownRequest, b as DEFAULT_SKILL_MD_ROUTE, bt as renderDocsSitemapXml, c as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, ct as selectDocsLlmsTxtContent, d as DEFAULT_LLMS_FULL_TXT_ROUTE, dt as DEFAULT_SITEMAP_MANIFEST_PATH, et as resolveDocsLlmsTxtFormat, f as DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, ft as DEFAULT_SITEMAP_MD_DOCS_ROUTE, g as DEFAULT_MCP_PUBLIC_ROUTE, gt as buildDocsSitemapManifest, h as DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE, ht as DEFAULT_SITEMAP_XML_ROUTE, i as DEFAULT_AGENT_FEEDBACK_ROUTE, it as resolveDocsMarkdownRecovery, j as getDocsLlmsTxtMaxCharsIssue, k as detectDocsMarkdownAgentRequest, l as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, lt as toDocsMarkdownUrl, m as DEFAULT_LLMS_TXT_ROUTE, mt as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, nt as resolveDocsLlmsTxtSections, o as DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, ot as resolveDocsOpenApiDiscoveryConfig, p as DEFAULT_LLMS_TXT_MAX_CHARS, pt as DEFAULT_SITEMAP_MD_ROUTE, q as renderDocsMarkdownDocument, r as DEFAULT_AGENT_FEEDBACK_PAYLOAD_SCHEMA, rt as resolveDocsMarkdownCanonicalUrl, s as DEFAULT_AGENT_SPEC_ROUTE, st as resolveDocsSkillFormat, t as DEFAULT_AGENTS_MD_ROUTE, tt as resolveDocsLlmsTxtRequest, u as DEFAULT_DOCS_API_ROUTE, ut as validateDocsAgentFeedbackPayload, v as DEFAULT_MCP_WELL_KNOWN_ROUTE, vt as readDocsSitemapManifestFromContentMap, w as DOCS_MARKDOWN_SIGNATURE_AGENT_HEADER, wt as toDocsSitemapMarkdownUrl, x as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, xt as resolveDocsSitemapConfig, y as DEFAULT_OPENAPI_SCHEMA_ROUTE, yt as renderDocsSitemapMarkdown, z as isDocsPublicGetRequest } from "./agent-DEr3FFdg.mjs";
4
4
  import { a as analyzeDocsRobotsTxt, c as renderDocsRobotsGeneratedBlock, d as resolveDocsRobotsRequest, f as upsertDocsRobotsGeneratedBlock, i as DOCS_ROBOTS_GENERATED_BLOCK_START, l as renderDocsRobotsTxt, n as DEFAULT_ROBOTS_TXT_ROUTE, o as createDocsRobotsResponse, r as DOCS_ROBOTS_GENERATED_BLOCK_END, s as getDocsRobotsAllowRoutes, t as DEFAULT_DOCS_AI_ROBOTS_USER_AGENTS, u as resolveDocsRobotsConfig } from "./robots-BcP7nSfi.mjs";
5
5
 
@@ -1,4 +1,4 @@
1
- import "./search-DiFxtL5t.mjs";
1
+ import "./search-CAL0CTm4.mjs";
2
2
  import "./agent-DEr3FFdg.mjs";
3
3
  import "./sitemap-server-RZG9eOJB.mjs";
4
4
  import { createFilesystemDocsMcpSource, resolveDocsMcpConfig, runDocsMcpStdio } from "./mcp.mjs";
package/dist/mcp.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { Ct as DocsTelemetryConfig, J as DocsMcpConfig, Kt as OrderingItem, Ot as DocsTelemetryFramework, Q as DocsObservabilityConfig, bt as DocsSearchSourcePage, mt as DocsSearchConfig, v as DocsAnalyticsConfig } from "./types-5-f3AZ9z.mjs";
1
+ import { Ct as DocsTelemetryConfig, J as DocsMcpConfig, Kt as OrderingItem, Ot as DocsTelemetryFramework, Q as DocsObservabilityConfig, bt as DocsSearchSourcePage, mt as DocsSearchConfig, v as DocsAnalyticsConfig } from "./types-C5yQrqXc.mjs";
2
2
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
3
3
 
4
4
  //#region src/mcp.d.ts
package/dist/mcp.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { D as emitDocsTelemetryProjectEvent, E as emitDocsTelemetryMcpToolEvent, F as emitDocsAnalyticsEvent, M as createDocsAgentTraceContext, N as createDocsAgentTraceId, P as emitDocsAgentTraceEvent, u as performDocsSearch, w as emitDocsTelemetryAgentSurfaceEvent, x as resolvePageSidebarFolderIndexBehavior, y as stripGeneratedAgentProvenance } from "./search-DiFxtL5t.mjs";
1
+ import { D as emitDocsTelemetryProjectEvent, E as emitDocsTelemetryMcpToolEvent, F as emitDocsAnalyticsEvent, M as createDocsAgentTraceContext, N as createDocsAgentTraceId, P as emitDocsAgentTraceEvent, u as performDocsSearch, w as emitDocsTelemetryAgentSurfaceEvent, x as resolvePageSidebarFolderIndexBehavior, y as stripGeneratedAgentProvenance } from "./search-CAL0CTm4.mjs";
2
2
  import { Et as renderDocsRelatedMarkdownLines, Tt as normalizeDocsRelated } from "./agent-DEr3FFdg.mjs";
3
3
  import matter from "gray-matter";
4
4
  import fs from "node:fs";
@@ -461,8 +461,8 @@ function createDocsTelemetryEvent(config, input, context = {}) {
461
461
  const siteOrigin = context.siteOrigin ?? input.site?.origin ?? normalizeTelemetryOrigin(telemetryConfig?.siteOrigin) ?? readRequestOrigin(context.request) ?? readDeploymentOrigin();
462
462
  const deployment = input.deployment ?? detectDeployment();
463
463
  const properties = context.properties || input.properties ? {
464
- ...input.properties ?? {},
465
- ...context.properties ?? {}
464
+ ...input.properties,
465
+ ...context.properties
466
466
  } : void 0;
467
467
  return {
468
468
  ...input,
@@ -1,4 +1,4 @@
1
- import { $ as DocsObservabilityEvent, A as DocsAskAIMcpConfig, Q as DocsObservabilityConfig, Rt as McpDocsSearchConfig, Vt as OpenDocsProvider, Wt as OpenDocsTarget, b as DocsAnalyticsEventInput, bt as DocsSearchSourcePage, en as ResolvedDocsRelatedLink, et as DocsObservabilityEventInput, f as CustomDocsSearchConfig, ft as DocsSearchAdapterFactory, h as DocsAgentTraceEventInput, ht as DocsSearchDocument, mt as DocsSearchConfig, pt as DocsSearchChunkingConfig, r as AlgoliaDocsSearchConfig, un as TypesenseDocsSearchConfig, ut as DocsSearchAdapter, v as DocsAnalyticsConfig, vt as DocsSearchResult, xt as DocsSitemapConfig, y as DocsAnalyticsEvent } from "./types-5-f3AZ9z.mjs";
1
+ import { $ as DocsObservabilityEvent, A as DocsAskAIMcpConfig, Q as DocsObservabilityConfig, Rt as McpDocsSearchConfig, Vt as OpenDocsProvider, Wt as OpenDocsTarget, b as DocsAnalyticsEventInput, bt as DocsSearchSourcePage, en as ResolvedDocsRelatedLink, et as DocsObservabilityEventInput, f as CustomDocsSearchConfig, ft as DocsSearchAdapterFactory, h as DocsAgentTraceEventInput, ht as DocsSearchDocument, mt as DocsSearchConfig, pt as DocsSearchChunkingConfig, r as AlgoliaDocsSearchConfig, un as TypesenseDocsSearchConfig, ut as DocsSearchAdapter, v as DocsAnalyticsConfig, vt as DocsSearchResult, xt as DocsSitemapConfig, y as DocsAnalyticsEvent } from "./types-C5yQrqXc.mjs";
2
2
 
3
3
  //#region src/analytics.d.ts
4
4
  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"];
@@ -1,4 +1,4 @@
1
- import { n as buildDocsSearchDocuments, r as createAlgoliaSearchAdapter, s as createTypesenseSearchAdapter } from "./search-DiFxtL5t.mjs";
1
+ import { n as buildDocsSearchDocuments, r as createAlgoliaSearchAdapter, s as createTypesenseSearchAdapter } from "./search-CAL0CTm4.mjs";
2
2
  import "./agent-DEr3FFdg.mjs";
3
3
  import "./sitemap-server-RZG9eOJB.mjs";
4
4
  import { createFilesystemDocsMcpSource } from "./mcp.mjs";
package/dist/server.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { $ as DocsObservabilityEvent, A as DocsAskAIMcpConfig, D as DocsAskAIFeedbackData, E as DocsAskAIFeedbackConfig, O as DocsAskAIFeedbackMessage, Q as DocsObservabilityConfig, Rt as McpDocsSearchConfig, W as DocsConfig, _ as DocsAgentTraceStatus, _t as DocsSearchQuery, a as ApiReferenceRenderer, at as DocsReviewRulesConfig, b as DocsAnalyticsEventInput, bt as DocsSearchSourcePage, dt as DocsSearchAdapterContext, et as DocsObservabilityEventInput, ft as DocsSearchAdapterFactory, g as DocsAgentTraceEventType, h as DocsAgentTraceEventInput, ht as DocsSearchDocument, it as DocsReviewConfig, k as DocsAskAIFeedbackValue, mt as DocsSearchConfig, rt as DocsReviewCiMode, ut as DocsSearchAdapter, v as DocsAnalyticsConfig, vt as DocsSearchResult, xt as DocsSitemapConfig, y as DocsAnalyticsEvent } from "./types-5-f3AZ9z.mjs";
2
- import { $ as createDocsAgentTraceId, A as resolveDocsSitemapRequest, B as normalizePromptProviderName, C as buildDocsSitemapManifest, D as renderDocsSitemapXml, E as renderDocsSitemapMarkdown, F as DEFAULT_PROMPT_PROVIDER_TEMPLATES, G as serializeDocsIconRegistry, H as resolvePromptProviderChoices, I as PromptAction, J as DOCS_AGENT_TRACE_EVENT_TYPES, K as serializeOpenDocsProvider, L as PromptProviderChoice, M as DEFAULT_OPEN_DOCS_PROMPT, N as DEFAULT_OPEN_DOCS_PROVIDER_IDS, O as resolveDocsSitemapConfig, P as DEFAULT_OPEN_DOCS_TARGET, Q as createDocsAgentTraceContext, R as SerializeOpenDocsProviderOptions, S as DocsSitemapResolvedConfig, T as readDocsSitemapManifestFromContentMap, U as sanitizePromptText, V as parsePromptStringArray, W as serializeDocsIcon, X as ResolvedDocsAnalyticsConfig, Y as DocsAgentTraceContext, Z as ResolvedDocsObservabilityConfig, _ as DEFAULT_SITEMAP_XML_ROUTE, a as createMcpSearchAdapter, at as resolveDocsObservabilityConfig, b as DocsSitemapManifestPage, c as formatDocsAskAIPackageHints, d as resolveAskAISearchRequestConfig, et as emitDocsAgentTraceEvent, f as resolveSearchRequestConfig, g as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, h as DEFAULT_SITEMAP_MD_ROUTE, i as createCustomSearchAdapter, it as resolveDocsAnalyticsConfig, j as toDocsSitemapMarkdownUrl, k as resolveDocsSitemapPageLastmod, l as inferDocsAskAIPackageHints, m as DEFAULT_SITEMAP_MD_DOCS_ROUTE, n as buildDocsSearchDocuments, nt as emitDocsObservabilityEvent, o as createSimpleSearchAdapter, p as DEFAULT_SITEMAP_MANIFEST_PATH, q as serializeOpenDocsProviders, r as createAlgoliaSearchAdapter, rt as getDocsRequestAnalyticsProperties, s as createTypesenseSearchAdapter, t as buildDocsAskAIContext, tt as emitDocsAnalyticsEvent, u as performDocsSearch, v as DocsSitemapFormat, w as createDocsSitemapResponse, x as DocsSitemapPageInput, y as DocsSitemapManifest, z as SerializedOpenDocsProvider } from "./search-D_xnvMMK.mjs";
1
+ import { $ as DocsObservabilityEvent, A as DocsAskAIMcpConfig, D as DocsAskAIFeedbackData, E as DocsAskAIFeedbackConfig, O as DocsAskAIFeedbackMessage, Q as DocsObservabilityConfig, Rt as McpDocsSearchConfig, W as DocsConfig, _ as DocsAgentTraceStatus, _t as DocsSearchQuery, a as ApiReferenceRenderer, at as DocsReviewRulesConfig, b as DocsAnalyticsEventInput, bt as DocsSearchSourcePage, dt as DocsSearchAdapterContext, et as DocsObservabilityEventInput, ft as DocsSearchAdapterFactory, g as DocsAgentTraceEventType, h as DocsAgentTraceEventInput, ht as DocsSearchDocument, it as DocsReviewConfig, k as DocsAskAIFeedbackValue, mt as DocsSearchConfig, rt as DocsReviewCiMode, ut as DocsSearchAdapter, v as DocsAnalyticsConfig, vt as DocsSearchResult, xt as DocsSitemapConfig, y as DocsAnalyticsEvent } from "./types-C5yQrqXc.mjs";
2
+ import { $ as createDocsAgentTraceId, A as resolveDocsSitemapRequest, B as normalizePromptProviderName, C as buildDocsSitemapManifest, D as renderDocsSitemapXml, E as renderDocsSitemapMarkdown, F as DEFAULT_PROMPT_PROVIDER_TEMPLATES, G as serializeDocsIconRegistry, H as resolvePromptProviderChoices, I as PromptAction, J as DOCS_AGENT_TRACE_EVENT_TYPES, K as serializeOpenDocsProvider, L as PromptProviderChoice, M as DEFAULT_OPEN_DOCS_PROMPT, N as DEFAULT_OPEN_DOCS_PROVIDER_IDS, O as resolveDocsSitemapConfig, P as DEFAULT_OPEN_DOCS_TARGET, Q as createDocsAgentTraceContext, R as SerializeOpenDocsProviderOptions, S as DocsSitemapResolvedConfig, T as readDocsSitemapManifestFromContentMap, U as sanitizePromptText, V as parsePromptStringArray, W as serializeDocsIcon, X as ResolvedDocsAnalyticsConfig, Y as DocsAgentTraceContext, Z as ResolvedDocsObservabilityConfig, _ as DEFAULT_SITEMAP_XML_ROUTE, a as createMcpSearchAdapter, at as resolveDocsObservabilityConfig, b as DocsSitemapManifestPage, c as formatDocsAskAIPackageHints, d as resolveAskAISearchRequestConfig, et as emitDocsAgentTraceEvent, f as resolveSearchRequestConfig, g as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, h as DEFAULT_SITEMAP_MD_ROUTE, i as createCustomSearchAdapter, it as resolveDocsAnalyticsConfig, j as toDocsSitemapMarkdownUrl, k as resolveDocsSitemapPageLastmod, l as inferDocsAskAIPackageHints, m as DEFAULT_SITEMAP_MD_DOCS_ROUTE, n as buildDocsSearchDocuments, nt as emitDocsObservabilityEvent, o as createSimpleSearchAdapter, p as DEFAULT_SITEMAP_MANIFEST_PATH, q as serializeOpenDocsProviders, r as createAlgoliaSearchAdapter, rt as getDocsRequestAnalyticsProperties, s as createTypesenseSearchAdapter, t as buildDocsAskAIContext, tt as emitDocsAnalyticsEvent, u as performDocsSearch, v as DocsSitemapFormat, w as createDocsSitemapResponse, x as DocsSitemapPageInput, y as DocsSitemapManifest, z as SerializedOpenDocsProvider } from "./search-Cl5YUeI_.mjs";
3
3
  import { DocsMcpCodeExample, DocsMcpConfigSchema, DocsMcpConfigSchemaOption, DocsMcpDocsList, DocsMcpDocsPageSummary, DocsMcpDocsSection, DocsMcpHttpHandlers, DocsMcpNavigationNode, DocsMcpNavigationTree, DocsMcpPage, DocsMcpResolvedConfig, DocsMcpSource, createDocsMcpHttpHandler, createDocsMcpServer, createFilesystemDocsMcpSource, normalizeDocsMcpRoute, resolveDocsMcpConfig, runDocsMcpStdio } from "./mcp.mjs";
4
4
 
5
5
  //#region src/code-group-mdx.d.ts
package/dist/server.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { F as emitDocsAnalyticsEvent, I as emitDocsObservabilityEvent, L as getDocsRequestAnalyticsProperties, M as createDocsAgentTraceContext, N as createDocsAgentTraceId, P as emitDocsAgentTraceEvent, R as resolveDocsAnalyticsConfig, a as createMcpSearchAdapter, c as formatDocsAskAIPackageHints, d as resolveAskAISearchRequestConfig, f as resolveSearchRequestConfig, i as createCustomSearchAdapter, j as DOCS_AGENT_TRACE_EVENT_TYPES, l as inferDocsAskAIPackageHints, n as buildDocsSearchDocuments, o as createSimpleSearchAdapter, r as createAlgoliaSearchAdapter, s as createTypesenseSearchAdapter, t as buildDocsAskAIContext, u as performDocsSearch, z as resolveDocsObservabilityConfig } from "./search-DiFxtL5t.mjs";
1
+ import { F as emitDocsAnalyticsEvent, I as emitDocsObservabilityEvent, L as getDocsRequestAnalyticsProperties, M as createDocsAgentTraceContext, N as createDocsAgentTraceId, P as emitDocsAgentTraceEvent, R as resolveDocsAnalyticsConfig, a as createMcpSearchAdapter, c as formatDocsAskAIPackageHints, d as resolveAskAISearchRequestConfig, f as resolveSearchRequestConfig, i as createCustomSearchAdapter, j as DOCS_AGENT_TRACE_EVENT_TYPES, l as inferDocsAskAIPackageHints, n as buildDocsSearchDocuments, o as createSimpleSearchAdapter, r as createAlgoliaSearchAdapter, s as createTypesenseSearchAdapter, t as buildDocsAskAIContext, u as performDocsSearch, z as resolveDocsObservabilityConfig } from "./search-CAL0CTm4.mjs";
2
2
  import { Ct as resolveDocsSitemapRequest, St as resolveDocsSitemapPageLastmod, _t as createDocsSitemapResponse, bt as renderDocsSitemapXml, dt as DEFAULT_SITEMAP_MANIFEST_PATH, ft as DEFAULT_SITEMAP_MD_DOCS_ROUTE, gt as buildDocsSitemapManifest, ht as DEFAULT_SITEMAP_XML_ROUTE, mt as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, pt as DEFAULT_SITEMAP_MD_ROUTE, vt as readDocsSitemapManifestFromContentMap, wt as toDocsSitemapMarkdownUrl, xt as resolveDocsSitemapConfig, yt as renderDocsSitemapMarkdown } from "./agent-DEr3FFdg.mjs";
3
3
  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-RZG9eOJB.mjs";
4
4
  import { a as ensureDocsReviewWorkflow, i as buildDocsReviewWorkflowPathFilters, n as DEFAULT_DOCS_REVIEW_WORKFLOW_PATH, o as readDocsReviewConfigFromSource, r as buildDocsReviewWorkflow, s as resolveDocsReviewConfig, t as DEFAULT_DOCS_REVIEW_SCORE_THRESHOLD } from "./review-CJD85JTm.mjs";
@@ -1,4 +1,4 @@
1
- import "./search-DiFxtL5t.mjs";
1
+ import "./search-CAL0CTm4.mjs";
2
2
  import { bt as renderDocsSitemapXml, gt as buildDocsSitemapManifest, xt as resolveDocsSitemapConfig, yt as renderDocsSitemapMarkdown } from "./agent-DEr3FFdg.mjs";
3
3
  import "./sitemap-server-RZG9eOJB.mjs";
4
4
  import { createFilesystemDocsMcpSource } from "./mcp.mjs";
@@ -2179,22 +2179,27 @@ interface ApiReferenceConfig {
2179
2179
  }
2180
2180
  interface DocsAgentCompactConfig {
2181
2181
  /**
2182
- * Direct API key for the Token Company compression API.
2182
+ * Direct API key for the Docs Cloud compression API. Prefer `cloud.apiKey.env`
2183
+ * so all Docs Cloud CLI commands share the same root API key configuration.
2183
2184
  *
2184
- * Prefer `apiKeyEnv` for checked-in config files so secrets stay in the environment.
2185
+ * @deprecated Configure `cloud.apiKey.env` instead.
2185
2186
  */
2186
2187
  apiKey?: string;
2187
2188
  /**
2188
- * Environment variable name that stores the Token Company API key.
2189
+ * Environment variable name that stores the Docs Cloud API key. Prefer
2190
+ * `cloud.apiKey.env` so all Docs Cloud CLI commands share the same root API
2191
+ * key configuration.
2192
+ *
2193
+ * @deprecated Configure `cloud.apiKey.env` instead.
2189
2194
  */
2190
2195
  apiKeyEnv?: string;
2191
2196
  /**
2192
- * Base URL for the Token Company API.
2197
+ * Base URL for the compression API.
2193
2198
  */
2194
2199
  baseUrl?: string;
2195
2200
  /**
2196
2201
  * Compression model name.
2197
- * @default "bear-1.2"
2202
+ * @default "docs-cloud-compress-v1"
2198
2203
  */
2199
2204
  model?: string;
2200
2205
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farming-labs/docs",
3
- "version": "0.2.30",
3
+ "version": "0.2.31",
4
4
  "description": "Modern, flexible MDX-based docs framework — core types, config, and CLI",
5
5
  "keywords": [
6
6
  "docs",