@farming-labs/docs 0.1.120 → 0.1.122

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.
@@ -122,7 +122,7 @@ async function main() {
122
122
  }
123
123
  await runDoctor(doctorOptions);
124
124
  } else if (parsedCommand.command === "review") {
125
- const { parseReviewArgs, printReviewHelp, runReview } = await import("../review-BHFhvl2F.mjs");
125
+ const { parseReviewArgs, printReviewHelp, runReview } = await import("../review-DEG_UnxV.mjs");
126
126
  const reviewOptions = parseReviewArgs(args.slice(1));
127
127
  if (reviewOptions.help) {
128
128
  printReviewHelp();
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { $ as DocsSearchChunkingConfig, A as DocsConfig, At as PageTwitter, B as DocsObservabilityEventInput, Bt as SimpleDocsSearchConfig, C as DocsAskAIActionData, Ct as OpenDocsTarget, D as DocsAskAIFeedbackMessage, Dt as PageFrontmatter, E as DocsAskAIFeedbackData, Et as PageActionsConfig, F as DocsMcpToolsConfig, Ft as SidebarFolderIndexBehavior, G as DocsReviewRulesConfig, H as DocsReviewCiConfig, Ht as TypesenseDocsSearchConfig, I as DocsMetadata, It as SidebarFolderNode, J as DocsRobotsConfig, K as DocsReviewScoreConfig, L as DocsNav, Lt as SidebarNode, M as DocsFeedbackValue, Mt as ResolvedDocsRelatedLink, N as DocsI18nConfig, Nt as SidebarComponentProps, O as DocsAskAIFeedbackValue, Ot as PageOpenGraph, P as DocsMcpConfig, Pt as SidebarConfig, Q as DocsSearchAdapterFactory, R as DocsObservabilityConfig, Rt as SidebarPageNode, S as DocsAnalyticsSource, St as OpenDocsProviderId, T as DocsAskAIFeedbackConfig, Tt as OrderingItem, U as DocsReviewCiMode, Ut as TypographyConfig, V as DocsRelatedItem, Vt as ThemeToggleConfig, W as DocsReviewConfig, Wt as UIConfig, X as DocsSearchAdapter, Y as DocsRobotsRule, Z as DocsSearchAdapterContext, _ as DocsAnalyticsConfig, _t as McpDocsSearchConfig, a as ApiReferenceRenderer, at as DocsSearchResultType, b as DocsAnalyticsEventType, bt as OpenDocsProvider, c as ChangelogFrontmatter, ct as DocsTheme, d as CustomDocsSearchConfig, dt as GithubConfig, et as DocsSearchConfig, f as DocsAgentFeedbackContext, ft as LastUpdatedConfig, g as DocsAgentTraceStatus, gt as LlmsTxtSectionConfig, h as DocsAgentTraceEventType, ht as LlmsTxtMaxCharsMode, i as ApiReferenceConfig, it as DocsSearchResult, j as DocsFeedbackData, jt as ReadingTimeConfig, k as DocsAskAIMcpConfig, kt as PageSidebarFrontmatter, l as CodeBlockCopyData, lt as FeedbackConfig, m as DocsAgentTraceEventInput, mt as LlmsTxtMaxCharsConfig, n as AgentFeedbackConfig, nt as DocsSearchEmbeddingsConfig, o as BreadcrumbConfig, ot as DocsSearchSourcePage, p as DocsAgentFeedbackData, pt as LlmsTxtConfig, q as DocsReviewSeverity, r as AlgoliaDocsSearchConfig, rt as DocsSearchQuery, s as ChangelogConfig, st as DocsSitemapConfig, t as AIConfig, tt as DocsSearchDocument, u as CopyMarkdownConfig, ut as FontStyle, v as DocsAnalyticsEvent, vt as OGConfig, w as DocsAskAIActionType, wt as OpenGraphImage, x as DocsAnalyticsInput, xt as OpenDocsProviderConfig, y as DocsAnalyticsEventInput, yt as OpenDocsConfig, z as DocsObservabilityEvent, zt as SidebarTree } from "./types-DtBNjsk2.mjs";
2
- import { $ as emitDocsAgentTraceEvent, A as toDocsSitemapMarkdownUrl, C as createDocsSitemapResponse, D as resolveDocsSitemapConfig, E as renderDocsSitemapXml, F as PromptAction, I as PromptProviderChoice, J as DocsAgentTraceContext, L as SerializeOpenDocsProviderOptions, O as resolveDocsSitemapPageLastmod, Q as createDocsAgentTraceId, R as SerializedOpenDocsProvider, S as buildDocsSitemapManifest, T as renderDocsSitemapMarkdown, X as ResolvedDocsObservabilityConfig, Y as ResolvedDocsAnalyticsConfig, Z as createDocsAgentTraceContext, _ as DocsSitemapFormat, a as createMcpSearchAdapter, at as createDocsCloudAnalytics, b as DocsSitemapPageInput, c as formatDocsAskAIPackageHints, d as resolveAskAISearchRequestConfig, et as emitDocsAnalyticsEvent, f as resolveSearchRequestConfig, g as DEFAULT_SITEMAP_XML_ROUTE, h as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, i as createCustomSearchAdapter, it as DocsCloudAnalyticsOptions, k as resolveDocsSitemapRequest, l as inferDocsAskAIPackageHints, m as DEFAULT_SITEMAP_MD_ROUTE, n as buildDocsSearchDocuments, nt as resolveDocsAnalyticsConfig, o as createSimpleSearchAdapter, p as DEFAULT_SITEMAP_MANIFEST_PATH, q as DOCS_AGENT_TRACE_EVENT_TYPES, r as createAlgoliaSearchAdapter, rt as resolveDocsObservabilityConfig, s as createTypesenseSearchAdapter, t as buildDocsAskAIContext, tt as emitDocsObservabilityEvent, u as performDocsSearch, v as DocsSitemapManifest, w as readDocsSitemapManifestFromContentMap, x as DocsSitemapResolvedConfig, y as DocsSitemapManifestPage } from "./search-Dd0kOr6B.mjs";
1
+ import { $ as DocsSearchChunkingConfig, A as DocsConfig, At as PageTwitter, B as DocsObservabilityEventInput, Bt as SimpleDocsSearchConfig, C as DocsAskAIActionData, Ct as OpenDocsTarget, D as DocsAskAIFeedbackMessage, Dt as PageFrontmatter, E as DocsAskAIFeedbackData, Et as PageActionsConfig, F as DocsMcpToolsConfig, Ft as SidebarFolderIndexBehavior, G as DocsReviewRulesConfig, H as DocsReviewCiConfig, Ht as TypesenseDocsSearchConfig, I as DocsMetadata, It as SidebarFolderNode, J as DocsRobotsConfig, K as DocsReviewScoreConfig, L as DocsNav, Lt as SidebarNode, M as DocsFeedbackValue, Mt as ResolvedDocsRelatedLink, N as DocsI18nConfig, Nt as SidebarComponentProps, O as DocsAskAIFeedbackValue, Ot as PageOpenGraph, P as DocsMcpConfig, Pt as SidebarConfig, Q as DocsSearchAdapterFactory, R as DocsObservabilityConfig, Rt as SidebarPageNode, S as DocsAnalyticsSource, St as OpenDocsProviderId, T as DocsAskAIFeedbackConfig, Tt as OrderingItem, U as DocsReviewCiMode, Ut as TypographyConfig, V as DocsRelatedItem, Vt as ThemeToggleConfig, W as DocsReviewConfig, Wt as UIConfig, X as DocsSearchAdapter, Y as DocsRobotsRule, Z as DocsSearchAdapterContext, _ as DocsAnalyticsConfig, _t as McpDocsSearchConfig, a as ApiReferenceRenderer, at as DocsSearchResultType, b as DocsAnalyticsEventType, bt as OpenDocsProvider, c as ChangelogFrontmatter, ct as DocsTheme, d as CustomDocsSearchConfig, dt as GithubConfig, et as DocsSearchConfig, f as DocsAgentFeedbackContext, ft as LastUpdatedConfig, g as DocsAgentTraceStatus, gt as LlmsTxtSectionConfig, h as DocsAgentTraceEventType, ht as LlmsTxtMaxCharsMode, i as ApiReferenceConfig, it as DocsSearchResult, j as DocsFeedbackData, jt as ReadingTimeConfig, k as DocsAskAIMcpConfig, kt as PageSidebarFrontmatter, l as CodeBlockCopyData, lt as FeedbackConfig, m as DocsAgentTraceEventInput, mt as LlmsTxtMaxCharsConfig, n as AgentFeedbackConfig, nt as DocsSearchEmbeddingsConfig, o as BreadcrumbConfig, ot as DocsSearchSourcePage, p as DocsAgentFeedbackData, pt as LlmsTxtConfig, q as DocsReviewSeverity, r as AlgoliaDocsSearchConfig, rt as DocsSearchQuery, s as ChangelogConfig, st as DocsSitemapConfig, t as AIConfig, tt as DocsSearchDocument, u as CopyMarkdownConfig, ut as FontStyle, v as DocsAnalyticsEvent, vt as OGConfig, w as DocsAskAIActionType, wt as OpenGraphImage, x as DocsAnalyticsInput, xt as OpenDocsProviderConfig, y as DocsAnalyticsEventInput, yt as OpenDocsConfig, z as DocsObservabilityEvent, zt as SidebarTree } from "./types-CHD7M60f.mjs";
2
+ import { $ as emitDocsAgentTraceEvent, A as toDocsSitemapMarkdownUrl, C as createDocsSitemapResponse, D as resolveDocsSitemapConfig, E as renderDocsSitemapXml, F as PromptAction, I as PromptProviderChoice, J as DocsAgentTraceContext, L as SerializeOpenDocsProviderOptions, O as resolveDocsSitemapPageLastmod, Q as createDocsAgentTraceId, R as SerializedOpenDocsProvider, S as buildDocsSitemapManifest, T as renderDocsSitemapMarkdown, X as ResolvedDocsObservabilityConfig, Y as ResolvedDocsAnalyticsConfig, Z as createDocsAgentTraceContext, _ as DocsSitemapFormat, a as createMcpSearchAdapter, at as createDocsCloudAnalytics, b as DocsSitemapPageInput, c as formatDocsAskAIPackageHints, d as resolveAskAISearchRequestConfig, et as emitDocsAnalyticsEvent, f as resolveSearchRequestConfig, g as DEFAULT_SITEMAP_XML_ROUTE, h as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, i as createCustomSearchAdapter, it as DocsCloudAnalyticsOptions, k as resolveDocsSitemapRequest, l as inferDocsAskAIPackageHints, m as DEFAULT_SITEMAP_MD_ROUTE, n as buildDocsSearchDocuments, nt as resolveDocsAnalyticsConfig, o as createSimpleSearchAdapter, p as DEFAULT_SITEMAP_MANIFEST_PATH, q as DOCS_AGENT_TRACE_EVENT_TYPES, r as createAlgoliaSearchAdapter, rt as resolveDocsObservabilityConfig, s as createTypesenseSearchAdapter, t as buildDocsAskAIContext, tt as emitDocsObservabilityEvent, u as performDocsSearch, v as DocsSitemapManifest, w as readDocsSitemapManifestFromContentMap, x as DocsSitemapResolvedConfig, y as DocsSitemapManifestPage } from "./search-DSgDbYBT.mjs";
3
3
  import { DocsMcpPage, DocsMcpResolvedConfig } from "./mcp.mjs";
4
4
 
5
5
  //#region src/define-docs.d.ts
package/dist/mcp.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { P as DocsMcpConfig, R as DocsObservabilityConfig, Tt as OrderingItem, _ as DocsAnalyticsConfig, et as DocsSearchConfig, ot as DocsSearchSourcePage } from "./types-DtBNjsk2.mjs";
1
+ import { P as DocsMcpConfig, R as DocsObservabilityConfig, Tt as OrderingItem, _ as DocsAnalyticsConfig, et as DocsSearchConfig, ot as DocsSearchSourcePage } from "./types-CHD7M60f.mjs";
2
2
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
3
3
 
4
4
  //#region src/mcp.d.ts
@@ -3,7 +3,12 @@ import { dirname, isAbsolute, join, relative } from "node:path";
3
3
 
4
4
  //#region src/review.ts
5
5
  const DEFAULT_DOCS_REVIEW_WORKFLOW_PATH = ".github/workflows/docs-review.yml";
6
+ const DEFAULT_DOCS_REVIEW_REUSABLE_WORKFLOW_PATH = ".github/workflows/docs-review-reusable.yml";
7
+ const DEFAULT_DOCS_REVIEW_REUSABLE_WORKFLOW = "farming-labs/docs/.github/workflows/docs-review-reusable.yml@main";
8
+ const LOCAL_DOCS_REVIEW_REUSABLE_WORKFLOW = "./.github/workflows/docs-review-reusable.yml";
9
+ const DEFAULT_DOCS_REVIEW_PNPM_VERSION = "10";
6
10
  const DEFAULT_DOCS_REVIEW_SCORE_THRESHOLD = 80;
11
+ const DEFAULT_DOCS_REVIEW_CI_NAME = "docs-review";
7
12
  const DEFAULT_REVIEW_RULES = {
8
13
  brokenLinks: "error",
9
14
  frontmatter: "error",
@@ -41,6 +46,7 @@ function resolveDocsReviewConfig(review) {
41
46
  enabled: false,
42
47
  ci: {
43
48
  enabled: false,
49
+ name: DEFAULT_DOCS_REVIEW_CI_NAME,
44
50
  mode: "off",
45
51
  annotations: false,
46
52
  comment: false
@@ -62,6 +68,7 @@ function resolveDocsReviewConfig(review) {
62
68
  enabled,
63
69
  ci: {
64
70
  enabled: ciEnabled,
71
+ name: normalizeCiName(ciObject.name),
65
72
  mode: ciEnabled ? mode : "off",
66
73
  annotations: ciObject.annotations !== false,
67
74
  comment: ciObject.comment !== false
@@ -82,13 +89,20 @@ function resolveDocsReviewConfig(review) {
82
89
  }
83
90
  function buildDocsReviewWorkflow(options = {}) {
84
91
  const packageManager = options.packageManager ?? "npm";
92
+ const ciName = normalizeCiName(options.ciName);
85
93
  const projectDir = normalizeProjectDir(options.projectDir);
86
- const configArg = options.configPath ? ` --config ${shellQuote(options.configPath)}` : "";
87
- const reviewCommand = `${options.reviewCommand ?? reviewCommandForPackageManager(packageManager)} review --ci${configArg}`;
94
+ const configPath = options.configPath ?? "docs.config.ts";
95
+ const reusableWorkflow = options.reusableWorkflow ?? DEFAULT_DOCS_REVIEW_REUSABLE_WORKFLOW;
88
96
  const filters = normalizePathFilters(options.pathFilters);
89
- const installSteps = buildInstallSteps(packageManager);
90
- const buildStep = options.buildCommand ? `\n - name: Build docs CLI\n run: ${options.buildCommand}\n` : "";
91
- const workingDirectoryLine = projectDir === "." ? "" : `\n working-directory: ${projectDir}`;
97
+ const workflowInputs = [
98
+ ["check-name", ciName],
99
+ ["config", configPath],
100
+ ["working-directory", projectDir],
101
+ ["package-manager", packageManager],
102
+ options.pnpmVersion ? ["pnpm-version", options.pnpmVersion] : void 0,
103
+ options.buildCommand ? ["build-command", options.buildCommand] : void 0,
104
+ options.reviewCommand ? ["review-command", options.reviewCommand] : void 0
105
+ ].filter((input) => Boolean(input)).map(([key, value]) => ` ${key}: ${JSON.stringify(value)}`).join("\n");
92
106
  return `# Generated by @farming-labs/docs. You can edit this file.
93
107
  name: Docs Review
94
108
 
@@ -104,17 +118,14 @@ permissions:
104
118
 
105
119
  jobs:
106
120
  docs-review:
107
- runs-on: ubuntu-latest
108
- steps:
109
- - uses: actions/checkout@v4
110
- with:
111
- fetch-depth: 0
112
-
113
- ${installSteps}
114
- ${buildStep}
115
-
116
- - name: Review docs
117
- run: ${reviewCommand}${workingDirectoryLine}
121
+ name: ${JSON.stringify(ciName)}
122
+ uses: ${reusableWorkflow}
123
+ with:
124
+ ${workflowInputs}
125
+ permissions:
126
+ contents: read
127
+ checks: write
128
+ pull-requests: write
118
129
  `;
119
130
  }
120
131
  function ensureDocsReviewWorkflow(options) {
@@ -140,6 +151,9 @@ function ensureDocsReviewWorkflow(options) {
140
151
  const packageManager = detectPackageManager(repoRoot);
141
152
  const workflow = buildDocsReviewWorkflow({
142
153
  packageManager,
154
+ ciName: review.ci.name,
155
+ reusableWorkflow: hasLocalDocsWorkspacePackage(repoRoot) ? LOCAL_DOCS_REVIEW_REUSABLE_WORKFLOW : DEFAULT_DOCS_REVIEW_REUSABLE_WORKFLOW,
156
+ pnpmVersion: detectPnpmVersionFallback(repoRoot, packageManager),
143
157
  projectDir,
144
158
  configPath,
145
159
  buildCommand: detectLocalDocsCliBuildCommand(repoRoot, packageManager),
@@ -203,7 +217,8 @@ function buildDocsReviewWorkflowPathFilters(options) {
203
217
  prefixPath(projectPrefix, "content/docs/**"),
204
218
  prefixPath(projectPrefix, "src/content/docs/**"),
205
219
  prefixPath(projectPrefix, "src/lib/docs.config.*"),
206
- DEFAULT_DOCS_REVIEW_WORKFLOW_PATH
220
+ DEFAULT_DOCS_REVIEW_WORKFLOW_PATH,
221
+ DEFAULT_DOCS_REVIEW_REUSABLE_WORKFLOW_PATH
207
222
  ];
208
223
  return Array.from(new Set(candidates.filter((candidate) => Boolean(candidate))));
209
224
  }
@@ -214,6 +229,9 @@ function normalizeRules(rules) {
214
229
  function normalizeWeight(value, fallback) {
215
230
  return typeof value === "number" && Number.isFinite(value) && value >= 0 ? value : fallback;
216
231
  }
232
+ function normalizeCiName(value) {
233
+ return value?.trim() || DEFAULT_DOCS_REVIEW_CI_NAME;
234
+ }
217
235
  function clampScoreThreshold(value) {
218
236
  if (typeof value !== "number" || !Number.isFinite(value)) return DEFAULT_DOCS_REVIEW_SCORE_THRESHOLD;
219
237
  return Math.min(100, Math.max(0, Math.round(value)));
@@ -225,6 +243,7 @@ function readReviewCiObject(source, cursor) {
225
243
  const mode = readTopLevelString(block, "mode");
226
244
  return {
227
245
  enabled: readTopLevelBoolean(block, "enabled"),
246
+ name: readTopLevelString(block, "name"),
228
247
  mode: mode && REVIEW_CI_MODES.has(mode) ? mode : void 0,
229
248
  annotations: readTopLevelBoolean(block, "annotations"),
230
249
  comment: readTopLevelBoolean(block, "comment")
@@ -260,6 +279,13 @@ function detectLocalDocsCliBuildCommand(repoRoot, packageManager) {
260
279
  if (packageManager === "bun") return "bun run --filter @farming-labs/docs build";
261
280
  return "npm run build --workspace=@farming-labs/docs";
262
281
  }
282
+ function detectPnpmVersionFallback(repoRoot, packageManager) {
283
+ if (packageManager !== "pnpm") return void 0;
284
+ try {
285
+ if (JSON.parse(readFileSync(join(repoRoot, "package.json"), "utf-8")).packageManager?.startsWith("pnpm@")) return void 0;
286
+ } catch {}
287
+ return DEFAULT_DOCS_REVIEW_PNPM_VERSION;
288
+ }
263
289
  function detectLocalDocsCliReviewCommand(repoRoot, rootDir) {
264
290
  if (!hasLocalDocsWorkspacePackage(repoRoot)) return void 0;
265
291
  return `node ${shellQuote(toPosixPath(relative(rootDir, join(repoRoot, "packages", "docs", "dist", "cli", "index.mjs"))) || "./packages/docs/dist/cli/index.mjs")}`;
@@ -274,44 +300,6 @@ function hasLocalDocsWorkspacePackage(repoRoot) {
274
300
  return false;
275
301
  }
276
302
  }
277
- function buildInstallSteps(packageManager) {
278
- if (packageManager === "pnpm") return ` - uses: pnpm/action-setup@v4
279
-
280
- - uses: actions/setup-node@v4
281
- with:
282
- node-version: 20
283
- cache: pnpm
284
-
285
- - name: Install dependencies
286
- run: pnpm install --frozen-lockfile`;
287
- if (packageManager === "yarn") return ` - uses: actions/setup-node@v4
288
- with:
289
- node-version: 20
290
- cache: yarn
291
-
292
- - name: Enable Corepack
293
- run: corepack enable
294
-
295
- - name: Install dependencies
296
- run: yarn install --immutable || yarn install --frozen-lockfile`;
297
- if (packageManager === "bun") return ` - uses: oven-sh/setup-bun@v2
298
-
299
- - name: Install dependencies
300
- run: bun install --frozen-lockfile`;
301
- return ` - uses: actions/setup-node@v4
302
- with:
303
- node-version: 20
304
- cache: npm
305
-
306
- - name: Install dependencies
307
- run: npm ci`;
308
- }
309
- function reviewCommandForPackageManager(packageManager) {
310
- if (packageManager === "pnpm") return "pnpm exec docs";
311
- if (packageManager === "yarn") return "yarn exec docs";
312
- if (packageManager === "bun") return "bunx docs";
313
- return "npx --no-install docs";
314
- }
315
303
  function shellQuote(value) {
316
304
  if (/^[A-Za-z0-9_./:-]+$/.test(value)) return value;
317
305
  return `'${value.replaceAll("'", "'\\''")}'`;
@@ -1,4 +1,4 @@
1
- import { a as ensureDocsReviewWorkflow, o as readDocsReviewConfigFromSource, s as resolveDocsReviewConfig } from "./review-_5fnI667.mjs";
1
+ import { a as ensureDocsReviewWorkflow, o as readDocsReviewConfigFromSource, s as resolveDocsReviewConfig } from "./review-B7goPYUb.mjs";
2
2
  import { d as readTopLevelStringProperty, f as resolveDocsConfigPath, i as loadDocsConfigModule, p as resolveDocsContentDir } from "./config-BHRL4R2v.mjs";
3
3
  import matter from "gray-matter";
4
4
  import { existsSync, lstatSync, readFileSync, readdirSync } from "node:fs";
@@ -1,4 +1,4 @@
1
- import { $ as DocsSearchChunkingConfig, B as DocsObservabilityEventInput, Ct as OpenDocsTarget, Ht as TypesenseDocsSearchConfig, Mt as ResolvedDocsRelatedLink, Q as DocsSearchAdapterFactory, R as DocsObservabilityConfig, X as DocsSearchAdapter, _ as DocsAnalyticsConfig, _t as McpDocsSearchConfig, bt as OpenDocsProvider, d as CustomDocsSearchConfig, et as DocsSearchConfig, it as DocsSearchResult, k as DocsAskAIMcpConfig, m as DocsAgentTraceEventInput, ot as DocsSearchSourcePage, r as AlgoliaDocsSearchConfig, st as DocsSitemapConfig, tt as DocsSearchDocument, v as DocsAnalyticsEvent, y as DocsAnalyticsEventInput, z as DocsObservabilityEvent } from "./types-DtBNjsk2.mjs";
1
+ import { $ as DocsSearchChunkingConfig, B as DocsObservabilityEventInput, Ct as OpenDocsTarget, Ht as TypesenseDocsSearchConfig, Mt as ResolvedDocsRelatedLink, Q as DocsSearchAdapterFactory, R as DocsObservabilityConfig, X as DocsSearchAdapter, _ as DocsAnalyticsConfig, _t as McpDocsSearchConfig, bt as OpenDocsProvider, d as CustomDocsSearchConfig, et as DocsSearchConfig, it as DocsSearchResult, k as DocsAskAIMcpConfig, m as DocsAgentTraceEventInput, ot as DocsSearchSourcePage, r as AlgoliaDocsSearchConfig, st as DocsSitemapConfig, tt as DocsSearchDocument, v as DocsAnalyticsEvent, y as DocsAnalyticsEventInput, z as DocsObservabilityEvent } from "./types-CHD7M60f.mjs";
2
2
 
3
3
  //#region src/cloud-analytics.d.ts
4
4
  interface DocsCloudAnalyticsOptions {
package/dist/server.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { A as DocsConfig, B as DocsObservabilityEventInput, D as DocsAskAIFeedbackMessage, E as DocsAskAIFeedbackData, G as DocsReviewRulesConfig, O as DocsAskAIFeedbackValue, Q as DocsSearchAdapterFactory, R as DocsObservabilityConfig, T as DocsAskAIFeedbackConfig, U as DocsReviewCiMode, W as DocsReviewConfig, X as DocsSearchAdapter, Z as DocsSearchAdapterContext, _ as DocsAnalyticsConfig, _t as McpDocsSearchConfig, a as ApiReferenceRenderer, et as DocsSearchConfig, g as DocsAgentTraceStatus, h as DocsAgentTraceEventType, it as DocsSearchResult, k as DocsAskAIMcpConfig, m as DocsAgentTraceEventInput, ot as DocsSearchSourcePage, rt as DocsSearchQuery, st as DocsSitemapConfig, tt as DocsSearchDocument, v as DocsAnalyticsEvent, y as DocsAnalyticsEventInput, z as DocsObservabilityEvent } from "./types-DtBNjsk2.mjs";
2
- import { $ as emitDocsAgentTraceEvent, A as toDocsSitemapMarkdownUrl, B as parsePromptStringArray, C as createDocsSitemapResponse, D as resolveDocsSitemapConfig, E as renderDocsSitemapXml, F as PromptAction, G as serializeOpenDocsProvider, H as sanitizePromptText, I as PromptProviderChoice, J as DocsAgentTraceContext, K as serializeOpenDocsProviders, L as SerializeOpenDocsProviderOptions, M as DEFAULT_OPEN_DOCS_PROVIDER_IDS, N as DEFAULT_OPEN_DOCS_TARGET, O as resolveDocsSitemapPageLastmod, P as DEFAULT_PROMPT_PROVIDER_TEMPLATES, Q as createDocsAgentTraceId, R as SerializedOpenDocsProvider, S as buildDocsSitemapManifest, T as renderDocsSitemapMarkdown, U as serializeDocsIcon, V as resolvePromptProviderChoices, W as serializeDocsIconRegistry, X as ResolvedDocsObservabilityConfig, Y as ResolvedDocsAnalyticsConfig, Z as createDocsAgentTraceContext, _ as DocsSitemapFormat, a as createMcpSearchAdapter, at as createDocsCloudAnalytics, b as DocsSitemapPageInput, c as formatDocsAskAIPackageHints, d as resolveAskAISearchRequestConfig, et as emitDocsAnalyticsEvent, f as resolveSearchRequestConfig, g as DEFAULT_SITEMAP_XML_ROUTE, h as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, i as createCustomSearchAdapter, it as DocsCloudAnalyticsOptions, j as DEFAULT_OPEN_DOCS_PROMPT, k as resolveDocsSitemapRequest, l as inferDocsAskAIPackageHints, m as DEFAULT_SITEMAP_MD_ROUTE, n as buildDocsSearchDocuments, nt as resolveDocsAnalyticsConfig, o as createSimpleSearchAdapter, p as DEFAULT_SITEMAP_MANIFEST_PATH, q as DOCS_AGENT_TRACE_EVENT_TYPES, r as createAlgoliaSearchAdapter, rt as resolveDocsObservabilityConfig, s as createTypesenseSearchAdapter, t as buildDocsAskAIContext, tt as emitDocsObservabilityEvent, u as performDocsSearch, v as DocsSitemapManifest, w as readDocsSitemapManifestFromContentMap, x as DocsSitemapResolvedConfig, y as DocsSitemapManifestPage, z as normalizePromptProviderName } from "./search-Dd0kOr6B.mjs";
1
+ import { A as DocsConfig, B as DocsObservabilityEventInput, D as DocsAskAIFeedbackMessage, E as DocsAskAIFeedbackData, G as DocsReviewRulesConfig, O as DocsAskAIFeedbackValue, Q as DocsSearchAdapterFactory, R as DocsObservabilityConfig, T as DocsAskAIFeedbackConfig, U as DocsReviewCiMode, W as DocsReviewConfig, X as DocsSearchAdapter, Z as DocsSearchAdapterContext, _ as DocsAnalyticsConfig, _t as McpDocsSearchConfig, a as ApiReferenceRenderer, et as DocsSearchConfig, g as DocsAgentTraceStatus, h as DocsAgentTraceEventType, it as DocsSearchResult, k as DocsAskAIMcpConfig, m as DocsAgentTraceEventInput, ot as DocsSearchSourcePage, rt as DocsSearchQuery, st as DocsSitemapConfig, tt as DocsSearchDocument, v as DocsAnalyticsEvent, y as DocsAnalyticsEventInput, z as DocsObservabilityEvent } from "./types-CHD7M60f.mjs";
2
+ import { $ as emitDocsAgentTraceEvent, A as toDocsSitemapMarkdownUrl, B as parsePromptStringArray, C as createDocsSitemapResponse, D as resolveDocsSitemapConfig, E as renderDocsSitemapXml, F as PromptAction, G as serializeOpenDocsProvider, H as sanitizePromptText, I as PromptProviderChoice, J as DocsAgentTraceContext, K as serializeOpenDocsProviders, L as SerializeOpenDocsProviderOptions, M as DEFAULT_OPEN_DOCS_PROVIDER_IDS, N as DEFAULT_OPEN_DOCS_TARGET, O as resolveDocsSitemapPageLastmod, P as DEFAULT_PROMPT_PROVIDER_TEMPLATES, Q as createDocsAgentTraceId, R as SerializedOpenDocsProvider, S as buildDocsSitemapManifest, T as renderDocsSitemapMarkdown, U as serializeDocsIcon, V as resolvePromptProviderChoices, W as serializeDocsIconRegistry, X as ResolvedDocsObservabilityConfig, Y as ResolvedDocsAnalyticsConfig, Z as createDocsAgentTraceContext, _ as DocsSitemapFormat, a as createMcpSearchAdapter, at as createDocsCloudAnalytics, b as DocsSitemapPageInput, c as formatDocsAskAIPackageHints, d as resolveAskAISearchRequestConfig, et as emitDocsAnalyticsEvent, f as resolveSearchRequestConfig, g as DEFAULT_SITEMAP_XML_ROUTE, h as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, i as createCustomSearchAdapter, it as DocsCloudAnalyticsOptions, j as DEFAULT_OPEN_DOCS_PROMPT, k as resolveDocsSitemapRequest, l as inferDocsAskAIPackageHints, m as DEFAULT_SITEMAP_MD_ROUTE, n as buildDocsSearchDocuments, nt as resolveDocsAnalyticsConfig, o as createSimpleSearchAdapter, p as DEFAULT_SITEMAP_MANIFEST_PATH, q as DOCS_AGENT_TRACE_EVENT_TYPES, r as createAlgoliaSearchAdapter, rt as resolveDocsObservabilityConfig, s as createTypesenseSearchAdapter, t as buildDocsAskAIContext, tt as emitDocsObservabilityEvent, u as performDocsSearch, v as DocsSitemapManifest, w as readDocsSitemapManifestFromContentMap, x as DocsSitemapResolvedConfig, y as DocsSitemapManifestPage, z as normalizePromptProviderName } from "./search-DSgDbYBT.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/api-reference.d.ts
@@ -59,6 +59,7 @@ interface ResolvedDocsReviewConfig {
59
59
  enabled: boolean;
60
60
  ci: {
61
61
  enabled: boolean;
62
+ name: string;
62
63
  mode: DocsReviewCiMode;
63
64
  annotations: boolean;
64
65
  comment: boolean;
@@ -75,6 +76,9 @@ interface ResolvedDocsReviewConfig {
75
76
  }
76
77
  interface DocsReviewWorkflowOptions {
77
78
  packageManager?: "npm" | "pnpm" | "yarn" | "bun";
79
+ ciName?: string;
80
+ reusableWorkflow?: string;
81
+ pnpmVersion?: string;
78
82
  projectDir?: string;
79
83
  configPath?: string;
80
84
  buildCommand?: string;
package/dist/server.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { A as resolveDocsAnalyticsConfig, D as emitDocsAgentTraceEvent, E as createDocsAgentTraceId, M as createDocsCloudAnalytics, O as emitDocsAnalyticsEvent, T as createDocsAgentTraceContext, a as createMcpSearchAdapter, c as formatDocsAskAIPackageHints, d as resolveAskAISearchRequestConfig, f as resolveSearchRequestConfig, i as createCustomSearchAdapter, j as resolveDocsObservabilityConfig, k as emitDocsObservabilityEvent, l as inferDocsAskAIPackageHints, n as buildDocsSearchDocuments, o as createSimpleSearchAdapter, r as createAlgoliaSearchAdapter, s as createTypesenseSearchAdapter, t as buildDocsAskAIContext, u as performDocsSearch, w as DOCS_AGENT_TRACE_EVENT_TYPES } from "./search-BL7o2rXk.mjs";
2
2
  import { a as buildDocsSitemapManifest, c as renderDocsSitemapMarkdown, d as resolveDocsSitemapPageLastmod, f as resolveDocsSitemapRequest, i as DEFAULT_SITEMAP_XML_ROUTE, l as renderDocsSitemapXml, n as DEFAULT_SITEMAP_MD_ROUTE, o as createDocsSitemapResponse, p as toDocsSitemapMarkdownUrl, r as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, s as readDocsSitemapManifestFromContentMap, t as DEFAULT_SITEMAP_MANIFEST_PATH, u as resolveDocsSitemapConfig } from "./sitemap-CnqcTdQg.mjs";
3
3
  import { C as resolveApiReferenceOpenApiDiscovery, S as resolveApiReferenceConfig, _ 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-DdHzJorR.mjs";
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-_5fnI667.mjs";
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-B7goPYUb.mjs";
5
5
  import { createDocsMcpHttpHandler, createDocsMcpServer, createFilesystemDocsMcpSource, normalizeDocsMcpRoute, resolveDocsMcpConfig, runDocsMcpStdio } from "./mcp.mjs";
6
6
 
7
7
  export { DEFAULT_API_REFERENCE_OPENAPI_ROUTE, DEFAULT_DOCS_REVIEW_SCORE_THRESHOLD, DEFAULT_DOCS_REVIEW_WORKFLOW_PATH, DEFAULT_OPEN_DOCS_PROMPT, DEFAULT_OPEN_DOCS_PROVIDER_IDS, DEFAULT_OPEN_DOCS_TARGET, DEFAULT_PROMPT_PROVIDER_TEMPLATES, DEFAULT_SITEMAP_MANIFEST_PATH, DEFAULT_SITEMAP_MD_ROUTE, DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, DEFAULT_SITEMAP_XML_ROUTE, DOCS_AGENT_TRACE_EVENT_TYPES, buildApiReferenceHtmlDocument, buildApiReferenceHtmlDocumentAsync, buildApiReferenceOpenApiDocument, buildApiReferenceOpenApiDocumentAsync, buildApiReferencePageTitle, buildApiReferenceScalarCss, buildDocsAskAIContext, buildDocsReviewWorkflow, buildDocsReviewWorkflowPathFilters, buildDocsSearchDocuments, buildDocsSitemapManifest, createAlgoliaSearchAdapter, createCustomSearchAdapter, createDocsAgentTraceContext, createDocsAgentTraceId, createDocsCloudAnalytics, createDocsMcpHttpHandler, createDocsMcpServer, createDocsSitemapResponse, createFilesystemDocsMcpSource, createMcpSearchAdapter, createSimpleSearchAdapter, createTypesenseSearchAdapter, emitDocsAgentTraceEvent, emitDocsAnalyticsEvent, emitDocsObservabilityEvent, ensureDocsReviewWorkflow, formatDocsAskAIPackageHints, inferDocsAskAIPackageHints, isApiReferenceOpenApiRequest, normalizeDocsMcpRoute, normalizePromptProviderName, parsePromptStringArray, performDocsSearch, readDocsReviewConfigFromSource, readDocsSitemapManifest, readDocsSitemapManifestFromContentMap, renderDocsSitemapMarkdown, renderDocsSitemapXml, resolveApiReferenceConfig, resolveApiReferenceOpenApiDiscovery, resolveApiReferenceRenderer, resolveAskAISearchRequestConfig, resolveDocsAnalyticsConfig, resolveDocsMcpConfig, resolveDocsObservabilityConfig, resolveDocsReviewConfig, resolveDocsSitemapConfig, resolveDocsSitemapPageLastmod, resolveDocsSitemapRequest, resolvePromptProviderChoices, resolveSearchRequestConfig, runDocsMcpStdio, sanitizePromptText, serializeDocsIcon, serializeDocsIconRegistry, serializeOpenDocsProvider, serializeOpenDocsProviders, toDocsSitemapMarkdownUrl };
@@ -2074,6 +2074,12 @@ interface DocsReviewCiConfig {
2074
2074
  * @default true
2075
2075
  */
2076
2076
  enabled?: boolean;
2077
+ /**
2078
+ * GitHub Actions job/check name for the generated workflow.
2079
+ *
2080
+ * @default "docs-review"
2081
+ */
2082
+ name?: string;
2077
2083
  /**
2078
2084
  * How CI should treat unhealthy review results.
2079
2085
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farming-labs/docs",
3
- "version": "0.1.120",
3
+ "version": "0.1.122",
4
4
  "description": "Modern, flexible MDX-based docs framework — core types, config, and CLI",
5
5
  "keywords": [
6
6
  "docs",