smart-web-mcp 0.44.0 → 1.0.0
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 +352 -1
- package/README.md +33 -566
- package/dist/assessment.d.ts +10 -3
- package/dist/assessment.js +21 -6
- package/dist/assessment.js.map +1 -1
- package/dist/body-export.d.ts +10 -0
- package/dist/body-export.js +28 -0
- package/dist/body-export.js.map +1 -0
- package/dist/browser-session.d.ts +32 -1
- package/dist/browser-session.js +373 -3
- package/dist/browser-session.js.map +1 -1
- package/dist/cli-fetch-options.d.ts +7 -0
- package/dist/cli-fetch-options.js +41 -0
- package/dist/cli-fetch-options.js.map +1 -0
- package/dist/cli.js +31 -12
- package/dist/cli.js.map +1 -1
- package/dist/comment-export.d.ts +10 -0
- package/dist/comment-export.js +39 -0
- package/dist/comment-export.js.map +1 -0
- package/dist/composition.d.ts +1 -22
- package/dist/composition.js +0 -16
- package/dist/composition.js.map +1 -1
- package/dist/extraction/budget.d.ts +3 -0
- package/dist/extraction/budget.js +88 -7
- package/dist/extraction/budget.js.map +1 -1
- package/dist/extraction/document.js +134 -9
- package/dist/extraction/document.js.map +1 -1
- package/dist/korea/coupang-filters.d.ts +5 -0
- package/dist/korea/coupang-filters.js +87 -0
- package/dist/korea/coupang-filters.js.map +1 -0
- package/dist/korea/coupang.d.ts +27 -6
- package/dist/korea/coupang.js +202 -82
- package/dist/korea/coupang.js.map +1 -1
- package/dist/korea/proxy-client.d.ts +1 -0
- package/dist/korea/proxy-client.js +6 -2
- package/dist/korea/proxy-client.js.map +1 -1
- package/dist/korea/smartvertical.d.ts +1 -0
- package/dist/korea/smartvertical.js +39 -25
- package/dist/korea/smartvertical.js.map +1 -1
- package/dist/lib.d.ts +4 -2
- package/dist/lib.js +2 -1
- package/dist/lib.js.map +1 -1
- package/dist/mcp-server.js +39 -15
- package/dist/mcp-server.js.map +1 -1
- package/dist/operator-browser-fixture.d.ts +7 -0
- package/dist/operator-browser-fixture.js +19 -0
- package/dist/operator-browser-fixture.js.map +1 -0
- package/dist/operator-canary-cli.d.ts +6 -0
- package/dist/operator-canary-cli.js +190 -0
- package/dist/operator-canary-cli.js.map +1 -0
- package/dist/operator-canary.d.ts +74 -0
- package/dist/operator-canary.js +135 -0
- package/dist/operator-canary.js.map +1 -0
- package/dist/operator-cdp.d.ts +15 -0
- package/dist/operator-cdp.js +195 -0
- package/dist/operator-cdp.js.map +1 -0
- package/dist/operator-frame.d.ts +3 -0
- package/dist/operator-frame.js +55 -0
- package/dist/operator-frame.js.map +1 -0
- package/dist/settings.d.ts +3 -0
- package/dist/settings.js +1 -0
- package/dist/settings.js.map +1 -1
- package/dist/shared.d.ts +47 -10
- package/dist/shared.js +15 -9
- package/dist/shared.js.map +1 -1
- package/dist/smartbrowser.d.ts +169 -0
- package/dist/smartbrowser.js +288 -0
- package/dist/smartbrowser.js.map +1 -0
- package/dist/smartcrawl.js +16 -21
- package/dist/smartcrawl.js.map +1 -1
- package/dist/smartfetch/academic-fallback.js +3 -5
- package/dist/smartfetch/academic-fallback.js.map +1 -1
- package/dist/smartfetch/archive-fallback.js +2 -5
- package/dist/smartfetch/archive-fallback.js.map +1 -1
- package/dist/smartfetch/assets.d.ts +1 -1
- package/dist/smartfetch/assets.js +28 -1
- package/dist/smartfetch/assets.js.map +1 -1
- package/dist/smartfetch/jina-reader.d.ts +1 -0
- package/dist/smartfetch/jina-reader.js +17 -3
- package/dist/smartfetch/jina-reader.js.map +1 -1
- package/dist/smartfetch/pipeline.js +15 -25
- package/dist/smartfetch/pipeline.js.map +1 -1
- package/dist/smartfetch/provider-policy.d.ts +3 -0
- package/dist/smartfetch/provider-policy.js +45 -2
- package/dist/smartfetch/provider-policy.js.map +1 -1
- package/dist/smartfetch/provider-types.d.ts +8 -0
- package/dist/smartfetch/providers/article.js +76 -10
- package/dist/smartfetch/providers/article.js.map +1 -1
- package/dist/smartfetch/providers/blind-post.d.ts +2 -0
- package/dist/smartfetch/providers/blind-post.js +167 -0
- package/dist/smartfetch/providers/blind-post.js.map +1 -0
- package/dist/smartfetch/providers/clien.d.ts +2 -0
- package/dist/smartfetch/providers/clien.js +157 -0
- package/dist/smartfetch/providers/clien.js.map +1 -0
- package/dist/smartfetch/providers/commerce.d.ts +15 -0
- package/dist/smartfetch/providers/commerce.js +123 -7
- package/dist/smartfetch/providers/commerce.js.map +1 -1
- package/dist/smartfetch/providers/dcinside.js +313 -20
- package/dist/smartfetch/providers/dcinside.js.map +1 -1
- package/dist/smartfetch/providers/hackernews-html.d.ts +21 -0
- package/dist/smartfetch/providers/hackernews-html.js +148 -0
- package/dist/smartfetch/providers/hackernews-html.js.map +1 -0
- package/dist/smartfetch/providers/hackernews.js +76 -14
- package/dist/smartfetch/providers/hackernews.js.map +1 -1
- package/dist/smartfetch/providers/index.js +7 -1
- package/dist/smartfetch/providers/index.js.map +1 -1
- package/dist/smartfetch/providers/linkedin.js +2 -1
- package/dist/smartfetch/providers/linkedin.js.map +1 -1
- package/dist/smartfetch/providers/naver-blog.d.ts +2 -0
- package/dist/smartfetch/providers/naver-blog.js +87 -45
- package/dist/smartfetch/providers/naver-blog.js.map +1 -1
- package/dist/smartfetch/providers/naver-cafe-native.d.ts +7 -0
- package/dist/smartfetch/providers/naver-cafe-native.js +188 -0
- package/dist/smartfetch/providers/naver-cafe-native.js.map +1 -0
- package/dist/smartfetch/providers/naver-cafe.js +165 -4
- package/dist/smartfetch/providers/naver-cafe.js.map +1 -1
- package/dist/smartfetch/providers/naver-map-search.js +1 -1
- package/dist/smartfetch/providers/naver-map-search.js.map +1 -1
- package/dist/smartfetch/providers/ppomppu.d.ts +2 -0
- package/dist/smartfetch/providers/ppomppu.js +289 -0
- package/dist/smartfetch/providers/ppomppu.js.map +1 -0
- package/dist/smartfetch/providers/reddit.js +24 -3
- package/dist/smartfetch/providers/reddit.js.map +1 -1
- package/dist/smartfetch/providers/threads.js +1 -1
- package/dist/smartfetch/providers/threads.js.map +1 -1
- package/dist/smartfetch/providers/wikipedia.js +138 -0
- package/dist/smartfetch/providers/wikipedia.js.map +1 -1
- package/dist/smartfetch.d.ts +11 -2
- package/dist/smartfetch.js +369 -78
- package/dist/smartfetch.js.map +1 -1
- package/dist/smartsearch-brave.d.ts +2 -0
- package/dist/smartsearch-brave.js +43 -0
- package/dist/smartsearch-brave.js.map +1 -0
- package/dist/smartsearch-browser.d.ts +5 -0
- package/dist/smartsearch-browser.js +116 -0
- package/dist/smartsearch-browser.js.map +1 -0
- package/dist/smartsearch-ddg.d.ts +2 -0
- package/dist/smartsearch-ddg.js +46 -0
- package/dist/smartsearch-ddg.js.map +1 -0
- package/dist/smartsearch-node.d.ts +6 -0
- package/dist/smartsearch-node.js +21 -0
- package/dist/smartsearch-node.js.map +1 -0
- package/dist/smartsearch-postgresql.d.ts +7 -0
- package/dist/smartsearch-postgresql.js +44 -0
- package/dist/smartsearch-postgresql.js.map +1 -0
- package/dist/smartsearch-python.d.ts +8 -0
- package/dist/smartsearch-python.js +87 -0
- package/dist/smartsearch-python.js.map +1 -0
- package/dist/smartsearch-quality.d.ts +6 -0
- package/dist/smartsearch-quality.js +47 -0
- package/dist/smartsearch-quality.js.map +1 -0
- package/dist/smartsearch-youtube.d.ts +7 -0
- package/dist/smartsearch-youtube.js +76 -0
- package/dist/smartsearch-youtube.js.map +1 -0
- package/dist/smartsearch.d.ts +3 -0
- package/dist/smartsearch.js +617 -132
- package/dist/smartsearch.js.map +1 -1
- package/package.json +8 -5
- package/python/requirements-undetected-chromedriver.txt +2 -2
|
@@ -51,7 +51,7 @@ const SMARTFETCH_BUDGET_PRESETS = {
|
|
|
51
51
|
maxPostTextChars: 30000,
|
|
52
52
|
maxPostMarkdownChars: 40000,
|
|
53
53
|
maxThreadItems: 25,
|
|
54
|
-
maxCommentItems:
|
|
54
|
+
maxCommentItems: 30,
|
|
55
55
|
maxOutboundLinks: 150,
|
|
56
56
|
maxAssets: 40,
|
|
57
57
|
maxBlocks: 40,
|
|
@@ -61,7 +61,7 @@ const SMARTFETCH_BUDGET_PRESETS = {
|
|
|
61
61
|
maxNestedArrayItems: 100,
|
|
62
62
|
maxNestedStringChars: 12000,
|
|
63
63
|
maxTotalRecordEntries: 2500,
|
|
64
|
-
maxTotalRecordStringChars:
|
|
64
|
+
maxTotalRecordStringChars: 100000,
|
|
65
65
|
maxRecordDepth: 12,
|
|
66
66
|
maxRecordKeyChars: 480,
|
|
67
67
|
maxEnvelopeArrayItems: 100,
|
|
@@ -115,13 +115,34 @@ export function budgetText(value, maxChars) {
|
|
|
115
115
|
if (text.length <= maxChars) {
|
|
116
116
|
return { value: text, metadata: { truncated: false, original_chars: text.length, returned_chars: text.length } };
|
|
117
117
|
}
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
118
|
+
const sourcePrefix = (length) => {
|
|
119
|
+
// Keep UTF-16 budget units, but do not cut a valid surrogate pair in half.
|
|
120
|
+
const previous = text.charCodeAt(length - 1);
|
|
121
|
+
const next = text.charCodeAt(length);
|
|
122
|
+
if (previous >= 0xD800 && previous <= 0xDBFF && next >= 0xDC00 && next <= 0xDFFF)
|
|
123
|
+
length -= 1;
|
|
124
|
+
return text.slice(0, length).trimEnd();
|
|
125
|
+
};
|
|
126
|
+
let prefix = sourcePrefix(maxChars);
|
|
127
|
+
let omitted = text.length - prefix.length;
|
|
128
|
+
let marker = `\n\n[truncated: ${omitted} chars omitted]`;
|
|
129
|
+
// Reserving the marker can increase the omitted count's digit width. Prefixes
|
|
130
|
+
// only shrink, so recomputing the marker converges without scanning the source.
|
|
131
|
+
while (marker.length <= maxChars && prefix.length + marker.length > maxChars) {
|
|
132
|
+
prefix = sourcePrefix(maxChars - marker.length);
|
|
133
|
+
omitted = text.length - prefix.length;
|
|
134
|
+
marker = `\n\n[truncated: ${omitted} chars omitted]`;
|
|
135
|
+
}
|
|
136
|
+
if (marker.length > maxChars) {
|
|
137
|
+
// Tiny budgets retain useful source text; metadata still declares the loss.
|
|
138
|
+
prefix = sourcePrefix(maxChars);
|
|
139
|
+
omitted = text.length - prefix.length;
|
|
140
|
+
marker = "";
|
|
141
|
+
}
|
|
142
|
+
const next = `${prefix}${marker}`;
|
|
122
143
|
return {
|
|
123
144
|
value: next,
|
|
124
|
-
metadata: { truncated: true, original_chars: text.length, returned_chars: next.length },
|
|
145
|
+
metadata: { truncated: true, original_chars: text.length, returned_chars: next.length, omitted_chars: omitted },
|
|
125
146
|
};
|
|
126
147
|
}
|
|
127
148
|
function budgetList(items, maxItems) {
|
|
@@ -162,6 +183,11 @@ export function projectRetrievalAssessment(assessment, policy, metadata, path =
|
|
|
162
183
|
blocked_reason: projectText(assessment.blocked_reason, policy.maxTextChars, `${path}.blocked_reason`),
|
|
163
184
|
signals: signals.items.map((signal, index) => projectText(signal, policy.maxSignalChars, `${path}.signals.${index}`)),
|
|
164
185
|
recommended_handoff: recommendedHandoff,
|
|
186
|
+
continuation: assessment.continuation ? {
|
|
187
|
+
...assessment.continuation,
|
|
188
|
+
reason: projectText(assessment.continuation.reason, policy.maxTextChars, `${path}.continuation.reason`),
|
|
189
|
+
url: projectText(assessment.continuation.url, policy.maxUrlChars, `${path}.continuation.url`),
|
|
190
|
+
} : null,
|
|
165
191
|
};
|
|
166
192
|
}
|
|
167
193
|
function maxStringCharsForPath(path, policy) {
|
|
@@ -281,6 +307,14 @@ function projectStructuredValue(value, policy, state, metadata, path, depth) {
|
|
|
281
307
|
}
|
|
282
308
|
return projected;
|
|
283
309
|
}
|
|
310
|
+
function isCommentCoverage(value) {
|
|
311
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
312
|
+
return false;
|
|
313
|
+
const coverage = value;
|
|
314
|
+
const count = (input) => typeof input === "number" && Number.isSafeInteger(input) && input >= 0;
|
|
315
|
+
return (coverage.declared_count === null || count(coverage.declared_count)) && count(coverage.collected_count)
|
|
316
|
+
&& typeof coverage.complete === "boolean" && (coverage.retrieval_complete === undefined || typeof coverage.retrieval_complete === "boolean");
|
|
317
|
+
}
|
|
284
318
|
export function projectSmartfetchOutput(output, rawPolicy = resolveSmartfetchBudgetPolicy()) {
|
|
285
319
|
const policy = { ...DEFAULT_SMARTFETCH_BUDGET, ...rawPolicy };
|
|
286
320
|
const metadata = {};
|
|
@@ -337,6 +371,48 @@ export function projectSmartfetchOutput(output, rawPolicy = resolveSmartfetchBud
|
|
|
337
371
|
next.comments = comments.items.map((item, index) => projectStructuredValue(item, policy, projectionState, metadata, `comments.${index}`, 0));
|
|
338
372
|
if (comments.metadata.truncated)
|
|
339
373
|
metadata.comments = comments.metadata;
|
|
374
|
+
// Retrieval coverage is not delivery coverage: compact output can omit rows
|
|
375
|
+
// or clip their text/media. Preserve the collected count, but never keep an
|
|
376
|
+
// unqualified complete claim after evidence has been projected away.
|
|
377
|
+
const bodyCoverage = output.post?.body_coverage;
|
|
378
|
+
if (next.post && bodyCoverage && typeof bodyCoverage === "object" && "collected_chars" in bodyCoverage && "complete" in bodyCoverage) {
|
|
379
|
+
const complete = bodyCoverage.complete === true && !metadata["post.text"]?.truncated && typeof next.post.text === "string" && next.post.text.length === bodyCoverage.collected_chars;
|
|
380
|
+
next.post.body_coverage = { collected_chars: bodyCoverage.collected_chars, returned_chars: typeof next.post.text === "string" ? next.post.text.length : 0, complete };
|
|
381
|
+
if (!complete) {
|
|
382
|
+
next.partial = true;
|
|
383
|
+
if (next.pipeline)
|
|
384
|
+
next.pipeline.normalize = { ...next.pipeline.normalize, status: "partial" };
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
const sourceCoverage = output.post?.comment_coverage;
|
|
388
|
+
if (next.post && isCommentCoverage(sourceCoverage)) {
|
|
389
|
+
const coverage = sourceCoverage;
|
|
390
|
+
const retrievalComplete = coverage.retrieval_complete ?? coverage.complete;
|
|
391
|
+
const sourceDeletions = output.post?.comment_deletions;
|
|
392
|
+
const omittedDeletions = Array.isArray(sourceDeletions) && sourceDeletions.length > 0 && !Array.isArray(next.post.comment_deletions);
|
|
393
|
+
const clipped = omittedDeletions || Object.entries(metadata).some(([key, value]) => (key === "comments" || key.startsWith("comments.") || key === "post.comment_deletions" || key.startsWith("post.comment_deletions.")) && value.truncated);
|
|
394
|
+
const complete = coverage.complete === true && retrievalComplete === true && !clipped && next.comments.length === coverage.collected_count && next.comments.length === coverage.declared_count;
|
|
395
|
+
next.post.comment_coverage = {
|
|
396
|
+
declared_count: coverage.declared_count,
|
|
397
|
+
collected_count: coverage.collected_count,
|
|
398
|
+
returned_count: next.comments.length,
|
|
399
|
+
retrieval_complete: retrievalComplete === true,
|
|
400
|
+
complete,
|
|
401
|
+
};
|
|
402
|
+
if (!complete) {
|
|
403
|
+
next.partial = true;
|
|
404
|
+
if (next.pipeline)
|
|
405
|
+
next.pipeline.normalize = { ...next.pipeline.normalize, status: "partial" };
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
// Generic articles may not publish body_coverage, but a clipped primary body
|
|
409
|
+
// is still incomplete delivery. Keep provider completeness distinct from the
|
|
410
|
+
// bytes actually returned to the caller.
|
|
411
|
+
if (metadata["post.text"]?.truncated) {
|
|
412
|
+
next.partial = true;
|
|
413
|
+
if (next.pipeline)
|
|
414
|
+
next.pipeline.normalize = { ...next.pipeline.normalize, status: "partial" };
|
|
415
|
+
}
|
|
340
416
|
const outboundLinks = budgetList(next.outbound_links, policy.maxOutboundLinks);
|
|
341
417
|
next.outbound_links = outboundLinks.items;
|
|
342
418
|
if (outboundLinks.metadata.truncated)
|
|
@@ -349,6 +425,11 @@ export function projectSmartfetchOutput(output, rawPolicy = resolveSmartfetchBud
|
|
|
349
425
|
const projectedAssessment = assessmentSource
|
|
350
426
|
? projectStructuredValue(assessmentSource, envelopePolicy, envelopeProjectionState, metadata, "assessment", 0)
|
|
351
427
|
: undefined;
|
|
428
|
+
if (next.partial && !output.partial && projectedAssessment) {
|
|
429
|
+
if (projectedAssessment.confidence === "high")
|
|
430
|
+
projectedAssessment.confidence = "medium";
|
|
431
|
+
projectedAssessment.signals = projectedAssessment.signals.map(signal => signal === "result:complete" ? "result:partial" : signal);
|
|
432
|
+
}
|
|
352
433
|
if (next.assessment && projectedAssessment)
|
|
353
434
|
next.assessment = projectedAssessment;
|
|
354
435
|
if (next.research_handoff) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"budget.js","sourceRoot":"","sources":["../../src/extraction/budget.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"budget.js","sourceRoot":"","sources":["../../src/extraction/budget.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { extractFromHtml } from "@extractus/article-extractor";
|
|
2
|
+
import { parseHTML } from "linkedom";
|
|
2
3
|
import TurndownService from "turndown";
|
|
3
4
|
import { gfm } from "turndown-plugin-gfm";
|
|
4
5
|
import { absolutizeUrl, asString, dedupeUrls, extractLabeledAnchors, extractMetaDescription, extractMetaProperty, extractTitleFromHtml, stripTags } from "../shared.js";
|
|
@@ -51,6 +52,20 @@ export function cleanDocumentHtml(html, baseUrl, options = {}) {
|
|
|
51
52
|
.replace(/<noscript\b[^>]*>[\s\S]*?<\/noscript>/gi, "")
|
|
52
53
|
.replace(/<template\b[^>]*>[\s\S]*?<\/template>/gi, "")
|
|
53
54
|
.replace(/<!--([\s\S]*?)-->/g, "");
|
|
55
|
+
// A hidden descendant is not readable source evidence, even when a generic
|
|
56
|
+
// article extractor selects its visible parent. Keep the DOM tree intact for
|
|
57
|
+
// nested markup; a regex can stop at an inner closing tag and leak siblings.
|
|
58
|
+
if (/\b(?:hidden|inert|aria-hidden|style)\s*(?:=|\b)/i.test(cleaned)) {
|
|
59
|
+
const { document } = parseHTML(cleaned);
|
|
60
|
+
for (const element of document.querySelectorAll("[hidden], [inert], [aria-hidden], [style]")) {
|
|
61
|
+
const style = element.getAttribute("style") || "";
|
|
62
|
+
if (element.hasAttribute("hidden") || element.hasAttribute("inert")
|
|
63
|
+
|| element.getAttribute("aria-hidden")?.toLowerCase() === "true"
|
|
64
|
+
|| /(?:^|;)\s*(?:display\s*:\s*none|visibility\s*:\s*(?:hidden|collapse))\s*(?:!important)?\s*(?:;|$)/i.test(style))
|
|
65
|
+
element.remove();
|
|
66
|
+
}
|
|
67
|
+
cleaned = document.toString();
|
|
68
|
+
}
|
|
54
69
|
if (removeBoilerplate) {
|
|
55
70
|
cleaned = cleaned
|
|
56
71
|
.replace(/<(nav|header|footer|aside)\b[\s\S]*?<\/\1>/gi, "")
|
|
@@ -75,8 +90,10 @@ function normalizeMarkdownInline(input) {
|
|
|
75
90
|
.replace(/^>\s+/gm, "")
|
|
76
91
|
.replace(/^#{1,6}\s+/gm, "");
|
|
77
92
|
}
|
|
78
|
-
function cleanPlainText(input) {
|
|
79
|
-
|
|
93
|
+
function cleanPlainText(input, markdownSource = true) {
|
|
94
|
+
// HTML text has already been parsed. Markdown marker stripping would also
|
|
95
|
+
// erase literal operators and identifier underscores inside source code.
|
|
96
|
+
return (markdownSource ? normalizeMarkdownInline(String(input || "")) : String(input || ""))
|
|
80
97
|
.replace(/\r\n/g, "\n")
|
|
81
98
|
.replace(/[ \t]+\n/g, "\n")
|
|
82
99
|
.replace(/\n{3,}/g, "\n\n")
|
|
@@ -182,6 +199,98 @@ function sourceFromAdapter(active) {
|
|
|
182
199
|
sourceKind: active.method.includes("jina") || active.method.includes("reader") ? "markdown_relay" : "plain_text",
|
|
183
200
|
};
|
|
184
201
|
}
|
|
202
|
+
function postgresqlDocumentationContent(html, url) {
|
|
203
|
+
try {
|
|
204
|
+
const parsed = new URL(url);
|
|
205
|
+
if (!/^(?:www\.)?postgresql\.org$/i.test(parsed.hostname) || !/^\/docs\/\d+\//.test(parsed.pathname))
|
|
206
|
+
return "";
|
|
207
|
+
const { document } = parseHTML(html);
|
|
208
|
+
return document.querySelector("#docContent > .sect1, #docContent > .refentry")?.outerHTML || "";
|
|
209
|
+
}
|
|
210
|
+
catch {
|
|
211
|
+
return "";
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
function nodeDocumentationFragment(requestedUrl, acquiredUrl) {
|
|
215
|
+
try {
|
|
216
|
+
const requested = new URL(requestedUrl);
|
|
217
|
+
const acquired = new URL(acquiredUrl);
|
|
218
|
+
return requested.origin === "https://nodejs.org" && acquired.origin === requested.origin
|
|
219
|
+
&& requested.pathname === "/docs/latest-v24.x/api/fs.html" && acquired.pathname === requested.pathname
|
|
220
|
+
&& /^#[a-z0-9-]+$/.test(requested.hash);
|
|
221
|
+
}
|
|
222
|
+
catch {
|
|
223
|
+
return false;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
function nodeDocumentationSection(html, requestedUrl, acquiredUrl) {
|
|
227
|
+
if (!nodeDocumentationFragment(requestedUrl, acquiredUrl))
|
|
228
|
+
return "";
|
|
229
|
+
try {
|
|
230
|
+
const requested = new URL(requestedUrl);
|
|
231
|
+
const { document } = parseHTML(html);
|
|
232
|
+
for (const heading of document.querySelectorAll("#apicontent h4")) {
|
|
233
|
+
const anchor = heading.querySelector("a.mark[id]");
|
|
234
|
+
if (anchor?.getAttribute("id") !== requested.hash.slice(1)
|
|
235
|
+
|| new URL(anchor.getAttribute("href") || "", requested).href !== requested.href)
|
|
236
|
+
continue;
|
|
237
|
+
const section = heading.parentElement;
|
|
238
|
+
if (section?.querySelectorAll("h4").length === 1)
|
|
239
|
+
return section.outerHTML;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
catch {
|
|
243
|
+
// An unfamiliar layout must not gain a document section.
|
|
244
|
+
}
|
|
245
|
+
return "";
|
|
246
|
+
}
|
|
247
|
+
function requestedSectionFragment(html, requestedUrl, acquiredUrl) {
|
|
248
|
+
let requested;
|
|
249
|
+
let acquired;
|
|
250
|
+
try {
|
|
251
|
+
requested = new URL(requestedUrl);
|
|
252
|
+
acquired = new URL(acquiredUrl);
|
|
253
|
+
}
|
|
254
|
+
catch {
|
|
255
|
+
return { requested: false, html: "" };
|
|
256
|
+
}
|
|
257
|
+
if (!requested.hash || requested.origin !== acquired.origin
|
|
258
|
+
|| requested.pathname !== acquired.pathname || requested.search !== acquired.search) {
|
|
259
|
+
return { requested: Boolean(requested.hash), html: "" };
|
|
260
|
+
}
|
|
261
|
+
let fragment;
|
|
262
|
+
try {
|
|
263
|
+
fragment = decodeURIComponent(requested.hash.slice(1));
|
|
264
|
+
}
|
|
265
|
+
catch {
|
|
266
|
+
return { requested: true, html: "" };
|
|
267
|
+
}
|
|
268
|
+
if (!fragment || fragment.length > 256)
|
|
269
|
+
return { requested: true, html: "" };
|
|
270
|
+
const { document } = parseHTML(html);
|
|
271
|
+
const primary = Array.from(document.querySelectorAll("main, article, [role=main]"))
|
|
272
|
+
.find((element) => !element.parentElement?.closest("main, article, [role=main]"));
|
|
273
|
+
if (!primary || !primary.querySelector("section"))
|
|
274
|
+
return { requested: false, html: "" };
|
|
275
|
+
const matches = Array.from(document.querySelectorAll("[id]")).filter((element) => element.getAttribute("id") === fragment);
|
|
276
|
+
if (matches.length !== 1)
|
|
277
|
+
return { requested: true, html: "" };
|
|
278
|
+
const target = matches[0];
|
|
279
|
+
const section = target.closest("section");
|
|
280
|
+
if (!section || !primary.contains(section))
|
|
281
|
+
return { requested: true, html: "" };
|
|
282
|
+
const heading = Array.from(section.querySelectorAll("h1, h2, h3, h4, h5, h6"))
|
|
283
|
+
.find((element) => element.closest("section") === section);
|
|
284
|
+
if (!heading)
|
|
285
|
+
return { requested: true, html: "" };
|
|
286
|
+
const children = Array.from(section.children);
|
|
287
|
+
const headingIndex = children.indexOf(heading);
|
|
288
|
+
const leadingAlias = target.parentElement === section && target.tagName.toLowerCase() === "span"
|
|
289
|
+
&& headingIndex > children.indexOf(target)
|
|
290
|
+
&& children.slice(0, headingIndex).every((element) => element.tagName.toLowerCase() === "span" && !element.textContent?.trim());
|
|
291
|
+
const ownsFragment = target === section || target === heading && heading.parentElement === section || leadingAlias;
|
|
292
|
+
return { requested: true, html: ownsFragment ? section.outerHTML : "" };
|
|
293
|
+
}
|
|
185
294
|
function computeQuality(input) {
|
|
186
295
|
const textLength = input.text.length;
|
|
187
296
|
const wordCount = input.text.split(/\s+/).filter(Boolean).length;
|
|
@@ -208,12 +317,24 @@ export async function extractDocumentFromAdapter(active, url, options = {}) {
|
|
|
208
317
|
const source = sourceFromAdapter(active);
|
|
209
318
|
const rawHtml = source.html;
|
|
210
319
|
const cleanedHtml = rawHtml ? cleanDocumentHtml(rawHtml, baseUrl) : "";
|
|
211
|
-
|
|
320
|
+
// The document title alone is not a readable article when the entire body
|
|
321
|
+
// was hidden. Do not let a generic fallback promote that metadata to text.
|
|
322
|
+
const bodyText = cleanedHtml && /<body\b/i.test(rawHtml)
|
|
323
|
+
? normalizeSpace(parseHTML(cleanedHtml).document.body?.textContent || "") : null;
|
|
324
|
+
// Prose-focused extractors can silently discard late rows of reference tables.
|
|
325
|
+
// PostgreSQL publishes chapter and command-reference bodies in these scopes,
|
|
326
|
+
// including syntax blocks and late table rows but excluding page chrome.
|
|
327
|
+
const sectionFragment = requestedSectionFragment(cleanedHtml, url, baseUrl);
|
|
328
|
+
const nodeSection = nodeDocumentationSection(cleanedHtml, url, baseUrl);
|
|
329
|
+
const documentationHtml = nodeSection
|
|
330
|
+
|| sectionFragment.html || postgresqlDocumentationContent(cleanedHtml, baseUrl);
|
|
331
|
+
const missingNodeSection = nodeDocumentationFragment(url, baseUrl) && !nodeSection;
|
|
332
|
+
const fallbackText = cleanPlainText(source.text || (cleanedHtml ? stripTags(cleanedHtml) : active.content), !rawHtml);
|
|
212
333
|
const textMetadata = rawHtml ? { title: "", description: "" } : metadataFromText(fallbackText);
|
|
213
334
|
const fallbackTitle = normalizeSpace(source.title || extractMetaProperty(rawHtml, "og:title") || extractTitleFromHtml(rawHtml) || textMetadata.title);
|
|
214
335
|
const fallbackDescription = normalizeSpace(extractMetaProperty(rawHtml, "og:description") || extractMetaDescription(rawHtml) || textMetadata.description);
|
|
215
|
-
const headings = source.headings.length > 0 ? source.headings : extractHeadingsFromHtml(cleanedHtml);
|
|
216
|
-
const labeledAnchors = extractLabeledAnchors(cleanedHtml, baseUrl);
|
|
336
|
+
const headings = source.headings.length > 0 ? source.headings : extractHeadingsFromHtml(documentationHtml || cleanedHtml);
|
|
337
|
+
const labeledAnchors = extractLabeledAnchors(documentationHtml || cleanedHtml, baseUrl);
|
|
217
338
|
const linkTextByUrl = new Map(labeledAnchors.map((item) => [item.url, item.text]));
|
|
218
339
|
const links = dedupeUrls([
|
|
219
340
|
...labeledAnchors.map((item) => item.url),
|
|
@@ -232,7 +353,7 @@ export async function extractDocumentFromAdapter(active, url, options = {}) {
|
|
|
232
353
|
contentLengthThreshold: 200,
|
|
233
354
|
descriptionLengthThreshold: 120,
|
|
234
355
|
});
|
|
235
|
-
const articleText = cleanPlainText(stripTags(String(article?.content || "")));
|
|
356
|
+
const articleText = cleanPlainText(stripTags(String(article?.content || "")), false);
|
|
236
357
|
title = normalizeSpace(String(article?.title || title));
|
|
237
358
|
description = normalizeSpace(String(article?.description || description));
|
|
238
359
|
text = articleText || fallbackText;
|
|
@@ -245,10 +366,14 @@ export async function extractDocumentFromAdapter(active, url, options = {}) {
|
|
|
245
366
|
extractor = source.sourceKind === "browser_primary" ? "browser_primary" : "fallback";
|
|
246
367
|
}
|
|
247
368
|
}
|
|
248
|
-
|
|
369
|
+
if (documentationHtml) {
|
|
370
|
+
text = stripTags(documentationHtml);
|
|
371
|
+
extractor = "fallback";
|
|
372
|
+
}
|
|
373
|
+
const blocks = cleanedHtml ? extractBlocksFromHtml(documentationHtml || cleanedHtml, baseUrl) : extractBlocksFromText(text);
|
|
249
374
|
const markdown = options.includeMarkdown
|
|
250
375
|
? cleanedHtml
|
|
251
|
-
? renderHtmlToMarkdown(cleanedHtml, baseUrl)
|
|
376
|
+
? renderHtmlToMarkdown(documentationHtml || cleanedHtml, baseUrl)
|
|
252
377
|
: fallbackMarkdown(text)
|
|
253
378
|
: "";
|
|
254
379
|
return {
|
|
@@ -264,7 +389,7 @@ export async function extractDocumentFromAdapter(active, url, options = {}) {
|
|
|
264
389
|
...(markdown ? { markdown } : {}),
|
|
265
390
|
extractor,
|
|
266
391
|
source_kind: source.sourceKind,
|
|
267
|
-
quality: computeQuality({ text, links, sourceHtml: cleanedHtml, partial: !active.ok || !text }),
|
|
392
|
+
quality: computeQuality({ text, links, sourceHtml: cleanedHtml, partial: !active.ok || !text || missingNodeSection || (sectionFragment.requested && !sectionFragment.html && !nodeSection) || bodyText === "" }),
|
|
268
393
|
};
|
|
269
394
|
}
|
|
270
395
|
//# sourceMappingURL=document.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/extraction/document.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/extraction/document.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { BrowserPageSnapshot } from "../browser-session.js";
|
|
2
|
+
import type { CoupangProduct } from "./coupang.js";
|
|
3
|
+
export declare function coupangKrwAmount(price: string | undefined): number | null;
|
|
4
|
+
export declare function matchesCoupangFilter(product: CoupangProduct, action: string, maxPrice?: number): boolean;
|
|
5
|
+
export declare function filteredCoupangBrowserProducts(snapshot: BrowserPageSnapshot, query: string, action: string, maxPrice?: number): CoupangProduct[];
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { parseHTML } from "linkedom";
|
|
2
|
+
import { coupangTitleQueryEvidence, extractCoupangBrowserItems, isCoupangStorefrontProductUrl } from "../smartfetch/providers/commerce.js";
|
|
3
|
+
// An exact KRW amount, not a coupon saving, per-unit price, range or member offer.
|
|
4
|
+
export function coupangKrwAmount(price) {
|
|
5
|
+
const match = price?.trim().match(/^(?:₩\s*)?(\d+|[1-9]\d{0,2}(?:,\d{3})+)(?:\s*(?:원|KRW))?$/);
|
|
6
|
+
if (!match)
|
|
7
|
+
return null;
|
|
8
|
+
const amount = Number(match[1].replace(/,/g, ""));
|
|
9
|
+
return Number.isSafeInteger(amount) && amount > 0 ? amount : null;
|
|
10
|
+
}
|
|
11
|
+
export function matchesCoupangFilter(product, action, maxPrice) {
|
|
12
|
+
if (action === "rocket")
|
|
13
|
+
return product.is_rocket === true;
|
|
14
|
+
if (action !== "budget")
|
|
15
|
+
return true;
|
|
16
|
+
const amount = coupangKrwAmount(product.price);
|
|
17
|
+
return amount !== null && maxPrice !== undefined && amount <= maxPrice;
|
|
18
|
+
}
|
|
19
|
+
// Observed native listing roles, isolated from generic price/snippet extraction.
|
|
20
|
+
// Only these card-local signals can establish a filtered result. No badge is
|
|
21
|
+
// unknown delivery; arrival promises/free shipping are not rocket evidence.
|
|
22
|
+
export function filteredCoupangBrowserProducts(snapshot, query, action, maxPrice) {
|
|
23
|
+
const verified = new Set(extractCoupangBrowserItems(snapshot, query).map(item => item.url));
|
|
24
|
+
if (!verified.size)
|
|
25
|
+
return [];
|
|
26
|
+
const { document } = parseHTML(snapshot.html);
|
|
27
|
+
for (const node of document.querySelectorAll('script, style, template, noscript, [hidden], [inert], [aria-hidden="true"], .fw-hidden, [contenteditable="true"]'))
|
|
28
|
+
node.remove();
|
|
29
|
+
for (const node of document.querySelectorAll("[style]")) {
|
|
30
|
+
if (/(?:^|;)\s*(?:display\s*:\s*none|visibility\s*:\s*(?:hidden|collapse))\s*(?:!important)?\s*(?:;|$)/i.test(node.getAttribute("style") || ""))
|
|
31
|
+
node.remove();
|
|
32
|
+
}
|
|
33
|
+
const result = new Map();
|
|
34
|
+
const seen = new Set();
|
|
35
|
+
const cardSelector = 'li[class*="ProductUnit_productUnit"]';
|
|
36
|
+
for (const card of document.querySelectorAll(cardSelector)) {
|
|
37
|
+
const anchors = [...card.querySelectorAll("a[href]")].filter(anchor => anchor.parentElement === card);
|
|
38
|
+
if (anchors.length !== 1)
|
|
39
|
+
continue;
|
|
40
|
+
const anchor = anchors[0];
|
|
41
|
+
let url;
|
|
42
|
+
try {
|
|
43
|
+
url = new URL(anchor.getAttribute("href") || "", snapshot.final_url);
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
if (!isCoupangStorefrontProductUrl(url.href) || !url.searchParams.get("itemId") || url.searchParams.get("vendorItemId") !== card.getAttribute("data-id"))
|
|
49
|
+
continue;
|
|
50
|
+
const identity = new URLSearchParams({ itemId: url.searchParams.get("itemId"), vendorItemId: url.searchParams.get("vendorItemId") });
|
|
51
|
+
const key = `https://www.coupang.com${url.pathname}?${identity}`;
|
|
52
|
+
if (!verified.has(key))
|
|
53
|
+
continue;
|
|
54
|
+
if (seen.has(key)) {
|
|
55
|
+
result.delete(key);
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
seen.add(key);
|
|
59
|
+
const owned = (selector) => [...anchor.querySelectorAll(selector)].filter(node => node.closest("a") === anchor && node.closest(cardSelector) === card);
|
|
60
|
+
const titles = owned('[class*="ProductUnit_productName"]');
|
|
61
|
+
if (titles.length !== 1)
|
|
62
|
+
continue;
|
|
63
|
+
const title = (titles[0].textContent || "").replace(/\s+/g, " ").trim();
|
|
64
|
+
if (coupangTitleQueryEvidence(title, query) !== true)
|
|
65
|
+
continue;
|
|
66
|
+
const areas = owned('[class*="PriceArea_priceArea"]');
|
|
67
|
+
const prices = owned('[class~="fw-text-[20px]/[24px]"]').filter(node => areas.length === 1 && areas[0].contains(node) && !node.closest("del, s"));
|
|
68
|
+
const priceNode = prices.length === 1 ? prices[0].cloneNode(true) : undefined;
|
|
69
|
+
for (const old of priceNode?.querySelectorAll("del, s") || [])
|
|
70
|
+
old.remove();
|
|
71
|
+
const price = priceNode ? (priceNode.textContent || "").trim() : undefined;
|
|
72
|
+
// A separate observed signup-coupon saving is not the current item price.
|
|
73
|
+
// Other membership/conditional labels anywhere in the price area fail closed.
|
|
74
|
+
const priceContext = (areas[0]?.textContent || "")
|
|
75
|
+
.replace(/[\d,]+원\s*와우 가입 쿠폰/g, "")
|
|
76
|
+
.replace(/\(\s*[\d,.]+\s*(?:ml|kg|g|l|개|매)\s*당\s*[\d,.]+원\s*\)/gi, "");
|
|
77
|
+
const conditional = /쿠폰|와우|회원|카드|적립|할부|당|부터|최대/.test(priceContext);
|
|
78
|
+
const rocket = owned('img[data-testid="wp-ui-biz-badge-item"][data-badge-id="ROCKET"]').length > 0;
|
|
79
|
+
const product = { title, url: key, is_rocket: rocket ? true : null,
|
|
80
|
+
...(price !== undefined && !conditional && coupangKrwAmount(price) !== null ? { price } : {}),
|
|
81
|
+
};
|
|
82
|
+
if (matchesCoupangFilter(product, action, maxPrice))
|
|
83
|
+
result.set(key, product);
|
|
84
|
+
}
|
|
85
|
+
return [...result.values()];
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=coupang-filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coupang-filters.js","sourceRoot":"","sources":["../../src/korea/coupang-filters.ts"],"names":[],"mappings":"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"}
|