smart-web-mcp 1.6.3 → 1.6.5
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
|
@@ -5,6 +5,8 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on Keep a Changelog[^1] and this project uses SemVer.
|
|
6
6
|
|
|
7
7
|
## Unreleased
|
|
8
|
+
* Reject cyclic parent pointers in source-bound public GitHub discussion replies as incomplete, matching the generic discussion integrity guard. A matching row count alone cannot certify a navigable thread; this is a fault-injected control, not a claim that a live public discussion currently has cyclic parents.
|
|
9
|
+
* Recover source-bound public GitHub organization discussion replies from the rendered discussion when `include_comments` is requested. The generic direct→one approved-browser continuation now distinguishes an exact thread's top-level comments, nested replies, and count; a deleted/unreadable reply remains partial rather than inventing its text. This covers the measured public HTML shape, not private discussions or pagination.
|
|
8
10
|
* Keep generic discussion reads partial when a reply points to a missing parent, itself, or a cyclic parent chain, even if the displayed comment count matches. A direct orphan may continue once in the approved browser; only source-bound corrected thread evidence completes the read.
|
|
9
11
|
* Recover public GitHub pull-request body, top-level conversation comments and bounded inline review threads through exact-identity issue/pull APIs. Parent-linked review replies and verified file paths stay separate from top-level comments; missing/foreign rows or unverifiable counts remain partial. At most five review pages are read; private and larger threads are not claimed complete.
|
|
10
12
|
* Treat short rendered 404 discussion shells as missing originals rather than complete article bodies, even when navigation chrome hides the error in a generic title. A substantive article quoting an error message remains readable; this does not recover deleted posts.
|
|
@@ -415,6 +417,20 @@ The format is based on Keep a Changelog[^1] and this project uses SemVer.
|
|
|
415
417
|
- Korean public API helpers now validate outbound URLs and redirects before fetching, blocking localhost, private, and reserved targets unless `network.allowPrivateHosts` is explicitly enabled.
|
|
416
418
|
- CI now declares read-only default repository permissions, Dependabot auto-merge pins the reusable workflow without forwarding all caller secrets, and the workflow check enforces those guards.
|
|
417
419
|
|
|
420
|
+
## [1.6.5](https://github.com/jojo-labs/smart-web/compare/v1.6.4...v1.6.5) (2026-10-03)
|
|
421
|
+
|
|
422
|
+
|
|
423
|
+
### Bug Fixes
|
|
424
|
+
|
|
425
|
+
* reject cyclic public discussion reply parents ([#734](https://github.com/jojo-labs/smart-web/issues/734)) ([5c77cbc](https://github.com/jojo-labs/smart-web/commit/5c77cbc2481d0f5ad15c38376f58790837233e54))
|
|
426
|
+
|
|
427
|
+
## [1.6.4](https://github.com/jojo-labs/smart-web/compare/v1.6.3...v1.6.4) (2026-10-03)
|
|
428
|
+
|
|
429
|
+
|
|
430
|
+
### Bug Fixes
|
|
431
|
+
|
|
432
|
+
* recover public discussion comments in approved browser ([#731](https://github.com/jojo-labs/smart-web/issues/731)) ([682cc61](https://github.com/jojo-labs/smart-web/commit/682cc618a8a842a51af76ac7c023f980a8c2950e))
|
|
433
|
+
|
|
418
434
|
## [1.6.3](https://github.com/jojo-labs/smart-web/compare/v1.6.2...v1.6.3) (2026-10-03)
|
|
419
435
|
|
|
420
436
|
|
|
@@ -1,8 +1,90 @@
|
|
|
1
1
|
import { parseHTML } from "linkedom";
|
|
2
2
|
import { cleanDocumentHtml } from "../extraction/document.js";
|
|
3
3
|
const normalize = (text) => text.replace(/\s+/g, " ").trim();
|
|
4
|
+
/** GitHub discussions expose public comment IDs in HTML, not the issue REST API. */
|
|
5
|
+
function githubDiscussion(html, url, method) {
|
|
6
|
+
let requested;
|
|
7
|
+
try {
|
|
8
|
+
requested = new URL(url);
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
const identity = /^\/orgs\/([A-Za-z0-9_.-]+)\/discussions\/([1-9]\d*)\/?$/.exec(requested.pathname);
|
|
14
|
+
if (requested.protocol !== "https:" || requested.hostname !== "github.com" || !identity || requested.search)
|
|
15
|
+
return null;
|
|
16
|
+
const { document } = parseHTML(cleanDocumentHtml(html, url, { removeBoilerplate: false }));
|
|
17
|
+
const root = document.querySelector(".discussion.js-discussion");
|
|
18
|
+
const count = root?.querySelector("#discussion-comment-count");
|
|
19
|
+
if (!root || !count)
|
|
20
|
+
return null;
|
|
21
|
+
const label = normalize(count.textContent || "");
|
|
22
|
+
const match = /(?:^|\b)(\d+)\s+comments?\s*[·•]?\s*(\d+)\s+repl(?:y|ies)\b/i.exec(label);
|
|
23
|
+
const declared = match ? Number(match[1]) + Number(match[2])
|
|
24
|
+
: /\b0\s+comments?\b/i.test(label) && !/\b\d+\s+repl(?:y|ies)\b/i.test(label) ? 0 : null;
|
|
25
|
+
const comments = [];
|
|
26
|
+
const ids = new Set();
|
|
27
|
+
let unbound = false;
|
|
28
|
+
for (const row of root.querySelectorAll("[id^='discussioncomment-']")) {
|
|
29
|
+
const id = row.getAttribute("id") || "";
|
|
30
|
+
if (!/^discussioncomment-[1-9]\d*$/.test(id))
|
|
31
|
+
continue;
|
|
32
|
+
const numeric = id.slice("discussioncomment-".length);
|
|
33
|
+
const ownerPath = row.getAttribute("data-url") || "";
|
|
34
|
+
const expected = `/${identity[1]}/`;
|
|
35
|
+
const suffix = `/discussions/${identity[2]}/comments/${numeric}`;
|
|
36
|
+
const owned = ownerPath.startsWith(expected) && ownerPath.endsWith(suffix)
|
|
37
|
+
&& ownerPath.slice(expected.length, -suffix.length).match(/^[A-Za-z0-9_.-]+$/);
|
|
38
|
+
const body = Array.from(row.querySelectorAll(".comment-body"))
|
|
39
|
+
.find(element => element.closest("[id^='discussioncomment-']") === row);
|
|
40
|
+
const text = normalize(body?.textContent || "");
|
|
41
|
+
if (!owned || !text || ids.has(id)) {
|
|
42
|
+
unbound = true;
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
ids.add(id);
|
|
46
|
+
const parentContainer = row.closest("[id^='child-comments-discussioncomment-']");
|
|
47
|
+
const parent = parentContainer?.id.slice("child-comments-".length);
|
|
48
|
+
comments.push({ id, url: `${url.split("#")[0]}#${id}`, text,
|
|
49
|
+
...(parent ? { parent_id: parent } : {}), source: method });
|
|
50
|
+
if (comments.length >= 500) {
|
|
51
|
+
unbound = true;
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
for (const comment of comments) {
|
|
56
|
+
if (comment.parent_id && (comment.parent_id === comment.id || !ids.has(String(comment.parent_id)))) {
|
|
57
|
+
delete comment.parent_id;
|
|
58
|
+
unbound = true;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const byId = new Map(comments.map(comment => [comment.id, comment]));
|
|
62
|
+
for (const comment of comments) {
|
|
63
|
+
const visited = new Set([comment.id]);
|
|
64
|
+
let current = comment;
|
|
65
|
+
while (typeof current.parent_id === "string") {
|
|
66
|
+
if (visited.has(current.parent_id)) {
|
|
67
|
+
delete comment.parent_id;
|
|
68
|
+
unbound = true;
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
visited.add(current.parent_id);
|
|
72
|
+
current = byId.get(current.parent_id) || current;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
for (const row of root.querySelectorAll("[id^='discussioncomment-']")) {
|
|
76
|
+
if (/^discussioncomment-[1-9]\d*$/.test(row.id))
|
|
77
|
+
row.remove();
|
|
78
|
+
}
|
|
79
|
+
count.remove();
|
|
80
|
+
return { comments, coverage: { declared_count: declared, collected_count: comments.length,
|
|
81
|
+
complete: declared !== null && comments.length === declared && !unbound }, articleHtml: document.toString() };
|
|
82
|
+
}
|
|
4
83
|
/** Read only identity-bearing rows inside a bound discussion region. Unknown is not zero. */
|
|
5
84
|
export function extractGenericDiscussion(html, url, method) {
|
|
85
|
+
const github = githubDiscussion(html, url, method);
|
|
86
|
+
if (github)
|
|
87
|
+
return github;
|
|
6
88
|
const { document } = parseHTML(cleanDocumentHtml(html, url, { removeBoilerplate: false }));
|
|
7
89
|
const roots = Array.from(document.querySelectorAll("#comments, [id^='comments-'], #story_comments, [role='region'][aria-label*='comment' i]"));
|
|
8
90
|
const root = roots.find(element => element.querySelector(".comment[id], [data-comment-id]")) || roots[0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-discussion.js","sourceRoot":"","sources":["../../src/smartfetch/generic-discussion.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generic-discussion.js","sourceRoot":"","sources":["../../src/smartfetch/generic-discussion.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "smart-web-mcp",
|
|
3
3
|
"mcpName": "io.github.jojo-labs/smart-web",
|
|
4
|
-
"version": "1.6.
|
|
4
|
+
"version": "1.6.5",
|
|
5
5
|
"packageManager": "npm@11.9.0",
|
|
6
6
|
"description": "Local MCP for web search, direct-URL fetch, site crawling, docs export, and bounded smartbrowser local browser actions.",
|
|
7
7
|
"homepage": "https://github.com/jojo-labs/smart-web",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"dev:mcp": "node dist/dev.js",
|
|
68
68
|
"dev:watch": "tsc -p tsconfig.json --watch --preserveWatchOutput",
|
|
69
69
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
70
|
-
"test": "node --import tsx --test src/generic-discussion.test.ts src/blind-post.test.ts src/cli-fetch-options.test.ts src/body-export.test.ts src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/hackernews-recovery.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts src/korea/coupang-recovery.test.ts src/search-browser.test.ts src/search-integrity.test.ts src/fetch-isolation.test.ts src/fetch-deadline.test.ts src/search-quality.test.ts src/smartbrowser.test.ts src/browser-participation.test.ts src/retirement.test.ts src/dcinside-comments.test.ts src/ppomppu-comments.test.ts src/clien-comments.test.ts src/naver-blog.test.ts src/naver-cafe.test.ts src/operator-canary.test.ts src/operator-canary-cli.test.ts src/operator-cdp.test.ts src/operator-cancellation.test.ts src/operator-restart.test.ts",
|
|
70
|
+
"test": "node --import tsx --test src/generic-discussion.test.ts src/github-discussion.test.ts src/blind-post.test.ts src/cli-fetch-options.test.ts src/body-export.test.ts src/assessment.test.ts src/browser-session.test.ts src/shared.test.ts src/extraction.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/provider-benchmark-script.test.ts src/smartsearch-quality-benchmark-script.test.ts src/no-secret-surface-watchdog-script.test.ts src/partial-handoff-watchdog-script.test.ts src/render.test.ts src/providers.test.ts src/hackernews-recovery.test.ts src/smartcrawl.test.ts src/smartcrawl-export.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts src/korea/korea.test.ts src/korea/coupang-recovery.test.ts src/search-browser.test.ts src/search-integrity.test.ts src/fetch-isolation.test.ts src/fetch-deadline.test.ts src/search-quality.test.ts src/smartbrowser.test.ts src/browser-participation.test.ts src/retirement.test.ts src/dcinside-comments.test.ts src/ppomppu-comments.test.ts src/clien-comments.test.ts src/naver-blog.test.ts src/naver-cafe.test.ts src/operator-canary.test.ts src/operator-canary-cli.test.ts src/operator-cdp.test.ts src/operator-cancellation.test.ts src/operator-restart.test.ts",
|
|
71
71
|
"test:e2e": "node --import tsx --test src/packaged-mcp.test.ts",
|
|
72
72
|
"test:browser": "node --import tsx --test --test-concurrency=1 src/operator-browser.e2e.test.ts src/browser-actions.e2e.test.ts src/dcinside-pages.e2e.test.ts src/naver-cafe.e2e.test.ts src/operator-cancellation.e2e.test.ts",
|
|
73
73
|
"test:file": "node --import tsx --test",
|