smart-web-mcp 0.5.14 → 0.5.19

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.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,36 @@ The format is based on Keep a Changelog[^1] and this project uses SemVer.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.5.19] - 2026-03-27
10
+
11
+ ### Fixed
12
+
13
+ - `smartdocscrawl` now keeps docs exports anchored to the seed docs section path on real sites like OpenCode docs, still follows in-scope docs pages without explicit docs keywords, and catches ancestor-path promotion conflicts before any owned export files are replaced
14
+
15
+ ## [0.5.18] - 2026-03-27
16
+
17
+ ### Fixed
18
+
19
+ - `smartdocscrawl` now keeps following internal docs pages that do not advertise explicit docs keywords, blocks ancestor file conflicts before promotion, and tightens same-origin docs traversal so exports stay focused on docs content without drifting into generic site sections
20
+
21
+ ## [0.5.17] - 2026-03-27
22
+
23
+ ### Fixed
24
+
25
+ - `smartdocscrawl` now stays on docs-like pages instead of following unrelated same-origin sections such as blogs or pricing pages, stages exports before promoting them into place, and reports the export summary as total files written rather than implying every output is Markdown
26
+
27
+ ## [0.5.16] - 2026-03-27
28
+
29
+ ### Fixed
30
+
31
+ - `smartdocscrawl` now widens docs-export traversal beyond the summary crawl queue, refuses unsafe first writes into non-empty directories, preserves previous exports when a rerun hits a user-owned path conflict, and blocks encoded path-segment escapes so local Markdown exports stay inside the target folder
32
+
33
+ ## [0.5.15] - 2026-03-27
34
+
35
+ ### Added
36
+
37
+ - `smartdocscrawl` now mirrors docs-style sites into a local Markdown folder with one file per page plus a crawl summary and manifest, which makes large reusable docs snapshots possible without leaving the MCP workflow
38
+
9
39
  ## [0.5.14] - 2026-03-27
10
40
 
11
41
  ### Fixed
package/README.md CHANGED
@@ -4,11 +4,12 @@
4
4
 
5
5
  One local MCP server for web search, page fetch, and site crawl.
6
6
 
7
- `smart-web` ships three tools in one stdio server:
7
+ `smart-web` ships four tools in one stdio server:
8
8
 
9
9
  - `smartsearch`: fallback web search with optional site-crawl handoff
10
10
  - `smartfetch`: browser-aware direct-URL fetch with target-specific normalization
11
11
  - `smartcrawl`: site exploration for docs, boards, pagination, and scroll-heavy pages
12
+ - `smartdocscrawl`: docs-site mirroring that writes a local Markdown folder plus manifest
12
13
 
13
14
  ## Tool routing
14
15
 
@@ -17,6 +18,7 @@ Use the tools like this:
17
18
  - `smartfetch` first when the user already gave a URL or shortlink
18
19
  - `smartsearch` when the user gave a topic, keywords, or a `site:` query and you need discovery
19
20
  - `smartcrawl` when you already know the site and need multiple relevant pages instead of one page
21
+ - `smartdocscrawl` when you want an offline/local Markdown copy of a docs section instead of a read-only crawl summary
20
22
 
21
23
  This routing mirrors MCP tool-design guidance: clear human-readable descriptions, schema field descriptions, and explicit tool behavior hints make host/tool selection more reliable.[^1][^2]
22
24
 
@@ -106,12 +108,14 @@ Everything else lives in the same JSON file as advanced overrides rather than ex
106
108
  - ask `smartfetch` to fetch a normal article URL
107
109
  - ask `smartfetch` with `download: true` on a direct PDF or media URL when you want the result shaped around the file target
108
110
  - ask `smartcrawl` to explore a docs site or forum you actually use
111
+ - ask `smartdocscrawl` to mirror a docs section into a local folder you can grep, index, or commit
109
112
 
110
113
  ## Docs
111
114
 
112
115
  - [Getting started](docs/getting-started.md)
113
116
  - [Configuration](docs/configuration.md)
114
117
  - [Crawling](docs/crawling.md)
118
+ - [Docs export](docs/docscrawl.md)
115
119
  - [Providers](docs/providers.md)
116
120
  - [Architecture](docs/architecture.md)
117
121
  - [Contributing](CONTRIBUTING.md)
@@ -16,6 +16,13 @@ export type BrowserPageSnapshot = {
16
16
  title: string;
17
17
  html: string;
18
18
  text: string;
19
+ content_html?: string;
20
+ content_text?: string;
21
+ headings?: Array<{
22
+ level: number;
23
+ text: string;
24
+ id: string;
25
+ }>;
19
26
  links: string[];
20
27
  anchors: BrowserAnchor[];
21
28
  scroll_steps: number;
@@ -122,6 +122,55 @@ async function extractAnchors(page, maxAnchors) {
122
122
  });
123
123
  }, maxAnchors);
124
124
  }
