@j0hanz/fetch-url-mcp 1.10.22 → 1.10.23
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/lib/dom-prep.d.ts.map +1 -1
- package/dist/lib/dom-prep.js +20 -0
- package/dist/transform/title-policy.d.ts +1 -3
- package/dist/transform/title-policy.d.ts.map +1 -1
- package/dist/transform/title-policy.js +3 -8
- package/dist/transform/transform.d.ts.map +1 -1
- package/dist/transform/transform.js +2 -4
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom-prep.d.ts","sourceRoot":"","sources":["../../src/lib/dom-prep.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AA6oB9D,eAAO,MAAM,sBAAsB,QAAmB,CAAC;AAyCvD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CA6B9D;AAuBD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAY/D;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,MAAM,GACf,MAAM,CASR;AA0CD,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAG5D;AA0RD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CA2BjE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAE1D;AAWD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAQ3D;
|
|
1
|
+
{"version":3,"file":"dom-prep.d.ts","sourceRoot":"","sources":["../../src/lib/dom-prep.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AA6oB9D,eAAO,MAAM,sBAAsB,QAAmB,CAAC;AAyCvD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CA6B9D;AAuBD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAY/D;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,MAAM,GACf,MAAM,CASR;AA0CD,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAG5D;AA0RD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CA2BjE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAE1D;AAWD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAQ3D;AAuDD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,WAAW,GACnB,IAAI,CAON;AA4BD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,WAAW,GACnB,MAAM,CAcR;AA0ED,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,MAAM,GAAG,QAAQ,GAChC,MAAM,CAaR;AA+KD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,QAAQ,GACjB,QAAQ,GAAG,IAAI,CAsBjB"}
|
package/dist/lib/dom-prep.js
CHANGED
|
@@ -961,7 +961,27 @@ export function runDocsControlPass(document) {
|
|
|
961
961
|
stripPromoLinks(document);
|
|
962
962
|
separateAdjacentInlineElements(document);
|
|
963
963
|
}
|
|
964
|
+
const PHRASING_PARENTS = new Set([
|
|
965
|
+
'P',
|
|
966
|
+
'LI',
|
|
967
|
+
'TD',
|
|
968
|
+
'TH',
|
|
969
|
+
'DD',
|
|
970
|
+
'SPAN',
|
|
971
|
+
'LABEL',
|
|
972
|
+
'FIGCAPTION',
|
|
973
|
+
'BLOCKQUOTE',
|
|
974
|
+
]);
|
|
975
|
+
function unwrapInlineButtons(document) {
|
|
976
|
+
for (const btn of document.querySelectorAll('button')) {
|
|
977
|
+
const parent = btn.parentElement;
|
|
978
|
+
if (!parent || !PHRASING_PARENTS.has(parent.tagName))
|
|
979
|
+
continue;
|
|
980
|
+
btn.replaceWith(...Array.from(btn.childNodes));
|
|
981
|
+
}
|
|
982
|
+
}
|
|
964
983
|
function runStructuralNoisePass(document, signal) {
|
|
984
|
+
unwrapInlineButtons(document);
|
|
965
985
|
stripNoise(document, signal);
|
|
966
986
|
}
|
|
967
987
|
function runCodeExamplePass(document) {
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
export interface SyntheticTitleContext {
|
|
2
2
|
readonly title: string | undefined;
|
|
3
|
-
readonly favicon: string | undefined;
|
|
4
|
-
readonly suppressSyntheticFavicon?: boolean;
|
|
5
3
|
}
|
|
6
4
|
export declare function normalizeSyntheticTitleToken(value: string | undefined): string;
|
|
7
5
|
export declare function shouldPreferPrimaryHeadingTitle(primaryHeading: string | undefined, title: string | undefined): boolean;
|
|
8
6
|
export declare function isGithubRepositoryRootUrl(url: string): boolean;
|
|
9
7
|
export declare function maybeStripGithubPrimaryHeading(markdown: string, primaryHeading: string | undefined, url: string): string;
|
|
10
|
-
export declare function maybePrependSyntheticTitle(markdown: string, context: SyntheticTitleContext
|
|
8
|
+
export declare function maybePrependSyntheticTitle(markdown: string, context: SyntheticTitleContext): string;
|
|
11
9
|
//# sourceMappingURL=title-policy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"title-policy.d.ts","sourceRoot":"","sources":["../../src/transform/title-policy.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"title-policy.d.ts","sourceRoot":"","sources":["../../src/transform/title-policy.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAMD,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,CAER;AAED,wBAAgB,+BAA+B,CAC7C,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,OAAO,CAWT;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAU9D;AAkCD,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,GAAG,EAAE,MAAM,GACV,MAAM,CAMR;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,qBAAqB,GAC7B,MAAM,CAMR"}
|
|
@@ -59,14 +59,9 @@ export function maybeStripGithubPrimaryHeading(markdown, primaryHeading, url) {
|
|
|
59
59
|
}
|
|
60
60
|
return stripLeadingHeading(markdown, primaryHeading);
|
|
61
61
|
}
|
|
62
|
-
export function maybePrependSyntheticTitle(markdown, context
|
|
63
|
-
if (!context.title ||
|
|
62
|
+
export function maybePrependSyntheticTitle(markdown, context) {
|
|
63
|
+
if (!context.title || /^#\s/.test(markdown.trimStart())) {
|
|
64
64
|
return markdown;
|
|
65
65
|
}
|
|
66
|
-
|
|
67
|
-
if (context.favicon && !context.suppressSyntheticFavicon) {
|
|
68
|
-
const alt = parseUrlOrNull(url)?.hostname ?? '';
|
|
69
|
-
prefix = `  `;
|
|
70
|
-
}
|
|
71
|
-
return `#${prefix}${context.title}\n\n${markdown}`;
|
|
66
|
+
return `# ${context.title}\n\n${markdown}`;
|
|
72
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/transform/transform.ts"],"names":[],"mappings":"AA0CA,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/transform/transform.ts"],"names":[],"mappings":"AA0CA,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAoB/B,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EAEtB,MAAM,YAAY,CAAC;AA+BpB,UAAU,WAAW;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AA4LD,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,WAAW,GACnB,qBAAqB,GAAG,IAAI,CAE9B;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,qBAAqB,GAAG,IAAI,EACrC,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAChC,MAAM,CAER;AA2aD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAExD,GACA,gBAAgB,CAGlB;AAuKD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE;IACR,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC,GACA,MAAM,CAyBR;AA2DD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,gBAAgB,GAAG,IAAI,EAChC,sBAAsB,EAAE,MAAM,GAAG,QAAQ,GACxC,OAAO,CAQT;AAKD,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,gBAAgB,GAAG,IAAI,GAC/B,OAAO,IAAI,gBAAgB,CAE7B;AAED,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,gBAAgB,GAAG,IAAI,EAChC,aAAa,EAAE,iBAAiB,EAChC,wBAAwB,EAAE,OAAO,EACjC,eAAe,EAAE,OAAO,GACvB,aAAa,GAAG,SAAS,CAuB3B;AA0bD,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,gBAAgB,GACxB,uBAAuB,CAMzB;AAaD,UAAU,kBAAkB;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,qBAAqB,IAAI,kBAAkB,GAAG,IAAI,CAEjE;AAED,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CAEjE;AAED,KAAK,yBAAyB,GAAG,gBAAgB,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAuG1E,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,uBAAuB,CAAC,CAElC;AAED,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,uBAAuB,CAAC,CAElC;AAED,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,GACrB,CAAC"}
|
|
@@ -12,7 +12,7 @@ import { cleanupMarkdownArtifacts, finalizeMarkdownSections, processFencedConten
|
|
|
12
12
|
import { addSourceToMarkdown, buildMetadataFooter, extractTitleFromRawMarkdown, isRawTextContent, } from './metadata.js';
|
|
13
13
|
import { extractMetadata, extractMetadataFromHead, mergeMetadata, normalizeDocumentTitle, } from './metadata.js';
|
|
14
14
|
import { supplementMarkdownFromNextFlight } from './next-flight.js';
|
|
15
|
-
import { isGithubRepositoryRootUrl, maybePrependSyntheticTitle, maybeStripGithubPrimaryHeading,
|
|
15
|
+
import { isGithubRepositoryRootUrl, maybePrependSyntheticTitle, maybeStripGithubPrimaryHeading, shouldPreferPrimaryHeadingTitle, } from './title-policy.js';
|
|
16
16
|
import { getOrCreateWorkerPool, getWorkerPoolStats, shutdownWorkerPool, } from './worker-pool.js';
|
|
17
17
|
function decodeInput(input, encoding) {
|
|
18
18
|
if (typeof input === 'string')
|
|
@@ -712,8 +712,6 @@ function resolveContentTitle(params) {
|
|
|
712
712
|
params.title;
|
|
713
713
|
return {
|
|
714
714
|
title: resolvedTitle,
|
|
715
|
-
suppressSyntheticFavicon: normalizeSyntheticTitleToken(resolvedTitle) ===
|
|
716
|
-
normalizeSyntheticTitleToken(params.primaryHeading),
|
|
717
715
|
};
|
|
718
716
|
}
|
|
719
717
|
const CONTENT_REGION_SELECTORS = [
|
|
@@ -900,7 +898,7 @@ function renderMarkdownStage({ context, url, signal, }) {
|
|
|
900
898
|
}
|
|
901
899
|
function postprocessMarkdownStage({ context, url, signal }, markdown) {
|
|
902
900
|
let content = maybeStripGithubPrimaryHeading(markdown, context.primaryHeading, url);
|
|
903
|
-
content = maybePrependSyntheticTitle(content, context
|
|
901
|
+
content = maybePrependSyntheticTitle(content, context);
|
|
904
902
|
content = supplementMarkdownFromNextFlight(content, context.originalHtml);
|
|
905
903
|
content = finalizeMarkdownSections(content, signal ? { signal, url } : { url });
|
|
906
904
|
return {
|
package/package.json
CHANGED