@purepageio/fetch-engines 0.9.1 → 0.10.1

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/dist/types.d.ts CHANGED
@@ -169,21 +169,23 @@ export interface PlaywrightEngineConfig {
169
169
  /**
170
170
  * Enables Single Page Application (SPA) mode, which adjusts fetching strategies
171
171
  * for sites that heavily rely on client-side JavaScript rendering.
172
- * When true, this may override options like `useHttpFallback` and `defaultFastMode`,
173
- * and employ more patient page loading mechanisms.
172
+ * The library now auto-detects many app shells by default; `spaMode` still forces
173
+ * the more patient rendering path even when auto-detection is inconclusive.
174
174
  * @default false
175
175
  */
176
176
  spaMode?: boolean;
177
177
  /**
178
178
  * Explicit delay in milliseconds to wait after initial page load events when spaMode is true,
179
- * allowing more time for client-side rendering and data fetching to complete.
179
+ * allowing more time for client-side rendering and data fetching to complete before
180
+ * the engine considers the DOM stable enough to serialize.
180
181
  * Only applies if `spaMode` is true.
181
- * @default 0 (no additional fixed delay beyond Playwright's own waits)
182
+ * @default 0
182
183
  */
183
184
  spaRenderDelayMs?: number;
184
185
  /**
185
186
  * An array of string or RegExp patterns. If a URL matches any of these patterns,
186
- * the HybridEngine will use PlaywrightEngine directly, bypassing FetchEngine and SPA shell heuristics.
187
+ * the HybridEngine will use PlaywrightEngine directly, bypassing FetchEngine and the default
188
+ * shell-detection pass. Useful when you already know a URL family is browser-only.
187
189
  * @default []
188
190
  */
189
191
  playwrightOnlyPatterns?: (string | RegExp)[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  export interface ConversionOptions {
2
2
  /** Maximum length of the final Markdown content. Defaults to Infinity. */
3
3
  maxContentLength?: number;
4
+ /** Base URL used to resolve relative href/src URLs into absolute URLs. */
5
+ baseUrl?: string;
4
6
  }
5
7
  export declare class MarkdownConverter {
6
8
  constructor();
@@ -15,6 +17,10 @@ export declare class MarkdownConverter {
15
17
  /** Remove img elements with .svg src (external SVG URLs). Inline SVG and data: URIs already stripped by PREPROCESSING_REMOVE_SELECTORS. */
16
18
  private removeSvgImageRefs;
17
19
  private removeBreadcrumbs;
20
+ private removeContentSubtreeBoilerplate;
21
+ private removeHighLinkDensityElementsInSelectedContent;
22
+ private absolutizeRelativeUrls;
23
+ private resolveUrlAgainstBase;
18
24
  /** Promote or inject a primary H1 heading using the provided title (from Kreuzberg metadata or DOM extraction). */
19
25
  private ensurePrimaryHeading;
20
26
  private cleanupHtml;
@@ -26,7 +32,10 @@ export declare class MarkdownConverter {
26
32
  private elementMatchesMainContent;
27
33
  /** Check if element matches boilerplate selectors (node-html-parser has no matches()). */
28
34
  private elementMatchesBoilerplate;
35
+ private isWithinProtectedMainContent;
36
+ private isLikelyConsentOrInterstitial;
29
37
  private removeHighLinkDensityElements;
38
+ private findSemanticMainContent;
30
39
  private detectForumPage;
31
40
  /**
32
41
  * Calculates a score for a given HTML element to determine if it's likely the main content.
@@ -39,5 +48,8 @@ export declare class MarkdownConverter {
39
48
  private extractForumContentElement;
40
49
  private hasHighLinkDensity;
41
50
  private postprocessMarkdown;
51
+ private splitDenseAdjacentLinkRuns;
42
52
  }
53
+ /** Insert a "Source: <url>" line immediately below the first H1 heading. */
54
+ export declare function injectSourceUrl(markdown: string, sourceUrl: string): string;
43
55
  //# sourceMappingURL=markdown-converter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-converter.d.ts","sourceRoot":"","sources":["../../src/utils/markdown-converter.ts"],"names":[],"mappings":"AAiEA,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAID,qBAAa,iBAAiB;;IAK5B;;;;;OAKG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,MAAM;IAerE,OAAO,CAAC,cAAc;IAgGtB,2IAA2I;IAC3I,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,iBAAiB;IA6BzB,mHAAmH;IACnH,OAAO,CAAC,oBAAoB;IAkC5B,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,kBAAkB;IAqB1B,yIAAyI;IACzI,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,iBAAiB;IAIzB,4FAA4F;IAC5F,OAAO,CAAC,yBAAyB;IAuBjC,0FAA0F;IAC1F,OAAO,CAAC,yBAAyB;IAoBjC,OAAO,CAAC,6BAA6B;IA0CrC,OAAO,CAAC,eAAe;IAyDvB;;;;;OAKG;IAIH,OAAO,CAAC,sBAAsB;IA+C9B,OAAO,CAAC,4BAA4B;IAmCpC,OAAO,CAAC,0BAA0B;IAuFlC,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,mBAAmB;CAwD5B"}
1
+ {"version":3,"file":"markdown-converter.d.ts","sourceRoot":"","sources":["../../src/utils/markdown-converter.ts"],"names":[],"mappings":"AAoHA,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID,qBAAa,iBAAiB;;IAK5B;;;;;OAKG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,MAAM;IAerE,OAAO,CAAC,cAAc;IAwGtB,2IAA2I;IAC3I,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,+BAA+B;IAYvC,OAAO,CAAC,8CAA8C;IAuDtD,OAAO,CAAC,sBAAsB;IA2B9B,OAAO,CAAC,qBAAqB;IAqB7B,mHAAmH;IACnH,OAAO,CAAC,oBAAoB;IAkC5B,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,kBAAkB;IAqB1B,yIAAyI;IACzI,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,iBAAiB;IAIzB,4FAA4F;IAC5F,OAAO,CAAC,yBAAyB;IAuBjC,0FAA0F;IAC1F,OAAO,CAAC,yBAAyB;IAkBjC,OAAO,CAAC,4BAA4B;IAKpC,OAAO,CAAC,6BAA6B;IAmBrC,OAAO,CAAC,6BAA6B;IAqDrC,OAAO,CAAC,uBAAuB;IA8B/B,OAAO,CAAC,eAAe;IAyDvB;;;;;OAKG;IAIH,OAAO,CAAC,sBAAsB;IA+C9B,OAAO,CAAC,4BAA4B;IAwCpC,OAAO,CAAC,0BAA0B;IAuFlC,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,mBAAmB;IA2D3B,OAAO,CAAC,0BAA0B;CAUnC;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAM3E"}
@@ -1,5 +1,16 @@
1
- import { convert as kreuzbergConvert } from "@kreuzberg/html-to-markdown";
1
+ import * as kreuzbergHtmlToMarkdown from "@kreuzberg/html-to-markdown";
2
2
  import { parse, HTMLElement as NHPHTMLElement } from "node-html-parser";
3
+ function resolveKreuzbergConvert() {
4
+ const moduleWithOptionalDefault = kreuzbergHtmlToMarkdown;
5
+ if (typeof moduleWithOptionalDefault.convert === "function") {
6
+ return moduleWithOptionalDefault.convert;
7
+ }
8
+ if (typeof moduleWithOptionalDefault.default?.convert === "function") {
9
+ return moduleWithOptionalDefault.default.convert;
10
+ }
11
+ throw new Error("Failed to resolve @kreuzberg/html-to-markdown convert export.");
12
+ }
13
+ const kreuzbergConvert = resolveKreuzbergConvert();
3
14
  // --- Constants ---
4
15
  // Preprocessing - Selectors for removal (balanced approach)
5
16
  const PREPROCESSING_REMOVE_SELECTORS = [
@@ -9,6 +20,37 @@ const PREPROCESSING_REMOVE_SELECTORS = [
9
20
  "iframe:not([title])", // Keep iframes with titles (potential embeds)
10
21
  "svg", // Inline SVGs - decorative icons, bloat RAG with meaningless path data
11
22
  "img[src*='data:image/svg']", // Base64 inline SVG images
23
+ "button",
24
+ "[role='button']",
25
+ "input[type='button']",
26
+ "input[type='submit']",
27
+ "input[type='reset']",
28
+ "#cookies",
29
+ "[id*='cookie-banner']",
30
+ "[id*='cookie-consent']",
31
+ "[class*='cookie-banner']",
32
+ "[class*='cookie-consent']",
33
+ "[class*='consent-banner']",
34
+ ];
35
+ // Content subtree cleanup - remove boilerplate even when nested inside semantic main/article containers.
36
+ const CONTENT_SUBTREE_REMOVE_SELECTORS = [
37
+ "nav",
38
+ "header",
39
+ "footer",
40
+ "aside",
41
+ "[role='navigation']",
42
+ "[role='banner']",
43
+ "[role='contentinfo']",
44
+ "[role='complementary']",
45
+ "[class*='navbar']",
46
+ "[class*='site-nav']",
47
+ "[class*='site-header']",
48
+ "[class*='site-footer']",
49
+ "[id*='navbar']",
50
+ "[id*='site-header']",
51
+ "[id*='site-footer']",
52
+ "#footer",
53
+ "#header",
12
54
  ];
13
55
  // Preprocessing - Selectors for identifying potential main content
14
56
  const MAIN_CONTENT_SELECTORS = [
@@ -27,7 +69,6 @@ const MAIN_CONTENT_SELECTORS = [
27
69
  // Common CMS patterns
28
70
  ".article",
29
71
  ".post",
30
- ".content",
31
72
  ".entry",
32
73
  ".blog-post",
33
74
  // Fallback
@@ -66,7 +107,7 @@ export class MarkdownConverter {
66
107
  */
67
108
  convert(html, options = {}) {
68
109
  // Preprocess HTML to clean and extract main content
69
- const preprocessedHtml = this.preprocessHTML(html);
110
+ const preprocessedHtml = this.preprocessHTML(html, options);
70
111
  // Convert preprocessed HTML to Markdown using Kreuzberg (Rust-native)
71
112
  let markdown = kreuzbergConvert(preprocessedHtml, { headingStyle: "Atx" });
72
113
  // Post-process Markdown for cleanup
@@ -74,7 +115,7 @@ export class MarkdownConverter {
74
115
  return markdown;
75
116
  }
76
117
  // --- HTML Preprocessing ---
77
- preprocessHTML(html) {
118
+ preprocessHTML(html, options) {
78
119
  // This function performs multi-stage processing on the HTML string:
79
120
  // 1. Initial cleanup (regex-based).
80
121
  // 2. Parsing into a DOM tree.
@@ -111,6 +152,7 @@ export class MarkdownConverter {
111
152
  console.warn(`Skipping invalid selector during preprocessing: ${selector}`, e);
112
153
  }
113
154
  });
155
+ this.absolutizeRelativeUrls(rootElement, options.baseUrl);
114
156
  // Remove img elements pointing to .svg URLs (decorative logos/icons; bloat RAG)
115
157
  this.removeSvgImageRefs(rootElement);
116
158
  // Remove breadcrumb UI blocks explicitly (often low link density)
@@ -149,6 +191,11 @@ export class MarkdownConverter {
149
191
  if (body)
150
192
  contentElement = body;
151
193
  }
194
+ // Final content subtree cleanup: remove navigational and footer/header chrome
195
+ // even when it is nested under semantic containers like <main>.
196
+ this.removeContentSubtreeBoilerplate(contentElement);
197
+ // Remove generic high-link-density utility clusters still remaining inside content.
198
+ this.removeHighLinkDensityElementsInSelectedContent(contentElement);
152
199
  // Ensure main page title is rendered as H1 in content
153
200
  this.ensurePrimaryHeading(rootElement, contentElement, bestTitle);
154
201
  let contentHtml = contentElement instanceof NHPHTMLElement ? contentElement.outerHTML : contentElement.textContent;
@@ -199,6 +246,110 @@ export class MarkdownConverter {
199
246
  }
200
247
  }
201
248
  }
249
+ removeContentSubtreeBoilerplate(content) {
250
+ if (!(content instanceof NHPHTMLElement))
251
+ return;
252
+ for (const selector of CONTENT_SUBTREE_REMOVE_SELECTORS) {
253
+ try {
254
+ content.querySelectorAll(selector).forEach((el) => el.remove());
255
+ }
256
+ catch (error) {
257
+ console.warn(`Skipping invalid selector during content subtree cleanup: ${selector}`, error);
258
+ }
259
+ }
260
+ }
261
+ removeHighLinkDensityElementsInSelectedContent(content) {
262
+ if (!(content instanceof NHPHTMLElement))
263
+ return;
264
+ const candidates = content.querySelectorAll("div, section, nav, ul, ol, aside");
265
+ for (const candidate of Array.from(candidates)) {
266
+ if (!(candidate instanceof NHPHTMLElement))
267
+ continue;
268
+ if (candidate === content)
269
+ continue;
270
+ const text = (candidate.textContent || "").replace(/\s+/g, " ").trim();
271
+ if (text.length < MIN_LINK_DENSITY_TEXT_LENGTH)
272
+ continue;
273
+ const links = candidate.querySelectorAll("a");
274
+ if (links.length < 2)
275
+ continue;
276
+ const headingCount = candidate.querySelectorAll("h1, h2, h3, h4, h5, h6").length;
277
+ const paragraphs = candidate.querySelectorAll("p");
278
+ const hasParagraph = paragraphs.length > 0;
279
+ const hasLongParagraph = paragraphs.some((p) => ((p.textContent || "").replace(/\s+/g, " ").trim().length || 0) >= 140);
280
+ let linkTextLength = 0;
281
+ links.forEach((link) => {
282
+ if (link.closest("a") === link) {
283
+ linkTextLength += (link.textContent || "").replace(/\s+/g, " ").trim().length;
284
+ }
285
+ });
286
+ const density = linkTextLength / Math.max(1, text.length);
287
+ const nonLinkTextLength = Math.max(0, text.length - linkTextLength);
288
+ // Keep this intentionally conservative to avoid over-pruning content-heavy landing pages.
289
+ const likelyUtilityCluster = density > 0.78 &&
290
+ headingCount === 0 &&
291
+ !hasParagraph &&
292
+ !hasLongParagraph &&
293
+ text.length <= 260 &&
294
+ nonLinkTextLength < 120;
295
+ const likelyRelatedLinksCluster = links.length >= 4 &&
296
+ density > 0.82 &&
297
+ headingCount === 0 &&
298
+ !hasParagraph &&
299
+ !hasLongParagraph &&
300
+ text.length <= 320 &&
301
+ nonLinkTextLength < 80;
302
+ if (likelyUtilityCluster || likelyRelatedLinksCluster) {
303
+ candidate.remove();
304
+ }
305
+ }
306
+ }
307
+ absolutizeRelativeUrls(root, baseUrl) {
308
+ if (!baseUrl)
309
+ return;
310
+ let base;
311
+ try {
312
+ base = new URL(baseUrl);
313
+ }
314
+ catch {
315
+ return;
316
+ }
317
+ root.querySelectorAll("a[href], img[src], source[src], video[src], audio[src], track[src]").forEach((el) => {
318
+ if (!(el instanceof NHPHTMLElement))
319
+ return;
320
+ const href = el.getAttribute("href");
321
+ if (href) {
322
+ const resolved = this.resolveUrlAgainstBase(href, base);
323
+ if (resolved)
324
+ el.setAttribute("href", resolved);
325
+ }
326
+ const src = el.getAttribute("src");
327
+ if (src) {
328
+ const resolved = this.resolveUrlAgainstBase(src, base);
329
+ if (resolved)
330
+ el.setAttribute("src", resolved);
331
+ }
332
+ });
333
+ }
334
+ resolveUrlAgainstBase(rawValue, base) {
335
+ const value = rawValue.trim();
336
+ if (!value)
337
+ return null;
338
+ // Keep non-http navigations untouched.
339
+ if (/^(?:mailto:|tel:|sms:|javascript:|data:|blob:|about:|file:)/i.test(value)) {
340
+ return value;
341
+ }
342
+ // Already absolute with a scheme.
343
+ if (/^[a-z][a-z0-9+.-]*:/i.test(value)) {
344
+ return value;
345
+ }
346
+ try {
347
+ return new URL(value, base).toString();
348
+ }
349
+ catch {
350
+ return value;
351
+ }
352
+ }
202
353
  /** Promote or inject a primary H1 heading using the provided title (from Kreuzberg metadata or DOM extraction). */
203
354
  ensurePrimaryHeading(_root, content, providedTitle) {
204
355
  if (!(content instanceof NHPHTMLElement))
@@ -305,6 +456,22 @@ export class MarkdownConverter {
305
456
  return true;
306
457
  return false;
307
458
  }
459
+ isWithinProtectedMainContent(el) {
460
+ const protectedAncestor = el.closest?.("main, article, [role='main'], [role='article']");
461
+ return protectedAncestor instanceof NHPHTMLElement;
462
+ }
463
+ isLikelyConsentOrInterstitial(el) {
464
+ const id = (el.getAttribute?.("id") || "").toLowerCase();
465
+ const cls = (el.getAttribute?.("class") || "").toLowerCase();
466
+ const text = (el.textContent || "").toLowerCase();
467
+ if (id.includes("cookie") || cls.includes("cookie") || cls.includes("consent")) {
468
+ return true;
469
+ }
470
+ return (text.includes("manage preferences") ||
471
+ text.includes("agree to all") ||
472
+ text.includes("refuse all") ||
473
+ text.includes("accept cookies"));
474
+ }
308
475
  // Potentially performance-intensive: involves iterating over many elements
309
476
  // and performing sub-queries (querySelectorAll, textContent) for each.
310
477
  removeHighLinkDensityElements(element, threshold) {
@@ -312,6 +479,12 @@ export class MarkdownConverter {
312
479
  for (const el of Array.from(potentialBoilerplate)) {
313
480
  if (!(el instanceof NHPHTMLElement))
314
481
  continue;
482
+ if (this.isWithinProtectedMainContent(el))
483
+ continue;
484
+ if (this.isLikelyConsentOrInterstitial(el)) {
485
+ el.remove();
486
+ continue;
487
+ }
315
488
  const textContent = el.textContent || "";
316
489
  if (textContent.length < MIN_LINK_DENSITY_TEXT_LENGTH)
317
490
  continue;
@@ -332,16 +505,49 @@ export class MarkdownConverter {
332
505
  continue;
333
506
  const density = linkTextLength / textLength;
334
507
  if (density > threshold) {
335
- // Avoid removing the element if it contains a primary content marker
336
508
  const containsMainContent = el.querySelector('main, article, [role="main"], [role="article"]') !== null;
337
- // Also avoid removing if it IS the main content candidate itself
338
509
  const isMainContent = this.elementMatchesMainContent(el);
339
- if (!containsMainContent && !isMainContent) {
340
- el.remove();
341
- }
510
+ if (containsMainContent || isMainContent)
511
+ continue;
512
+ // Protect large layout wrappers that contain both nav and content.
513
+ // If significant non-link text or content signals exist inside the element,
514
+ // it's likely a page-level container rather than pure navigation.
515
+ const nonLinkTextLength = Math.max(0, textLength - linkTextLength);
516
+ const hasHeadings = el.querySelectorAll("h1, h2, h3, h4, h5, h6").length > 0;
517
+ const hasParagraphs = el.querySelectorAll("p").length > 0;
518
+ if (nonLinkTextLength > 200 && (hasHeadings || hasParagraphs))
519
+ continue;
520
+ el.remove();
342
521
  }
343
522
  }
344
523
  }
524
+ findSemanticMainContent(root) {
525
+ const semanticCandidates = root.querySelectorAll("main, article, [role='main'], [role='article']");
526
+ let bestCandidate = null;
527
+ let bestScore = -1;
528
+ for (const element of Array.from(semanticCandidates)) {
529
+ if (!(element instanceof NHPHTMLElement))
530
+ continue;
531
+ const textLength = (element.textContent || "").trim().length;
532
+ const headingCount = element.querySelectorAll("h1, h2, h3").length;
533
+ const imageCount = element.querySelectorAll("img, figure, video").length;
534
+ const paragraphCount = element.querySelectorAll("p").length;
535
+ if (textLength < 120 && headingCount === 0 && imageCount === 0)
536
+ continue;
537
+ let score = textLength;
538
+ if (headingCount > 0)
539
+ score += 150;
540
+ if (paragraphCount > 1)
541
+ score += 75;
542
+ if (imageCount > 0)
543
+ score += 40;
544
+ if (score > bestScore) {
545
+ bestScore = score;
546
+ bestCandidate = element;
547
+ }
548
+ }
549
+ return bestCandidate;
550
+ }
345
551
  detectForumPage(root) {
346
552
  // Count indicators across different selector groups
347
553
  const countMatches = (selectors) => {
@@ -445,6 +651,10 @@ export class MarkdownConverter {
445
651
  // Complexity depends on the number of selectors, matched elements, and the
446
652
  // cost of _calculateElementScore.
447
653
  extractArticleContentElement(root) {
654
+ const semanticMain = this.findSemanticMainContent(root);
655
+ if (semanticMain) {
656
+ return semanticMain;
657
+ }
448
658
  let bestCandidate = null;
449
659
  let maxScore = -1;
450
660
  // Evaluate candidates based on selectors, text length, and tag boosting/penalties
@@ -578,9 +788,11 @@ export class MarkdownConverter {
578
788
  // 3. Remove empty Markdown elements (links, images)
579
789
  processed = processed.replace(/\[\]\([^)]*\)/g, ""); // Empty links: [](...)
580
790
  processed = processed.replace(/!\[\]\([^)]*\)/g, ""); // Empty images: ![](...)
581
- // 4. Normalize image/link URLs (ensure protocol) - Basic handling
791
+ // 4. Normalize protocol-relative image/link URLs
582
792
  processed = processed.replace(/(!?\[[^\]]*\]\()(\/\/)/g, "$1https://"); // Fix protocol-relative URLs //
583
- // Root-relative URLs (/path/...) need base URL context which we don't have here.
793
+ // Add a separator between adjacent links produced from tight inline UI chrome.
794
+ processed = processed.replace(/(\]\([^)]+\))(?=\[)/g, "$1 ");
795
+ processed = this.splitDenseAdjacentLinkRuns(processed);
584
796
  // 5. Normalize newlines (max 2 consecutive newlines)
585
797
  const maxNewlines = "\n".repeat(POSTPROCESSING_MAX_CONSECUTIVE_NEWLINES + 1);
586
798
  const newlineRegex = new RegExp(`${maxNewlines}+`, "g");
@@ -607,5 +819,26 @@ export class MarkdownConverter {
607
819
  // 11. Final trim
608
820
  return processed.trim();
609
821
  }
822
+ splitDenseAdjacentLinkRuns(markdown) {
823
+ return markdown
824
+ .split("\n")
825
+ .map((line) => {
826
+ const linkRuns = line.match(/\[[^\]]*]\([^)]+\)/g);
827
+ if (!linkRuns || linkRuns.length < 3 || line.length < 180)
828
+ return line;
829
+ return line.replace(/(\]\([^)]+\))\s*(?=\[)/g, "$1\n");
830
+ })
831
+ .join("\n");
832
+ }
833
+ }
834
+ /** Insert a "Source: <url>" line immediately below the first H1 heading. */
835
+ export function injectSourceUrl(markdown, sourceUrl) {
836
+ if (!markdown || !sourceUrl)
837
+ return markdown;
838
+ const head = markdown.split("\n").slice(0, 50).join("\n");
839
+ if (/^Source:\s+/m.test(head))
840
+ return markdown;
841
+ const safeUrl = sourceUrl.trim();
842
+ return markdown.replace(/^(\s*#\s.*)$/m, `$1\n\nSource: ${safeUrl}`);
610
843
  }
611
844
  //# sourceMappingURL=markdown-converter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-converter.js","sourceRoot":"","sources":["../../src/utils/markdown-converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown-converter.js","sourceRoot":"","sources":["../../src/utils/markdown-converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export interface HtmlRenderAssessment {
2
+ htmlLength: number;
3
+ visibleTextLength: number;
4
+ titleLength: number;
5
+ scriptCount: number;
6
+ headingCount: number;
7
+ hasMainLike: boolean;
8
+ hasRootContainer: boolean;
9
+ hasEmptyRootContainer: boolean;
10
+ hasNoscriptEnableJs: boolean;
11
+ qualityScore: number;
12
+ renderLikelyNeededScore: number;
13
+ renderLikelyNeeded: boolean;
14
+ }
15
+ export interface SerializedContentAssessment {
16
+ textLength: number;
17
+ titleLength: number;
18
+ qualityScore: number;
19
+ }
20
+ export declare function assessHtmlRenderNeed(html: string): HtmlRenderAssessment;
21
+ /**
22
+ * Detect if an HTTP response is a soft-block page (Cloudflare challenge, CAPTCHA,
23
+ * "verify you're human", etc.) that looks like a real HTML document but contains no
24
+ * actual page content.
25
+ */
26
+ export declare function isSoftBlockPage(html: string): boolean;
27
+ export declare function assessSerializedContent(content: string, contentType: "html" | "markdown"): SerializedContentAssessment;
28
+ export declare function isRenderedContentMeaningfullyBetter(baseline: SerializedContentAssessment, candidate: SerializedContentAssessment): boolean;
29
+ //# sourceMappingURL=render-detection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-detection.d.ts","sourceRoot":"","sources":["../../src/utils/render-detection.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAkED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CA0CvE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAUrD;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAAG,UAAU,GAC/B,2BAA2B,CAmB7B;AAED,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,2BAA2B,EACrC,SAAS,EAAE,2BAA2B,GACrC,OAAO,CAMT"}