125
+ async function extractPrimaryContent(page) {
126
+ return page.evaluate(() => {
127
+ const selectors = [
128
+ "main",
129
+ "article",
130
+ "[role='main']",
131
+ ".theme-doc-markdown",
132
+ ".theme-doc-markdown.markdown",
133
+ ".markdown",
134
+ ".md-content",
135
+ ".VPDoc",
136
+ ".vp-doc",
137
+ ".prose",
138
+ ".documentation",
139
+ ".docs-content",
140
+ ".content",
141
+ ];
142
+ const candidates = selectors.flatMap((selector) => Array.from(document.querySelectorAll(selector)));
143
+ const unique = Array.from(new Set(candidates));
144
+ const best = unique
145
+ .map((node) => ({
146
+ node,
147
+ score: (node.innerText || "").trim().length,
148
+ }))
149
+ .sort((a, b) => b.score - a.score)[0]?.node || document.querySelector("body");
150
+ if (!(best instanceof HTMLElement)) {
151
+ return {
152
+ html: "",
153
+ text: "",
154
+ headings: [],
155
+ };
156
+ }
157
+ const clone = best.cloneNode(true);
158
+ clone.querySelectorAll("script, style, noscript, svg, canvas, iframe, form, button, input, textarea, select, nav, header, footer, aside").forEach((node) => node.remove());
159
+ clone.querySelectorAll(".sidebar, .toc, .table-of-contents, .breadcrumb, .breadcrumbs, .edit-this-page, .theme-edit-this-page, .theme-doc-toc-desktop, .theme-doc-toc-mobile, .pagination-nav").forEach((node) => node.remove());
160
+ const headings = Array.from(clone.querySelectorAll("h1, h2, h3, h4, h5, h6"))
161
+ .map((node) => ({
162
+ level: Number(node.tagName.slice(1)),
163
+ text: (node.textContent || "").replace(/\s+/g, " ").trim(),
164
+ id: node.id || "",
165
+ }))
166
+ .filter((item) => item.text);
167
+ return {
168
+ html: clone.innerHTML,
169
+ text: (clone.innerText || "").replace(/\s+/g, " ").trim(),
170
+ headings,
171
+ };
172
+ });
173
+ }
125
174
  export async function runBrowserSession(options) {
126
175
  const chromium = await getChromium();
127
176
  if (!chromium) {
@@ -176,6 +225,7 @@ export async function runBrowserSession(options) {
176
225
  const finalUrl = asString(page.url());
177
226
  const maxAnchors = Math.max(50, Math.min(2000, Math.floor(Number(options.maxAnchors || 400))));
178
227
  const anchors = await extractAnchors(page, maxAnchors);
228
+ const primary = await extractPrimaryContent(page);
179
229
  const links = dedupeUrls(anchors.map((anchor) => asString(anchor?.href)));
180
230
  return {
181
231
  ok: true,
@@ -185,6 +235,9 @@ export async function runBrowserSession(options) {
185
235
  title,
186
236
  html,
187
237
  text,
238
+ content_html: asString(primary?.html),
239
+ content_text: asString(primary?.text),
240
+ headings: Array.isArray(primary?.headings) ? primary.headings : [],
188
241
  links,
189
242
  anchors,
190
243
  scroll_steps: driven.scroll_steps,
@@ -1 +1 @@
1
- {"version":3,"file":"browser-session.js","sourceRoot":"","sources":["../src/browser-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-session.js","sourceRoot":"","sources":["../src/browser-session.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,6 +5,7 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
5
5
  import { z } from "zod";
6
6
  import { initSettings, settingsPath, settingsTemplate } from "./settings.js";
7
7
  import { renderSmartcrawl, runSmartcrawl } from "./smartcrawl.js";
8
+ import { renderSmartdocscrawl, runSmartdocscrawl } from "./smartdocscrawl.js";
8
9
  import { runSmartfetch, renderSmartfetch } from "./smartfetch.js";
9
10
  import { runSmartsearch, renderSmartsearch } from "./smartsearch.js";
10
11
  const packageVersion = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8")).version;
@@ -105,6 +106,48 @@ server.registerTool("smartcrawl", {
105
106
  ],
106
107
  };
107
108
  });
109
+ server.registerTool("smartdocscrawl", {
110
+ title: "Smart Docs Crawl",
111
+ description: "Mirror a docs-style site into local Markdown files when you want a reusable offline folder instead of a ranked crawl summary.",
112
+ inputSchema: {
113
+ url: z.string().min(1).describe("Starting docs URL to mirror into Markdown. Prefer a docs home or section root, not a one-off article."),
114
+ output_dir: z.string().min(1).describe("Local directory where Markdown files, a README summary, and a crawl manifest should be written."),
115
+ query: z.string().optional().describe("Optional topic filter used to prioritize which docs pages get crawled first"),
116
+ max_pages: z.number().int().min(1).max(200).optional().describe("Maximum number of docs pages to visit while building the local Markdown folder"),
117
+ max_depth: z.number().int().min(0).max(20).optional().describe("Maximum crawl depth from the starting docs page"),
118
+ include_patterns: z.array(z.string().min(1)).max(50).optional().describe("Optional regex or substring patterns for URLs to keep in the docs export"),
119
+ exclude_patterns: z.array(z.string().min(1)).max(50).optional().describe("Optional regex or substring patterns for URLs to skip in the docs export"),
120
+ same_origin_only: z.boolean().optional().describe("Restrict traversal to the starting origin while still exporting only local Markdown files"),
121
+ follow_pagination: z.boolean().optional().describe("Follow next-page style links when the docs site splits sections across pages"),
122
+ scroll_steps: z.number().int().min(0).max(12).optional().describe("How aggressively to scroll rendered docs pages before snapshotting content"),
123
+ timeout_ms: z.number().int().min(3000).max(120000).optional().describe("Per-page timeout budget in milliseconds"),
124
+ },
125
+ annotations: {
126
+ title: "Smart Docs Crawl",
127
+ readOnlyHint: false,
128
+ destructiveHint: true,
129
+ idempotentHint: false,
130
+ openWorldHint: true,
131
+ },
132
+ }, async ({ url, output_dir, query, max_pages, max_depth, include_patterns, exclude_patterns, same_origin_only, follow_pagination, scroll_steps, timeout_ms }) => {
133
+ const output = await runSmartdocscrawl({
134
+ url,
135
+ outputDir: output_dir,
136
+ ...(query === undefined ? {} : { query }),
137
+ ...(max_pages === undefined ? {} : { maxPages: max_pages }),
138
+ ...(max_depth === undefined ? {} : { maxDepth: max_depth }),
139
+ ...(include_patterns === undefined ? {} : { includePatterns: include_patterns }),
140
+ ...(exclude_patterns === undefined ? {} : { excludePatterns: exclude_patterns }),
141
+ ...(same_origin_only === undefined ? {} : { sameOriginOnly: same_origin_only }),
142
+ ...(follow_pagination === undefined ? {} : { followPagination: follow_pagination }),
143
+ ...(scroll_steps === undefined ? {} : { scrollSteps: scroll_steps }),
144
+ ...(timeout_ms === undefined ? {} : { timeoutMs: timeout_ms }),
145
+ });
146
+ return {
147
+ structuredContent: output,
148
+ content: [{ type: "text", text: renderSmartdocscrawl(output) }],
149
+ };
150
+ });
108
151
  server.registerTool("smartfetch", {
109
152
  title: "Smart Fetch",
110
153
  description: "Fetch and normalize one known URL or shortlink. Use this first for direct user-supplied URLs, browser-rendered pages, social posts, and videos; do not use smartsearch when the user already provided the URL, and use smartcrawl only when you need multiple pages from the same site.",
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/lib.d.ts CHANGED
@@ -1,3 +1,7 @@
1
1
  export { runSmartfetch, renderSmartfetch } from "./smartfetch.js";
2
2
  export { runSmartsearch, renderSmartsearch } from "./smartsearch.js";
3
+ export { runSmartcrawl, renderSmartcrawl } from "./smartcrawl.js";
4
+ export { runSmartdocscrawl, renderSmartdocscrawl } from "./smartdocscrawl.js";
3
5
  export type { AdapterResult, ErrorCategory, SearchResponse, SearchResult, SmartfetchOutput, SmartfetchRenderFormat, Target, ToolError, } from "./shared.js";
6
+ export type { SmartcrawlOptions, SmartcrawlResponse } from "./smartcrawl.js";
7
+ export type { SmartdocscrawlDocument, SmartdocscrawlOptions, SmartdocscrawlResponse } from "./smartdocscrawl.js";
package/dist/lib.js CHANGED
@@ -1,3 +1,5 @@
1
1
  export { runSmartfetch, renderSmartfetch } from "./smartfetch.js";
2
2
  export { runSmartsearch, renderSmartsearch } from "./smartsearch.js";
3
+ export { runSmartcrawl, renderSmartcrawl } from "./smartcrawl.js";
4
+ export { runSmartdocscrawl, renderSmartdocscrawl } from "./smartdocscrawl.js";
3
5
  //# sourceMappingURL=lib.js.map
package/dist/lib.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { ToolError } from "./shared.js";
2
- import { BrowserPageResult } from "./browser-session.js";
2
+ import { BrowserPageResult, BrowserPageSnapshot } from "./browser-session.js";
3
3
  export type SmartcrawlMode = "auto" | "board" | "docs";
4
4
  export type SmartcrawlRenderFormat = "text" | "markdown";
5
5
  export type SmartcrawlItemKind = "page" | "content" | "pagination" | "section";
@@ -54,6 +54,17 @@ export type SmartcrawlOptions = {
54
54
  scrollSteps?: number;
55
55
  timeoutMs?: number;
56
56
  };
57
+ export type SmartcrawlRuntimeLimits = {
58
+ maxItemLimit?: number;
59
+ maxPageLimit?: number;
60
+ maxDepthLimit?: number;
61
+ maxQueuedPaginationLinks?: number;
62
+ maxQueuedContentLinks?: number;
63
+ };
64
+ export type SmartcrawlRunArtifacts = {
65
+ response: SmartcrawlResponse;
66
+ snapshots: BrowserPageSnapshot[];
67
+ };
57
68
  type SmartcrawlLoaderInput = {
58
69
  url: string;
59
70
  depth: number;
@@ -62,6 +73,7 @@ type SmartcrawlLoaderInput = {
62
73
  };
63
74
  type SmartcrawlLoader = (input: SmartcrawlLoaderInput) => Promise<BrowserPageResult>;
64
75
  export declare function runSmartcrawl(options: SmartcrawlOptions, loader?: SmartcrawlLoader): Promise<SmartcrawlResponse>;
76
+ export declare function runSmartcrawlDetailed(options: SmartcrawlOptions, loader?: SmartcrawlLoader, runtimeLimits?: SmartcrawlRuntimeLimits): Promise<SmartcrawlRunArtifacts>;
65
77
  export declare function renderSmartcrawl(response: SmartcrawlResponse, format: SmartcrawlRenderFormat): string;
66
78
  export declare function extractSmartcrawlLinks(response: SmartcrawlResponse): string[];
67
79
  export {};
@@ -2,9 +2,13 @@ import { cleanLinks, dedupeUrls, envFlag, extractTitleFromHtml, stripTags, valid
2
2
  import { runBrowserSession } from "./browser-session.js";
3
3
  import { extractLinkedInPostData, isLinkedInImageUrl, isLinkedInLikelyNoiseUrl, isLinkedInPostUrl, isLinkedInRedirectUrl, unwrapLinkedInRedirectUrl, } from "./linkedin.js";
4
4
  const DEFAULT_TIMEOUT_MS = 25000;
5
- const MAX_ITEM_LIMIT = 50;
6
- const MAX_PAGE_LIMIT = 20;
7
- const MAX_DEPTH_LIMIT = 3;
5
+ const DEFAULT_LIMITS = {
6
+ maxItemLimit: 50,
7
+ maxPageLimit: 20,
8
+ maxDepthLimit: 3,
9
+ maxQueuedPaginationLinks: 2,
10
+ maxQueuedContentLinks: 4,
11
+ };
8
12
  function allowPrivateHosts() {
9
13
  return envFlag("SMART_WEB_ALLOW_PRIVATE_HOSTS");
10
14
  }
@@ -112,7 +116,16 @@ function looksPagination(url, text) {
112
116
  return false;
113
117
  }
114
118
  function looksDocsUrl(url, text, context) {
115
- const haystack = `${url} ${text} ${context}`.toLowerCase();
119
+ const urlSignals = (() => {
120
+ try {
121
+ const parsed = new URL(url);
122
+ return `${parsed.pathname} ${parsed.search}`;
123
+ }
124
+ catch {
125
+ return url;
126
+ }
127
+ })();
128
+ const haystack = `${urlSignals} ${text} ${context}`.toLowerCase();
116
129
  return /(docs|documentation|guide|tutorial|reference|manual|learn|api|concept|installation|get started|quickstart|quick start)/i.test(haystack);
117
130
  }
118
131
  function looksBoardContentUrl(url, text, context) {
@@ -148,6 +161,10 @@ function looksNoise(url, text) {
148
161
  return true;
149
162
  return false;
150
163
  }
164
+ function looksDocsSectionNoise(url, text, context) {
165
+ const haystack = `${url} ${text} ${context}`.toLowerCase();
166
+ return /(pricing|contact|about|careers|customers|enterprise|sales|demo|login|sign in|sign up|blog)/i.test(haystack);
167
+ }
151
168
  function classifyCandidateKind(url, text, context, mode) {
152
169
  if (looksPagination(url, text))
153
170
  return "pagination";
@@ -241,7 +258,11 @@ function buildCandidates(snapshot, depth, mode, queryTerms, rootUrl, options) {
241
258
  kind,
242
259
  discovered_from: snapshot.final_url,
243
260
  discovered_by: discoveredBy,
244
- queueable: (kind === "pagination" || kind === "content" || kind === "section") && !isLinkedInRedirectUrl(url) && !isLinkedInImageUrl(url),
261
+ queueable: (mode === "docs"
262
+ ? (kind === "pagination" || kind === "content" || (kind === "section" && !looksDocsSectionNoise(url, title, context)))
263
+ : (kind === "pagination" || kind === "content" || kind === "section"))
264
+ && !isLinkedInRedirectUrl(url)
265
+ && !isLinkedInImageUrl(url),
245
266
  };
246
267
  const existing = deduped.get(url);
247
268
  if (!existing || candidate.score > existing.score)
@@ -291,11 +312,11 @@ function buildCandidates(snapshot, depth, mode, queryTerms, rootUrl, options) {
291
312
  }
292
313
  return Array.from(deduped.values()).sort((a, b) => b.score - a.score);
293
314
  }
294
- function nextQueueUrls(candidates, rootUrl, options) {
315
+ function nextQueueUrls(candidates, rootUrl, options, runtimeLimits) {
295
316
  const pagination = options.followPagination === false
296
317
  ? []
297
- : candidates.filter((item) => item.kind === "pagination").slice(0, 2);
298
- const content = candidates.filter((item) => item.kind !== "pagination" && item.queueable).slice(0, 4);
318
+ : candidates.filter((item) => item.kind === "pagination").slice(0, runtimeLimits.maxQueuedPaginationLinks);
319
+ const content = candidates.filter((item) => item.kind !== "pagination" && item.queueable).slice(0, runtimeLimits.maxQueuedContentLinks);
299
320
  return dedupeUrls([...pagination, ...content].map((item) => item.url)).filter((url) => shouldVisitUrl(url, rootUrl, options));
300
321
  }
301
322
  function mergeItems(items, limit) {
@@ -315,12 +336,27 @@ function renderItem(item, index) {
315
336
  return lines.join("\n");
316
337
  }
317
338
  export async function runSmartcrawl(options, loader = defaultLoader) {
318
- const limit = Math.max(1, Math.min(MAX_ITEM_LIMIT, Math.floor(Number(options.limit || 12))));
319
- const maxPages = Math.max(1, Math.min(MAX_PAGE_LIMIT, Math.floor(Number(options.maxPages || 6))));
320
- const maxDepth = Math.max(0, Math.min(MAX_DEPTH_LIMIT, Math.floor(Number(options.maxDepth || 1))));
339
+ return (await runSmartcrawlDetailed(options, loader)).response;
340
+ }
341
+ export async function runSmartcrawlDetailed(options, loader, runtimeLimits = {}) {
342
+ const activeLoader = loader || defaultLoader;
343
+ const resolvedRuntimeLimits = {
344
+ maxItemLimit: Math.max(1, Math.floor(Number(runtimeLimits.maxItemLimit || DEFAULT_LIMITS.maxItemLimit))),
345
+ maxPageLimit: Math.max(1, Math.floor(Number(runtimeLimits.maxPageLimit || DEFAULT_LIMITS.maxPageLimit))),
346
+ maxDepthLimit: Math.max(0, Math.floor(Number(runtimeLimits.maxDepthLimit || DEFAULT_LIMITS.maxDepthLimit))),
347
+ maxQueuedPaginationLinks: Math.max(0, Math.floor(Number(runtimeLimits.maxQueuedPaginationLinks || DEFAULT_LIMITS.maxQueuedPaginationLinks))),
348
+ maxQueuedContentLinks: Math.max(1, Math.floor(Number(runtimeLimits.maxQueuedContentLinks || DEFAULT_LIMITS.maxQueuedContentLinks))),
349
+ };
350
+ const maxItemLimit = resolvedRuntimeLimits.maxItemLimit;
351
+ const maxPageLimit = resolvedRuntimeLimits.maxPageLimit;
352
+ const maxDepthLimit = resolvedRuntimeLimits.maxDepthLimit;
353
+ const limit = Math.max(1, Math.min(maxItemLimit, Math.floor(Number(options.limit || 12))));
354
+ const maxPages = Math.max(1, Math.min(maxPageLimit, Math.floor(Number(options.maxPages || 6))));
355
+ const maxDepth = Math.max(0, Math.min(maxDepthLimit, Math.floor(Number(options.maxDepth || 1))));
321
356
  const timeoutMs = Math.max(3000, Math.floor(Number(options.timeoutMs || DEFAULT_TIMEOUT_MS)));
322
357
  const scrollSteps = Math.max(0, Math.min(12, Math.floor(Number(options.scrollSteps || 6))));
323
358
  const query = normalizeSpace(options.query || "");
359
+ const snapshots = [];
324
360
  const response = {
325
361
  source: "smartcrawl",
326
362
  url: options.url,
@@ -343,7 +379,7 @@ export async function runSmartcrawl(options, loader = defaultLoader) {
343
379
  if (!validation.ok) {
344
380
  response.partial = true;
345
381
  response.errors.push({ category: "block", code: validation.reason, message: validation.message });
346
- return response;
382
+ return { response, snapshots };
347
383
  }
348
384
  const queue = [{ url: options.url, depth: 0 }];
349
385
  const visited = new Set();
@@ -360,7 +396,7 @@ export async function runSmartcrawl(options, loader = defaultLoader) {
360
396
  attemptedPages += 1;
361
397
  response.evidence.playwright_attempted = true;
362
398
  response.evidence.pages_attempted = attemptedPages;
363
- const snapshot = await loader({
399
+ const snapshot = await activeLoader({
364
400
  url: next.url,
365
401
  depth: next.depth,
366
402
  timeoutMs,
@@ -373,6 +409,7 @@ export async function runSmartcrawl(options, loader = defaultLoader) {
373
409
  }
374
410
  response.evidence.playwright_success = true;
375
411
  response.evidence.pages_loaded += 1;
412
+ snapshots.push(snapshot);
376
413
  resolvedMode = inferMode(snapshot, resolvedMode);
377
414
  response.mode = resolvedMode;
378
415
  const pageCandidates = buildCandidates(snapshot, next.depth, resolvedMode, queryTerms, options.url, options);
@@ -391,7 +428,7 @@ export async function runSmartcrawl(options, loader = defaultLoader) {
391
428
  });
392
429
  if (next.depth >= maxDepth)
393
430
  continue;
394
- for (const url of nextQueueUrls(pageCandidates, options.url, options)) {
431
+ for (const url of nextQueueUrls(pageCandidates, options.url, options, resolvedRuntimeLimits)) {
395
432
  if (!visited.has(url))
396
433
  queue.push({ url, depth: next.depth + 1 });
397
434
  }
@@ -404,7 +441,7 @@ export async function runSmartcrawl(options, loader = defaultLoader) {
404
441
  response.partial = true;
405
442
  response.notes.push("No crawl pages were visited");
406
443
  }
407
- return response;
444
+ return { response, snapshots };
408
445
  }
409
446
  export function renderSmartcrawl(response, format) {
410
447
  if (format === "text") {
@@ -1 +1 @@
1
- {"version":3,"file":"smartcrawl.js","sourceRoot":"","sources":["../src/smartcrawl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smartcrawl.js","sourceRoot":"","sources":["../src/smartcrawl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import type { BrowserPageResult } from "./browser-session.js";
2
+ import { type SmartcrawlResponse } from "./smartcrawl.js";
3
+ export type SmartdocscrawlDocument = {
4
+ title: string;
5
+ url: string;
6
+ final_url: string;
7
+ depth: number;
8
+ file_path: string;
9
+ relative_path: string;
10
+ word_count: number;
11
+ headings: Array<{
12
+ level: number;
13
+ text: string;
14
+ id: string;
15
+ }>;
16
+ };
17
+ export type SmartdocscrawlResponse = {
18
+ source: "smartdocscrawl";
19
+ url: string;
20
+ output_dir: string;
21
+ partial: boolean;
22
+ documents: SmartdocscrawlDocument[];
23
+ errors: SmartcrawlResponse["errors"];
24
+ notes: string[];
25
+ manifest_path: string;
26
+ summary_path: string;
27
+ evidence: {
28
+ pages_attempted: number;
29
+ pages_loaded: number;
30
+ files_written: number;
31
+ generated_at: string;
32
+ };
33
+ };
34
+ export type SmartdocscrawlOptions = {
35
+ url: string;
36
+ outputDir: string;
37
+ query?: string;
38
+ maxPages?: number;
39
+ maxDepth?: number;
40
+ includePatterns?: string[];
41
+ excludePatterns?: string[];
42
+ sameOriginOnly?: boolean;
43
+ followPagination?: boolean;
44
+ scrollSteps?: number;
45
+ timeoutMs?: number;
46
+ };
47
+ type SmartdocscrawlLoaderInput = {
48
+ url: string;
49
+ depth: number;
50
+ timeoutMs: number;
51
+ scrollSteps: number;
52
+ };
53
+ type SmartdocscrawlLoader = (input: SmartdocscrawlLoaderInput) => Promise<BrowserPageResult>;
54
+ export declare function renderSmartdocscrawl(response: SmartdocscrawlResponse): string;
55
+ export declare function runSmartdocscrawl(options: SmartdocscrawlOptions, loader?: SmartdocscrawlLoader): Promise<SmartdocscrawlResponse>;
56
+ export {};
@@ -0,0 +1,430 @@
1
+ import { access, lstat, mkdir, mkdtemp, readdir, readFile, rename, rm, writeFile } from "node:fs/promises";
2
+ import { tmpdir } from "node:os";
3
+ import { dirname, join, relative, resolve } from "node:path";
4
+ import TurndownService from "turndown";
5
+ import { gfm } from "turndown-plugin-gfm";
6
+ import { absolutizeUrl, extractTitleFromHtml, stripTags } from "./shared.js";
7
+ import { runSmartcrawlDetailed } from "./smartcrawl.js";
8
+ const SUMMARY_FILE = "README.md";
9
+ const MANIFEST_FILE = "smartdocscrawl-manifest.json";
10
+ function buildTurndownService() {
11
+ const service = new TurndownService({
12
+ headingStyle: "atx",
13
+ codeBlockStyle: "fenced",
14
+ bulletListMarker: "-",
15
+ emDelimiter: "_",
16
+ strongDelimiter: "**",
17
+ linkStyle: "inlined",
18
+ });
19
+ service.use(gfm);
20
+ service.remove(["script", "style", "noscript", "iframe", "svg", "canvas"]);
21
+ return service;
22
+ }
23
+ function normalizeSpace(value) {
24
+ return value.replace(/\s+/g, " ").trim();
25
+ }
26
+ function escapeRegex(value) {
27
+ return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
28
+ }
29
+ function deriveSeedScopePath(url) {
30
+ try {
31
+ const parsed = new URL(url);
32
+ const segments = parsed.pathname.split("/").filter(Boolean);
33
+ if (segments.length === 0)
34
+ return "/";
35
+ const docsLikeIndex = segments.findIndex((segment) => /^(docs?|documentation|guide|guides|tutorial|tutorials|reference|references|manual|learn|api|apis|concepts?)$/i.test(segment));
36
+ if (docsLikeIndex >= 0)
37
+ return `/${segments.slice(0, docsLikeIndex + 1).join("/")}`;
38
+ if (segments.length === 1)
39
+ return `/${segments[0]}`;
40
+ return `/${segments.slice(0, -1).join("/")}`;
41
+ }
42
+ catch {
43
+ return "/";
44
+ }
45
+ }
46
+ function seedPathExcludePattern(url) {
47
+ try {
48
+ const parsed = new URL(url);
49
+ const path = deriveSeedScopePath(url).replace(/\/+$/, "") || "/";
50
+ if (path === "/")
51
+ return null;
52
+ const escapedOrigin = escapeRegex(parsed.origin);
53
+ const escapedPath = escapeRegex(path);
54
+ return `^${escapedOrigin}/(?!${escapedPath.slice(1)}(?:$|[/?#])).+`;
55
+ }
56
+ catch {
57
+ return null;
58
+ }
59
+ }
60
+ function sanitizeSegment(value) {
61
+ const decoded = (() => {
62
+ try {
63
+ return decodeURIComponent(value);
64
+ }
65
+ catch {
66
+ return value;
67
+ }
68
+ })();
69
+ const sanitized = decoded
70
+ .normalize("NFKC")
71
+ .replace(/[<>:"/\\|?*]/g, "-")
72
+ .replace(/\s+/g, "-")
73
+ .replace(/-+/g, "-")
74
+ .replace(/^-|-$/g, "")
75
+ .slice(0, 80);
76
+ if (!sanitized || sanitized === "." || sanitized === "..")
77
+ return `segment-${hashToken(value)}`;
78
+ return sanitized;
79
+ }
80
+ function hashToken(value) {
81
+ let hash = 2166136261;
82
+ for (const char of value) {
83
+ hash ^= char.charCodeAt(0);
84
+ hash = Math.imul(hash, 16777619);
85
+ }
86
+ return (hash >>> 0).toString(36);
87
+ }
88
+ function toRelativeMarkdownPath(pageUrl) {
89
+ const parsed = new URL(pageUrl);
90
+ const parts = parsed.pathname.split("/").filter(Boolean).map(sanitizeSegment);
91
+ const pathEndsWithSlash = parsed.pathname.endsWith("/") || parts.length === 0;
92
+ const directoryParts = pathEndsWithSlash ? parts : parts.slice(0, -1);
93
+ const rawName = pathEndsWithSlash ? "index" : (parts.at(-1) || "index");
94
+ let fileName = rawName.replace(/\.(html?|md|php|aspx?)$/i, "") || "index";
95
+ if (parsed.search)
96
+ fileName = `${fileName}--${hashToken(parsed.search)}`;
97
+ return [...directoryParts, `${fileName}.md`].join("/");
98
+ }
99
+ function ensureUniquePath(candidate, used) {
100
+ if (!used.has(candidate)) {
101
+ used.add(candidate);
102
+ return candidate;
103
+ }
104
+ const match = candidate.match(/^(.*?)(\.md)$/i);
105
+ const base = match?.[1] || candidate;
106
+ const ext = match?.[2] || "";
107
+ let counter = 2;
108
+ while (used.has(`${base}--${counter}${ext}`))
109
+ counter += 1;
110
+ const unique = `${base}--${counter}${ext}`;
111
+ used.add(unique);
112
+ return unique;
113
+ }
114
+ function absolutizeHtmlLinks(html, baseUrl) {
115
+ return html.replace(/\b(href|src)=(['"])([^'"]+)\2/gi, (_, attribute, quote, value) => {
116
+ const absolute = absolutizeUrl(value, baseUrl);
117
+ const safeValue = absolute || value;
118
+ return `${attribute}=${quote}${safeValue}${quote}`;
119
+ });
120
+ }
121
+ function cleanupHtml(html, baseUrl) {
122
+ return absolutizeHtmlLinks(html, baseUrl)
123
+ .replace(/<(script|style|noscript|iframe|svg|canvas)\b[\s\S]*?<\/\1>/gi, "")
124
+ .replace(/<(nav|header|footer|aside)\b[\s\S]*?<\/\1>/gi, "")
125
+ .replace(/<button\b[\s\S]*?<\/button>/gi, "");
126
+ }
127
+ function fallbackMarkdown(text) {
128
+ return normalizeSpace(text)
129
+ .split(/(?<=[.!?])\s+/)
130
+ .filter(Boolean)
131
+ .join("\n\n");
132
+ }
133
+ function normalizeMarkdown(markdown) {
134
+ return markdown
135
+ .replace(/\n{3,}/g, "\n\n")
136
+ .replace(/[ \t]+\n/g, "\n")
137
+ .trim();
138
+ }
139
+ function stripDuplicateTitle(markdown, title) {
140
+ const escaped = title.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
141
+ return markdown.replace(new RegExp(`^#\\s+${escaped}\\n+`, "i"), "").trim();
142
+ }
143
+ function snapshotTitle(snapshot) {
144
+ return normalizeSpace(snapshot.title || extractTitleFromHtml(snapshot.content_html || snapshot.html) || extractTitleFromHtml(snapshot.html) || snapshot.final_url);
145
+ }
146
+ function snapshotWordCount(snapshot) {
147
+ return normalizeSpace(snapshot.content_text || stripTags(snapshot.content_html || snapshot.html || snapshot.text))
148
+ .split(/\s+/)
149
+ .filter(Boolean)
150
+ .length;
151
+ }
152
+ function renderDocumentMarkdown(snapshot, depth) {
153
+ const turndown = buildTurndownService();
154
+ const title = snapshotTitle(snapshot);
155
+ const rawHtml = cleanupHtml(snapshot.content_html || snapshot.html, snapshot.final_url);
156
+ let body = normalizeMarkdown(turndown.turndown(rawHtml));
157
+ body = stripDuplicateTitle(body, title);
158
+ if (!body) {
159
+ body = fallbackMarkdown(snapshot.content_text || stripTags(snapshot.content_html || snapshot.html || snapshot.text));
160
+ }
161
+ const lines = [
162
+ `# ${title}`,
163
+ "",
164
+ `- Source: ${snapshot.final_url}`,
165
+ `- Depth: ${depth}`,
166
+ ];
167
+ if (body)
168
+ lines.push("", body);
169
+ return normalizeMarkdown(lines.join("\n")) + "\n";
170
+ }
171
+ function buildDocument(snapshot, rootDir, relativePath, depth) {
172
+ return {
173
+ title: snapshotTitle(snapshot),
174
+ url: snapshot.url,
175
+ final_url: snapshot.final_url,
176
+ depth,
177
+ file_path: join(rootDir, relativePath),
178
+ relative_path: relativePath,
179
+ word_count: snapshotWordCount(snapshot),
180
+ headings: snapshot.headings || [],
181
+ };
182
+ }
183
+ function renderSummary(response) {
184
+ const lines = [
185
+ "# smartdocscrawl export",
186
+ "",
187
+ `- Source: ${response.url}`,
188
+ `- Output directory: ${response.output_dir}`,
189
+ `- Pages attempted: ${response.evidence.pages_attempted}`,
190
+ `- Pages loaded: ${response.evidence.pages_loaded}`,
191
+ `- Files written: ${response.evidence.files_written}`,
192
+ `- Generated at: ${response.evidence.generated_at}`,
193
+ ];
194
+ if (response.documents.length > 0) {
195
+ lines.push("", "## Files", "");
196
+ for (const document of response.documents) {
197
+ lines.push(`- [${document.title}](${document.relative_path}) — ${document.final_url}`);
198
+ }
199
+ }
200
+ if (response.notes.length > 0) {
201
+ lines.push("", "## Notes", "");
202
+ for (const note of response.notes)
203
+ lines.push(`- ${note}`);
204
+ }
205
+ if (response.errors.length > 0) {
206
+ lines.push("", "## Errors", "");
207
+ for (const error of response.errors)
208
+ lines.push(`- ${error.code}: ${error.message}`);
209
+ }
210
+ return `${lines.join("\n").trim()}\n`;
211
+ }
212
+ function isPathInside(rootDir, candidatePath) {
213
+ const value = relative(rootDir, candidatePath);
214
+ return value === "" || (!value.startsWith("..") && !value.startsWith("../") && value !== "..");
215
+ }
216
+ async function removeOwnedPaths(rootDir, ownedPaths) {
217
+ const directories = new Set();
218
+ for (const candidate of ownedPaths) {
219
+ if (!isPathInside(rootDir, candidate))
220
+ continue;
221
+ directories.add(dirname(candidate));
222
+ await rm(candidate, { force: true, recursive: false }).catch(() => { });
223
+ }
224
+ for (const directory of Array.from(directories).filter((item) => item !== rootDir).sort((a, b) => b.length - a.length)) {
225
+ if (!isPathInside(rootDir, directory))
226
+ continue;
227
+ await rm(directory, { force: true, recursive: false }).catch(() => { });
228
+ }
229
+ }
230
+ async function readPreviousExport(manifestPath) {
231
+ try {
232
+ const raw = await readFile(manifestPath, "utf8");
233
+ const parsed = JSON.parse(raw);
234
+ const candidates = new Set();
235
+ if (Array.isArray(parsed.documents)) {
236
+ for (const document of parsed.documents) {
237
+ if (typeof document?.file_path === "string")
238
+ candidates.add(resolve(document.file_path));
239
+ }
240
+ }
241
+ if (typeof parsed.summary_path === "string")
242
+ candidates.add(resolve(parsed.summary_path));
243
+ if (typeof parsed.manifest_path === "string")
244
+ candidates.add(resolve(parsed.manifest_path));
245
+ return { ownedPaths: candidates, hasManifest: true };
246
+ }
247
+ catch {
248
+ // Ignore missing or invalid manifests and treat the folder as a fresh export target.
249
+ return { ownedPaths: new Set(), hasManifest: false };
250
+ }
251
+ }
252
+ async function pathExists(path) {
253
+ try {
254
+ await access(path);
255
+ return true;
256
+ }
257
+ catch {
258
+ return false;
259
+ }
260
+ }
261
+ async function firstAncestorConflict(rootDir, filePath) {
262
+ let current = dirname(filePath);
263
+ while (isPathInside(rootDir, current) && current !== rootDir) {
264
+ if (await pathExists(current)) {
265
+ const stats = await lstat(current);
266
+ if (!stats.isDirectory())
267
+ return current;
268
+ }
269
+ current = dirname(current);
270
+ }
271
+ return null;
272
+ }
273
+ function blockedResponse(url, outputDir, manifestPath, summaryPath, code, message, seed) {
274
+ return {
275
+ source: "smartdocscrawl",
276
+ url,
277
+ output_dir: outputDir,
278
+ partial: true,
279
+ documents: [],
280
+ errors: [...(seed?.errors || []), { category: "block", code, message }],
281
+ notes: [...(seed?.notes || [])],
282
+ manifest_path: manifestPath,
283
+ summary_path: summaryPath,
284
+ evidence: {
285
+ pages_attempted: seed?.evidence?.pages_attempted || 0,
286
+ pages_loaded: seed?.evidence?.pages_loaded || 0,
287
+ files_written: 0,
288
+ generated_at: seed?.evidence?.generated_at || new Date().toISOString(),
289
+ },
290
+ };
291
+ }
292
+ export function renderSmartdocscrawl(response) {
293
+ const lines = [
294
+ `Output directory: ${response.output_dir}`,
295
+ `Pages attempted: ${response.evidence.pages_attempted}`,
296
+ `Pages loaded: ${response.evidence.pages_loaded}`,
297
+ `Files written: ${response.evidence.files_written}`,
298
+ `Summary: ${response.summary_path}`,
299
+ `Manifest: ${response.manifest_path}`,
300
+ ];
301
+ response.documents.slice(0, 12).forEach((document, index) => {
302
+ lines.push(`${index + 1}. ${document.relative_path} <- ${document.final_url}`);
303
+ });
304
+ if (response.documents.length > 12)
305
+ lines.push(`... ${response.documents.length - 12} more files`);
306
+ if (response.notes.length > 0)
307
+ lines.push(`Notes: ${response.notes.join(" | ")}`);
308
+ if (response.errors.length > 0)
309
+ lines.push(`Errors: ${response.errors.map((item) => `${item.code}: ${item.message}`).join(" | ")}`);
310
+ return lines.join("\n");
311
+ }
312
+ export async function runSmartdocscrawl(options, loader) {
313
+ const outputDir = resolve(options.outputDir);
314
+ const manifestPath = join(outputDir, MANIFEST_FILE);
315
+ const summaryPath = join(outputDir, SUMMARY_FILE);
316
+ await mkdir(outputDir, { recursive: true });
317
+ const previousExport = await readPreviousExport(manifestPath);
318
+ const existingEntries = await readdir(outputDir);
319
+ if (!previousExport.hasManifest && existingEntries.length > 0) {
320
+ return blockedResponse(options.url, outputDir, manifestPath, summaryPath, "output_dir_not_empty", "Refusing to write into a non-empty output directory without a prior smartdocscrawl manifest.");
321
+ }
322
+ const crawlOptions = {
323
+ url: options.url,
324
+ mode: "docs",
325
+ limit: Math.max(50, Math.floor(Number(options.maxPages || 25)) * 8),
326
+ maxPages: options.maxPages ?? 25,
327
+ maxDepth: options.maxDepth ?? 4,
328
+ scrollSteps: options.scrollSteps ?? 4,
329
+ ...(options.query === undefined ? {} : { query: options.query }),
330
+ ...(options.includePatterns === undefined ? {} : { includePatterns: options.includePatterns }),
331
+ ...(options.sameOriginOnly === undefined ? {} : { sameOriginOnly: options.sameOriginOnly }),
332
+ ...(options.followPagination === undefined ? {} : { followPagination: options.followPagination }),
333
+ ...(options.timeoutMs === undefined ? {} : { timeoutMs: options.timeoutMs }),
334
+ };
335
+ const implicitSeedScope = seedPathExcludePattern(options.url);
336
+ crawlOptions.excludePatterns = [
337
+ ...(options.excludePatterns || []),
338
+ ...(implicitSeedScope ? [implicitSeedScope] : []),
339
+ ];
340
+ const { response: crawl, snapshots } = await runSmartcrawlDetailed(crawlOptions, loader, {
341
+ maxItemLimit: 400,
342
+ maxPageLimit: 200,
343
+ maxDepthLimit: 20,
344
+ maxQueuedPaginationLinks: 4,
345
+ maxQueuedContentLinks: Math.max(8, Math.min(100, crawlOptions.maxPages || 25)),
346
+ });
347
+ const pagesByUrl = new Map(crawl.pages.map((page) => [page.final_url, page]));
348
+ const usedPaths = new Set([SUMMARY_FILE, MANIFEST_FILE]);
349
+ const plannedDocuments = snapshots.map((snapshot) => {
350
+ const relativePath = ensureUniquePath(toRelativeMarkdownPath(snapshot.final_url), usedPaths);
351
+ const depth = pagesByUrl.get(snapshot.final_url)?.depth ?? 0;
352
+ return {
353
+ snapshot,
354
+ depth,
355
+ relativePath,
356
+ filePath: resolve(outputDir, relativePath),
357
+ };
358
+ });
359
+ for (const candidate of plannedDocuments) {
360
+ if (isPathInside(outputDir, candidate.filePath))
361
+ continue;
362
+ return blockedResponse(options.url, outputDir, manifestPath, summaryPath, "output_path_escape", `Refusing to write a crawled page outside the export root: ${candidate.snapshot.final_url}`, { errors: crawl.errors, notes: crawl.notes, evidence: crawl.evidence });
363
+ }
364
+ for (const candidate of [summaryPath, manifestPath, ...plannedDocuments.map((item) => item.filePath)]) {
365
+ const ancestorConflict = await firstAncestorConflict(outputDir, candidate);
366
+ if (ancestorConflict) {
367
+ return blockedResponse(options.url, outputDir, manifestPath, summaryPath, "output_path_conflict", `Refusing to create a directory path through an existing file: ${ancestorConflict}`, { errors: crawl.errors, notes: crawl.notes, evidence: crawl.evidence });
368
+ }
369
+ if (!await pathExists(candidate))
370
+ continue;
371
+ const stats = await lstat(candidate);
372
+ if (stats.isDirectory() || !previousExport.ownedPaths.has(candidate)) {
373
+ return blockedResponse(options.url, outputDir, manifestPath, summaryPath, "output_path_conflict", `Refusing to overwrite a path not owned by a previous smartdocscrawl export: ${candidate}`, { errors: crawl.errors, notes: crawl.notes, evidence: crawl.evidence });
374
+ }
375
+ }
376
+ const stageDir = await mkdtemp(join(tmpdir(), "smartdocscrawl-stage-"));
377
+ try {
378
+ const documents = [];
379
+ const stagedDocuments = plannedDocuments.map((plan) => ({
380
+ ...plan,
381
+ stagedPath: join(stageDir, plan.relativePath),
382
+ }));
383
+ const stagedSummaryPath = join(stageDir, SUMMARY_FILE);
384
+ const stagedManifestPath = join(stageDir, MANIFEST_FILE);
385
+ for (const plan of stagedDocuments) {
386
+ const { snapshot, relativePath, stagedPath, depth } = plan;
387
+ await mkdir(dirname(stagedPath), { recursive: true });
388
+ await writeFile(stagedPath, renderDocumentMarkdown(snapshot, depth), "utf8");
389
+ documents.push(buildDocument(snapshot, outputDir, relativePath, depth));
390
+ }
391
+ documents.sort((a, b) => a.depth - b.depth || a.relative_path.localeCompare(b.relative_path));
392
+ const finalResponse = {
393
+ source: "smartdocscrawl",
394
+ url: options.url,
395
+ output_dir: outputDir,
396
+ partial: crawl.partial,
397
+ documents,
398
+ errors: crawl.errors,
399
+ notes: [...crawl.notes],
400
+ manifest_path: manifestPath,
401
+ summary_path: summaryPath,
402
+ evidence: {
403
+ pages_attempted: crawl.evidence.pages_attempted,
404
+ pages_loaded: crawl.evidence.pages_loaded,
405
+ files_written: documents.length + 2,
406
+ generated_at: crawl.evidence.generated_at,
407
+ },
408
+ };
409
+ if (documents.length === 0 && finalResponse.errors.length === 0) {
410
+ finalResponse.partial = true;
411
+ finalResponse.notes.push("No Markdown documents were written");
412
+ }
413
+ await writeFile(stagedSummaryPath, renderSummary(finalResponse), "utf8");
414
+ await writeFile(stagedManifestPath, JSON.stringify(finalResponse, null, 2) + "\n", "utf8");
415
+ for (const plan of stagedDocuments) {
416
+ await mkdir(dirname(plan.filePath), { recursive: true });
417
+ await rename(plan.stagedPath, plan.filePath);
418
+ }
419
+ await rename(stagedSummaryPath, summaryPath);
420
+ await rename(stagedManifestPath, manifestPath);
421
+ const finalOwnedPaths = new Set([summaryPath, manifestPath, ...documents.map((document) => document.file_path)]);
422
+ const staleOwnedPaths = Array.from(previousExport.ownedPaths).filter((candidate) => !finalOwnedPaths.has(candidate));
423
+ await removeOwnedPaths(outputDir, staleOwnedPaths);
424
+ return finalResponse;
425
+ }
426
+ finally {
427
+ await rm(stageDir, { recursive: true, force: true }).catch(() => { });
428
+ }
429
+ }
430
+ //# sourceMappingURL=smartdocscrawl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smartdocscrawl.js","sourceRoot":"","sources":["../src/smartdocscrawl.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "smart-web-mcp",
3
3
  "mcpName": "io.github.rich-jojo/smart-web",
4
- "version": "0.5.14",
4
+ "version": "0.5.19",
5
5
  "packageManager": "npm@10.8.2",
6
- "description": "Portable MCP server for web search, direct-URL fetch, and site crawling.",
6
+ "description": "Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.",
7
7
  "homepage": "https://github.com/rich-jojo/smart-web",
8
8
  "bugs": {
9
9
  "url": "https://github.com/rich-jojo/smart-web/issues"
@@ -16,6 +16,7 @@
16
16
  "exports": {
17
17
  ".": "./dist/lib.js",
18
18
  "./smartcrawl": "./dist/smartcrawl.js",
19
+ "./smartdocscrawl": "./dist/smartdocscrawl.js",
19
20
  "./smartfetch": "./dist/smartfetch.js",
20
21
  "./smartsearch": "./dist/smartsearch.js",
21
22
  "./shared": "./dist/shared.js"
@@ -33,7 +34,7 @@
33
34
  "build": "tsc -p tsconfig.json",
34
35
  "dev": "tsx src/index.ts",
35
36
  "typecheck": "tsc -p tsconfig.json --noEmit",
36
- "test": "node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts",
37
+ "test": "node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/smartcrawl.test.ts src/smartdocscrawl.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts",
37
38
  "check:meta": "node scripts/check-metadata.mjs",
38
39
  "check": "npm run build && npm run check:meta && npm run test",
39
40
  "hooks:install": "node scripts/install-git-hooks.mjs",
@@ -50,7 +51,9 @@
50
51
  "crawler",
51
52
  "smartfetch",
52
53
  "smartsearch",
53
- "smartcrawl"
54
+ "smartcrawl",
55
+ "smartdocscrawl",
56
+ "docs-export"
54
57
  ],
55
58
  "author": "rich-jojo",
56
59
  "license": "MIT",
@@ -64,6 +67,8 @@
64
67
  "playwright": "^1.58.2",
65
68
  "playwright-extra": "^4.3.6",
66
69
  "puppeteer-extra-plugin-stealth": "^2.11.2",
70
+ "turndown": "7.2.2",
71
+ "turndown-plugin-gfm": "1.0.2",
67
72
  "youtube-transcript": "^1.3.0",
68
73
  "zod": "^4.1.12"
69
74
  },