@mintlify/link-rot 3.0.1332 → 3.0.1334

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.
@@ -8,8 +8,12 @@ export declare const decorateGraphNodeFromPageContent: (graphNode: Node, content
8
8
  }) => Promise<void>;
9
9
  export declare const buildGraph: (repoPath?: string, options?: {
10
10
  checkSnippets?: boolean;
11
+ /** SSRF-safe fetch override for hosted spec and overlay URLs; supplied by server environments. */
12
+ fetchRemoteDocument?: (url: string) => Promise<unknown>;
11
13
  }) => Promise<Graph>;
12
14
  export declare const getBrokenInternalLinks: (repoPath?: string, options?: {
13
15
  checkAnchors?: boolean;
14
16
  checkSnippets?: boolean;
17
+ /** SSRF-safe fetch override for hosted spec and overlay URLs; supplied by server environments. */
18
+ fetchRemoteDocument?: (url: string) => Promise<unknown>;
15
19
  }) => Promise<import("../graph.js").MdxPath[]>;
@@ -116,7 +116,9 @@ export const buildGraph = (repoPath, options) => __awaiter(void 0, void 0, void
116
116
  graph.setRedirects(redirectMappings);
117
117
  graph.addAliasNodes();
118
118
  try {
119
- const openApiPagePaths = yield getOpenApiPagePaths(baseDir);
119
+ const openApiPagePaths = yield getOpenApiPagePaths(baseDir, {
120
+ fetchRemoteDocument: options === null || options === void 0 ? void 0 : options.fetchRemoteDocument,
121
+ });
120
122
  graph.addVirtualNodes(openApiPagePaths);
121
123
  }
122
124
  catch (err) {
@@ -159,6 +161,7 @@ export const buildGraph = (repoPath, options) => __awaiter(void 0, void 0, void
159
161
  export const getBrokenInternalLinks = (repoPath, options) => __awaiter(void 0, void 0, void 0, function* () {
160
162
  const graph = yield buildGraph(repoPath, {
161
163
  checkSnippets: options === null || options === void 0 ? void 0 : options.checkSnippets,
164
+ fetchRemoteDocument: options === null || options === void 0 ? void 0 : options.fetchRemoteDocument,
162
165
  });
163
166
  graph.precomputeFileResolutions();
164
167
  return graph.getBrokenInternalLinks(options);
@@ -10,4 +10,7 @@
10
10
  * `$ref` pointers inside the config are resolved first, so navigation split
11
11
  * across multiple JSON files is walked end-to-end.
12
12
  */
13
- export declare const getOpenApiPagePaths: (baseDir: string) => Promise<string[]>;
13
+ export declare const getOpenApiPagePaths: (baseDir: string, options?: {
14
+ /** SSRF-safe fetch override for hosted spec and overlay URLs; supplied by server environments. */
15
+ fetchRemoteDocument?: (url: string) => Promise<unknown>;
16
+ }) => Promise<string[]>;
@@ -7,9 +7,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { generateOpenApiFromDocsConfig, getOpenApiFiles, getOpenApiFilesFromConfig, } from '@mintlify/prebuild';
10
+ import { buildOverlayRegistryForDirectory, generateOpenApiFromDocsConfig, getOpenApiFiles, getOpenApiFilesFromConfig, } from '@mintlify/prebuild';
11
11
  import { generateOpenApiPagesForDocsConfig } from '@mintlify/scraping';
12
- import { validateDocsConfig } from '@mintlify/validation';
12
+ import { collectOpenApiOverlayConfig, validateDocsConfig } from '@mintlify/validation';
13
13
  import { readResolvedConfigJson } from './readConfig.js';
14
14
  const DEFAULT_OUTPUT_DIR = 'api-reference';
15
15
  /**
@@ -24,18 +24,28 @@ const DEFAULT_OUTPUT_DIR = 'api-reference';
24
24
  * `$ref` pointers inside the config are resolved first, so navigation split
25
25
  * across multiple JSON files is walked end-to-end.
26
26
  */
27
- export const getOpenApiPagePaths = (baseDir) => __awaiter(void 0, void 0, void 0, function* () {
27
+ export const getOpenApiPagePaths = (baseDir, options) => __awaiter(void 0, void 0, void 0, function* () {
28
28
  const pagePaths = [];
29
29
  try {
30
- const openApiFiles = yield getOpenApiFiles(baseDir);
31
30
  const docsConfig = yield readDocsConfig(baseDir);
31
+ const explicitOverlays = docsConfig ? collectOpenApiOverlayConfig(docsConfig) : undefined;
32
+ const openApiFiles = yield getOpenApiFiles(baseDir, {
33
+ explicitOverlays,
34
+ fetchRemoteDocument: options === null || options === void 0 ? void 0 : options.fetchRemoteDocument,
35
+ });
32
36
  if (docsConfig) {
33
- const urlOpenApiFiles = yield safeGetOpenApiFilesFromConfig(docsConfig);
37
+ const overlayRegistry = yield buildOverlayRegistryForDirectory(baseDir, {
38
+ explicitOverlays,
39
+ fetchRemoteDocument: options === null || options === void 0 ? void 0 : options.fetchRemoteDocument,
40
+ });
41
+ const urlOpenApiFiles = yield safeGetOpenApiFilesFromConfig(docsConfig, overlayRegistry, options === null || options === void 0 ? void 0 : options.fetchRemoteDocument);
34
42
  const allOpenApiFiles = [...openApiFiles, ...urlOpenApiFiles];
35
43
  const pagesAcc = {};
36
44
  try {
37
45
  yield generateOpenApiFromDocsConfig(docsConfig.navigation, allOpenApiFiles, pagesAcc, {
38
46
  writeFiles: false,
47
+ overlayRegistry,
48
+ fetchRemoteDocument: options === null || options === void 0 ? void 0 : options.fetchRemoteDocument,
39
49
  });
40
50
  }
41
51
  catch (err) {
@@ -73,9 +83,9 @@ const readDocsConfig = (baseDir) => __awaiter(void 0, void 0, void 0, function*
73
83
  const result = validateDocsConfig(resolved.json);
74
84
  return result.success ? result.data : null;
75
85
  });
76
- const safeGetOpenApiFilesFromConfig = (docsConfig) => __awaiter(void 0, void 0, void 0, function* () {
86
+ const safeGetOpenApiFilesFromConfig = (docsConfig, overlayRegistry, fetchRemoteDocument) => __awaiter(void 0, void 0, void 0, function* () {
77
87
  try {
78
- return yield getOpenApiFilesFromConfig('docs', docsConfig);
88
+ return yield getOpenApiFilesFromConfig('docs', docsConfig, undefined, overlayRegistry, fetchRemoteDocument);
79
89
  }
80
90
  catch (err) {
81
91
  console.warn(`Warning: Failed to fetch URL-based OpenAPI specs: ${err}`);