smart-web-mcp 0.20.4 → 0.20.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
|
@@ -97,7 +97,7 @@ The format is based on Keep a Changelog[^1] and this project uses SemVer.
|
|
|
97
97
|
- `smartfetch` assessment now ignores benign interactive UI phrases in page chrome when deterministic extraction already has complete primary content, avoiding unnecessary web-task handoffs for docs pages such as MDN.
|
|
98
98
|
- `smartfetch` archive fallback now rejects archive.md search/index pages that have no snapshot, and blocked fetches keep handoff guidance even when only reference metadata is available.
|
|
99
99
|
- `smartsearch` MCP calls now honor `contextMaxCharacters` as a rendered text-channel cap, keeping oversized search summaries out of `content[0].text` while preserving full results in `structuredContent`.
|
|
100
|
-
- Wikidocs unavailable/error shells are now reported as partial `blocked_or_unavailable` results with explicit guidance instead of treating CSS/error-container text as successful article content.
|
|
100
|
+
- Wikidocs unavailable/error shells are now reported as partial `blocked_or_unavailable` results with explicit guidance and no Cloudflare/favicon chrome links instead of treating CSS/error-container text as successful article content.
|
|
101
101
|
- Built package bin targets now keep executable permissions after `npm run build`, so local `npm link` / Hermes stdio MCP installs can launch `smart-web-mcp` directly instead of failing with permission denied.
|
|
102
102
|
- `smartcrawl` export reruns now validate prior manifest identity before trusting it as an ownership marker for non-empty output directories.
|
|
103
103
|
- `smartcrawl` export reruns now require complete prior manifests before bypassing the non-empty output directory guard.
|
|
@@ -110,6 +110,13 @@ The format is based on Keep a Changelog[^1] and this project uses SemVer.
|
|
|
110
110
|
- Korean public API helpers now validate outbound URLs and redirects before fetching, blocking localhost, private, and reserved targets unless `network.allowPrivateHosts` is explicitly enabled.
|
|
111
111
|
- 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.
|
|
112
112
|
|
|
113
|
+
## [0.20.5](https://github.com/jojo-labs/smart-web/compare/v0.20.4...v0.20.5) (2026-06-21)
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
### Bug Fixes
|
|
117
|
+
|
|
118
|
+
* keep Wikidocs unavailable output concise ([#315](https://github.com/jojo-labs/smart-web/issues/315)) ([3f603c0](https://github.com/jojo-labs/smart-web/commit/3f603c00ed0d10f87c41e2e5376eea14077bcf2f))
|
|
119
|
+
|
|
113
120
|
## [0.20.4](https://github.com/jojo-labs/smart-web/compare/v0.20.3...v0.20.4) (2026-06-21)
|
|
114
121
|
|
|
115
122
|
|
|
@@ -89,7 +89,8 @@ export const wikidocsProvider = {
|
|
|
89
89
|
const description = extractMetaProperty(html, "og:description") || extractMetaDescription(html);
|
|
90
90
|
const body = extractWikidocsBody(html);
|
|
91
91
|
const unavailable = isWikidocsUnavailableShell(html, title, body);
|
|
92
|
-
const
|
|
92
|
+
const partial = !body || unavailable;
|
|
93
|
+
const text = partial ? wikidocsUnavailableGuidance() : body;
|
|
93
94
|
return {
|
|
94
95
|
post: {
|
|
95
96
|
url: context.url,
|
|
@@ -102,13 +103,13 @@ export const wikidocsProvider = {
|
|
|
102
103
|
},
|
|
103
104
|
thread: [],
|
|
104
105
|
comments: [],
|
|
105
|
-
outbound_links: dedupeUrls([
|
|
106
|
+
outbound_links: partial ? [] : dedupeUrls([
|
|
106
107
|
...context.active.links,
|
|
107
108
|
...extractAbsoluteAnchorHrefs(html, base),
|
|
108
109
|
...extractUrls(html),
|
|
109
110
|
]),
|
|
110
|
-
partial
|
|
111
|
-
errors:
|
|
111
|
+
partial,
|
|
112
|
+
errors: partial
|
|
112
113
|
? [
|
|
113
114
|
...context.errors,
|
|
114
115
|
{ category: "unavailable", code: "wikidocs_article_unavailable", message: wikidocsUnavailableGuidance() },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wikidocs.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/wikidocs.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,0BAA0B,EAE1B,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,SAAS,GACV,MAAM,iBAAiB,CAAA;AAGxB,SAAS,sBAAsB,CAAC,IAAY;IAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,sDAAsD,EAAE,GAAG,CAAC,CAAA;AAClF,CAAC;AAED,SAAS,6BAA6B,CAAC,IAAY;IACjD,OAAO,IAAI,CAAC,OAAO,CAAC,uGAAuG,EAAE,EAAE,CAAC,CAAA;AAClI,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,SAAS,CAAC,6BAA6B,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AACtF,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;AACxD,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAY,EAAE,KAAa,EAAE,IAAY;IAC3E,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IACxC,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IACtC,MAAM,iBAAiB,GAAG,wEAAwE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7G,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,wCAAwC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IACzI,MAAM,eAAe,GAAG,+GAA+G,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC5J,MAAM,iBAAiB,GAAG,0EAA0E,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAE1H,OAAO,iBAAiB,IAAI,iBAAiB,IAAI,CAAC,mBAAmB,IAAI,eAAe,CAAC,CAAA;AAC3F,CAAC;AAED,SAAS,2BAA2B;IAClC,OAAO,+LAA+L,CAAA;AACxM,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,IAAY;IACvC,qCAAqC;IACrC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,0IAA0I,CAAC,CAAA;IAC3K,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,SAAS,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7D,IAAI,IAAI;YAAE,OAAO,IAAI,CAAA;IACvB,CAAC;IAED,2EAA2E;IAC3E,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IACrD,IAAI,gBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC;QAC5B,kDAAkD;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;QAC3D,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;YACpB,0EAA0E;YAC1E,6EAA6E;YAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;YACzC,uEAAuE;YACvE,MAAM,eAAe,GAAG;gBACtB,uEAAuE;gBACvE,UAAU;gBACV,yBAAyB;aAC1B,CAAA;YACD,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;YAC5B,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBACtC,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,GAAG,MAAM;oBAAE,MAAM,GAAG,KAAK,CAAA;YACpD,CAAC;YACD,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;YAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAA;YACrD,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAA;QACvB,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAA;IACxF,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnB,oEAAoE;QACpE,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC;aAChC,OAAO,CAAC,8EAA8E,EAAE,EAAE,CAAC;aAC3F,OAAO,CAAC,mEAAmE,EAAE,EAAE,CAAC,CAAA;QACnF,MAAM,IAAI,GAAG,SAAS,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAA;QAC5D,IAAI,IAAI;YAAE,OAAO,IAAI,CAAA;IACvB,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAuB;IAClD,EAAE,EAAE,UAAU;IACd,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,kBAAkB;IACxD,KAAK,CAAC,SAAS,CAAC,OAA0B;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAA;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAA;QAE/C,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAA;QACjF,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAA;QAC/F,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;QACtC,MAAM,WAAW,GAAG,0BAA0B,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QACjE,MAAM,
|
|
1
|
+
{"version":3,"file":"wikidocs.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/wikidocs.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": "0.20.
|
|
4
|
+
"version": "0.20.5",
|
|
5
5
|
"packageManager": "npm@11.9.0",
|
|
6
6
|
"description": "Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.",
|
|
7
7
|
"homepage": "https://github.com/jojo-labs/smart-web",
|