smart-web-mcp 1.9.1 → 1.9.3
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 +17 -0
- package/dist/extraction/document.js +2 -1
- package/dist/extraction/document.js.map +1 -1
- package/dist/smartfetch/adaptive-scraper.js +9 -0
- package/dist/smartfetch/adaptive-scraper.js.map +1 -1
- package/dist/smartfetch/jina-reader.js +4 -0
- package/dist/smartfetch/jina-reader.js.map +1 -1
- package/dist/smartfetch/missing-page.d.ts +11 -0
- package/dist/smartfetch/missing-page.js +20 -0
- package/dist/smartfetch/missing-page.js.map +1 -0
- package/dist/smartfetch/providers/article.js +2 -14
- package/dist/smartfetch/providers/article.js.map +1 -1
- package/dist/smartfetch/providers/threads.js +108 -112
- package/dist/smartfetch/providers/threads.js.map +1 -1
- package/dist/smartfetch.js +16 -1
- package/dist/smartfetch.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { parseHTML } from "linkedom";
|
|
1
2
|
import { asString, dedupeUrls, extractMetaDescription, extractMetaProperty, extractMetaName, extractTitleFromHtml, extractUrls } from "../../shared.js";
|
|
2
3
|
function socialTitle(value) {
|
|
3
4
|
const text = asString(value).trim();
|
|
@@ -46,129 +47,121 @@ function threadsUnavailableResult(context) {
|
|
|
46
47
|
method: context.active.method,
|
|
47
48
|
};
|
|
48
49
|
}
|
|
49
|
-
function
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
||
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
const handleWithoutAt = handle.replace(/^@/, "");
|
|
60
|
-
const raw = asString(rawText).replace(/\u00a0/g, " ").replace(/\s+/g, " ").trim();
|
|
61
|
-
const match = raw.match(new RegExp(`^${escapeRegExp(handleWithoutAt)}\\s+\\S+\\s+(?:(?:·|•)\\s+)?(?:(작성자|Author)\\s+)?([\\s\\S]*?)(?:\\s+Translate)?(?:\\s+\\d+)*$`, "i"));
|
|
62
|
-
if (!match)
|
|
63
|
-
return null;
|
|
64
|
-
const text = normalizeSpace(match[2] || "");
|
|
65
|
-
if (!text)
|
|
50
|
+
function postIdentity(value) {
|
|
51
|
+
try {
|
|
52
|
+
const url = new URL(value);
|
|
53
|
+
if (url.protocol !== "https:" || url.username || url.password || url.port
|
|
54
|
+
|| !["threads.com", "www.threads.com", "threads.net", "www.threads.net"].includes(url.hostname))
|
|
55
|
+
return null;
|
|
56
|
+
const match = /^\/@([A-Za-z0-9._]+)\/post\/([A-Za-z0-9_-]+)\/?$/.exec(url.pathname);
|
|
57
|
+
return match ? { handle: match[1].toLowerCase(), id: match[2] } : null;
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
66
60
|
return null;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function samePost(left, right) {
|
|
64
|
+
const a = postIdentity(left);
|
|
65
|
+
const b = postIdentity(right);
|
|
66
|
+
return Boolean(a && b && a.handle === b.handle && a.id === b.id);
|
|
71
67
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
const handleWithoutAt = handle.replace(/^@/, "");
|
|
77
|
-
const lines = asString(rawText)
|
|
78
|
-
.split(/\n+/)
|
|
79
|
-
.map((line) => normalizeSpace(line))
|
|
80
|
-
.filter(Boolean);
|
|
81
|
-
if (lines[0] !== handleWithoutAt)
|
|
68
|
+
/** Native timestamps bind the body; page titles and profile-anchor context do not. */
|
|
69
|
+
function extractPermalinkPost(html, url) {
|
|
70
|
+
const identity = postIdentity(url);
|
|
71
|
+
if (!identity)
|
|
82
72
|
return null;
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
const
|
|
91
|
-
|
|
73
|
+
const { document } = parseHTML(html);
|
|
74
|
+
for (const node of document.querySelectorAll('script, style, noscript, template, svg, input, textarea, [hidden], [inert], [aria-hidden="true"], [contenteditable]:not([contenteditable="false"])'))
|
|
75
|
+
node.remove();
|
|
76
|
+
for (const node of document.querySelectorAll("[style]")) {
|
|
77
|
+
if (/(?:^|;)\s*(?:display\s*:\s*none|visibility\s*:\s*(?:hidden|collapse))\s*(?:!important\s*)?(?:;|$)/i.test(node.getAttribute("style") || ""))
|
|
78
|
+
node.remove();
|
|
79
|
+
}
|
|
80
|
+
const matches = Array.from(document.querySelectorAll("a[href]")).filter((anchor) => {
|
|
81
|
+
try {
|
|
82
|
+
return anchor.querySelector("time") && samePost(new URL(anchor.getAttribute("href") || "", url).href, url);
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
if (matches.length !== 1)
|
|
92
89
|
return null;
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
90
|
+
const permalink = matches[0];
|
|
91
|
+
let header = permalink;
|
|
92
|
+
for (let depth = 0; header.parentElement && depth < 10; depth += 1) {
|
|
93
|
+
const row = header.parentElement;
|
|
94
|
+
if (row.querySelectorAll("time").length !== 1)
|
|
95
|
+
return null;
|
|
96
|
+
const author = Array.from(row.querySelectorAll("a[href]")).some((anchor) => {
|
|
97
|
+
try {
|
|
98
|
+
const profile = new URL(anchor.getAttribute("href") || "", url);
|
|
99
|
+
return profile.origin === new URL(url).origin && profile.pathname.toLowerCase() === `/@${identity.handle}`
|
|
100
|
+
&& normalizeSpace(anchor.textContent || "").toLowerCase() === identity.handle;
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
const bodies = Array.from(row.querySelectorAll('[dir="auto"]')).filter((node) => !header.contains(node) && !node.contains(header)
|
|
107
|
+
&& !node.closest('a, [role="button"]') && !node.querySelector("time, [dir='auto']")
|
|
108
|
+
&& !/^(?:Author|작성자|Translate|\d*)$/i.test(normalizeSpace(node.textContent || "")));
|
|
109
|
+
if (author && bodies.length > 0) {
|
|
110
|
+
const text = bodies.map((node) => (node.textContent || "").trim()).join("\n");
|
|
111
|
+
const date = permalink.querySelector("time")?.getAttribute("datetime") || "";
|
|
112
|
+
return { url: new URL(permalink.getAttribute("href"), url).href, text, title: text.split("\n")[0], author_handle: `@${identity.handle}`,
|
|
113
|
+
isAuthorContinuation: Array.from(header.querySelectorAll("span")).some((node) => /^(?:Author|작성자)$/.test(normalizeSpace(node.textContent || ""))),
|
|
114
|
+
...(date && Number.isFinite(Date.parse(date)) ? { published_at: date } : {}) };
|
|
115
|
+
}
|
|
116
|
+
header = row;
|
|
104
117
|
}
|
|
105
|
-
|
|
106
|
-
if (primaryText)
|
|
107
|
-
contexts.add(primaryText);
|
|
108
|
-
return Array.from(contexts);
|
|
118
|
+
return null;
|
|
109
119
|
}
|
|
110
|
-
function extractThreadBlocksFromActive(active,
|
|
111
|
-
|
|
120
|
+
function extractThreadBlocksFromActive(active, url) {
|
|
121
|
+
const bound = extractPermalinkPost(active.content, url);
|
|
122
|
+
if (!bound)
|
|
112
123
|
return [];
|
|
113
|
-
const
|
|
114
|
-
const
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
const cleaned = cleanThreadBlockText(contextText, handle);
|
|
118
|
-
if (!cleaned)
|
|
119
|
-
continue;
|
|
120
|
-
if (blocks.length > 0 && !cleaned.isAuthorContinuation)
|
|
124
|
+
const { document } = parseHTML(active.content);
|
|
125
|
+
const urls = new Set();
|
|
126
|
+
for (const anchor of document.querySelectorAll("a[href]")) {
|
|
127
|
+
if (!anchor.querySelector("time"))
|
|
121
128
|
continue;
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
text: cleaned.text,
|
|
129
|
-
author_handle: handle,
|
|
130
|
-
});
|
|
129
|
+
try {
|
|
130
|
+
const link = new URL(anchor.getAttribute("href") || "", url).href;
|
|
131
|
+
if (postIdentity(link)?.handle === postIdentity(url)?.handle && !samePost(link, url))
|
|
132
|
+
urls.add(link);
|
|
133
|
+
}
|
|
134
|
+
catch { /* Not a source permalink. */ }
|
|
131
135
|
}
|
|
132
|
-
|
|
136
|
+
const related = Array.from(urls).slice(0, 30).map(link => extractPermalinkPost(active.content, link))
|
|
137
|
+
.filter((row) => Boolean(row?.isAuthorContinuation));
|
|
138
|
+
return [bound, ...related].map(({ isAuthorContinuation: _marker, ...row }) => row);
|
|
133
139
|
}
|
|
134
|
-
|
|
135
|
-
|
|
140
|
+
const BROWSER_METHODS = ["playwright_stealth", "local_browser_cdp", "undetected_chromedriver"];
|
|
141
|
+
async function maybeEnrichThreadsFromBrowser(context) {
|
|
142
|
+
if (!samePost(context.resolvedUrl || context.url, context.url))
|
|
143
|
+
return null;
|
|
144
|
+
const activeBlocks = extractThreadBlocksFromActive(context.active, context.resolvedUrl || context.url);
|
|
145
|
+
if (activeBlocks.length > 0)
|
|
146
|
+
return { blocks: activeBlocks, browser: BROWSER_METHODS.includes(context.active.method) };
|
|
147
|
+
if (!context.runBrowserSession || BROWSER_METHODS.includes(context.active.method))
|
|
148
|
+
return null;
|
|
149
|
+
const deadline = context.deadlineAt ?? Date.now() + context.timeoutMs;
|
|
150
|
+
const remaining = Math.min(context.timeoutMs, deadline - Date.now());
|
|
151
|
+
if (remaining <= 0)
|
|
136
152
|
return null;
|
|
137
|
-
const activeBlocks = extractThreadBlocksFromActive(context.active, handle, context.resolvedUrl || context.url);
|
|
138
|
-
if (activeBlocks.length > 1)
|
|
139
|
-
return activeBlocks;
|
|
140
|
-
if (["playwright_stealth", "local_browser_cdp", "undetected_chromedriver"].includes(context.active.method))
|
|
141
|
-
return activeBlocks.length > 0 ? activeBlocks : null;
|
|
142
153
|
const browser = await context.runBrowserSession({
|
|
154
|
+
...context.browserSessionOptions,
|
|
143
155
|
url: context.resolvedUrl || context.url,
|
|
144
|
-
timeoutMs:
|
|
156
|
+
timeoutMs: remaining,
|
|
145
157
|
waitUntil: "networkidle",
|
|
146
158
|
scrollSteps: 6,
|
|
147
159
|
maxAnchors: 800,
|
|
148
160
|
}).catch(() => null);
|
|
149
|
-
if (!browser?.ok)
|
|
150
|
-
return null;
|
|
151
|
-
const browserActive = {
|
|
152
|
-
ok: true,
|
|
153
|
-
method: browser.method,
|
|
154
|
-
content: browser.html || browser.text || "",
|
|
155
|
-
links: browser.links || [],
|
|
156
|
-
final_url: browser.final_url,
|
|
157
|
-
anchors: browser.anchors.map((anchor) => ({ href: anchor.href, text: anchor.text, context: anchor.context })),
|
|
158
|
-
primary_content: {
|
|
159
|
-
...(browser.content_html ? { html: browser.content_html } : {}),
|
|
160
|
-
...(browser.content_text ? { text: browser.content_text } : {}),
|
|
161
|
-
...(browser.title ? { title: browser.title } : {}),
|
|
162
|
-
...(Array.isArray(browser.headings) ? { headings: browser.headings } : {}),
|
|
163
|
-
source: "browser_snapshot",
|
|
164
|
-
},
|
|
165
|
-
};
|
|
166
|
-
const browserBlocks = extractThreadBlocksFromActive(browserActive, handle, browser.final_url || context.resolvedUrl || context.url);
|
|
167
|
-
if (browserBlocks.length > 0)
|
|
168
|
-
return browserBlocks;
|
|
169
|
-
if (text || images.length > 0)
|
|
161
|
+
if (!browser?.ok || Date.now() >= deadline || !samePost(browser.final_url, context.url))
|
|
170
162
|
return null;
|
|
171
|
-
|
|
163
|
+
const blocks = extractThreadBlocksFromActive({ ok: true, method: browser.method, content: browser.html, links: [] }, browser.final_url);
|
|
164
|
+
return blocks.length > 0 && Date.now() < deadline ? { blocks, browser: true } : null;
|
|
172
165
|
}
|
|
173
166
|
export const threadsProvider = {
|
|
174
167
|
id: "threads",
|
|
@@ -182,11 +175,12 @@ export const threadsProvider = {
|
|
|
182
175
|
return threadsUnavailableResult(context);
|
|
183
176
|
const text = asString(description).trim();
|
|
184
177
|
const images = image ? [image] : [];
|
|
185
|
-
const
|
|
186
|
-
const primaryBlock =
|
|
178
|
+
const recovery = await maybeEnrichThreadsFromBrowser(context);
|
|
179
|
+
const primaryBlock = recovery?.blocks[0];
|
|
187
180
|
const postText = asString(primaryBlock?.text || text).trim();
|
|
188
|
-
const thread =
|
|
181
|
+
const thread = recovery ? recovery.blocks.slice(1) : [];
|
|
189
182
|
const threadText = thread.map((item) => asString(item.text)).join("\n");
|
|
183
|
+
const method = primaryBlock ? `threads_${recovery?.browser ? "browser" : "permalink"}_${thread.length > 0 ? "thread" : "post"}` : context.active.method;
|
|
190
184
|
return {
|
|
191
185
|
post: {
|
|
192
186
|
url: context.resolvedUrl || context.url,
|
|
@@ -194,17 +188,19 @@ export const threadsProvider = {
|
|
|
194
188
|
description: postText,
|
|
195
189
|
text: postText,
|
|
196
190
|
author: social.author,
|
|
197
|
-
author_handle: social.handle
|
|
191
|
+
author_handle: primaryBlock?.author_handle || social.handle || `@${postIdentity(context.url)?.handle || ""}`,
|
|
198
192
|
images,
|
|
199
|
-
|
|
193
|
+
...(primaryBlock?.published_at ? { published_at: primaryBlock.published_at } : {}),
|
|
194
|
+
extractor: primaryBlock ? method : "threads_meta",
|
|
195
|
+
body_coverage: { complete: Boolean(primaryBlock), source: primaryBlock ? "threads_permalink" : "threads_metadata" },
|
|
200
196
|
status: postText || images.length ? "ok" : "blocked_or_unavailable",
|
|
201
197
|
},
|
|
202
198
|
thread,
|
|
203
199
|
comments: [],
|
|
204
200
|
outbound_links: dedupeUrls(extractUrls(`${postText}\n${threadText}`)),
|
|
205
|
-
partial: !
|
|
201
|
+
partial: !primaryBlock,
|
|
206
202
|
errors: context.errors,
|
|
207
|
-
method
|
|
203
|
+
method,
|
|
208
204
|
};
|
|
209
205
|
},
|
|
210
206
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threads.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/threads.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"threads.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/threads.ts"],"names":[],"mappings":"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"}
|
package/dist/smartfetch.js
CHANGED
|
@@ -1300,6 +1300,7 @@ async function runSmartfetchTask(options, runtime, deadlineAt, output) {
|
|
|
1300
1300
|
// A failed comment continuation can retain a readable direct body, so
|
|
1301
1301
|
// active.ok alone is not recovery. Snapshot before normalizers append errors.
|
|
1302
1302
|
const acquisitionErrors = browserAttempt.ok ? [...output.errors] : [];
|
|
1303
|
+
let threadsBrowserMethod = "";
|
|
1303
1304
|
const normalized = await provider.normalize({
|
|
1304
1305
|
url: options.url,
|
|
1305
1306
|
resolvedUrl: providerUrl,
|
|
@@ -1316,7 +1317,12 @@ async function runSmartfetchTask(options, runtime, deadlineAt, output) {
|
|
|
1316
1317
|
},
|
|
1317
1318
|
active,
|
|
1318
1319
|
errors: output.errors,
|
|
1319
|
-
runBrowserSession:
|
|
1320
|
+
runBrowserSession: provider.id === "threads" ? async (options) => {
|
|
1321
|
+
threadsBrowserMethod = "threads_browser_continuation";
|
|
1322
|
+
const browser = await (runtime.runBrowserSession || runBrowserSession)(options);
|
|
1323
|
+
threadsBrowserMethod = browser.method;
|
|
1324
|
+
return browser;
|
|
1325
|
+
} : runtime.runBrowserSession || runBrowserSession,
|
|
1320
1326
|
...(recoveredBrowserDiscussion && provider.id === "generic" ? { recoveredDiscussion: recoveredBrowserDiscussion } : {}),
|
|
1321
1327
|
fetchDiscussionPage: async (pageUrl) => {
|
|
1322
1328
|
const pageDeadline = Date.now() + Math.min(8000, Math.max(1000, remaining() - 1000));
|
|
@@ -1328,6 +1334,15 @@ async function runSmartfetchTask(options, runtime, deadlineAt, output) {
|
|
|
1328
1334
|
...(options.includeMarkdown ? { includeMarkdown: true } : {}),
|
|
1329
1335
|
...(options.includeComments && (provider.id === "generic" || provider.id === "discourse" || provider.id === "naver-blog") ? { includeComments: true } : {}),
|
|
1330
1336
|
});
|
|
1337
|
+
if (threadsBrowserMethod) {
|
|
1338
|
+
const accepted = !normalized.partial && /^threads_browser_(?:post|thread)$/.test(normalized.method);
|
|
1339
|
+
output.evidence.playwright_attempted = true;
|
|
1340
|
+
output.evidence.playwright_success ||= accepted;
|
|
1341
|
+
output.pipeline.acquire.used_browser = true;
|
|
1342
|
+
output.pipeline.acquire.attempts.push(threadsBrowserMethod);
|
|
1343
|
+
output.pipeline.acquire.attempt_map?.push({ phase: "browser_fallback", status: accepted ? "succeeded" : "failed",
|
|
1344
|
+
method: threadsBrowserMethod, reason: accepted ? "Threads normalization recovered the exact source-bound post" : "Threads normalization did not verify the requested post" });
|
|
1345
|
+
}
|
|
1331
1346
|
remaining();
|
|
1332
1347
|
const academic = await maybeUseAcademicFallback({
|
|
1333
1348
|
url: options.url,
|