smart-web-mcp 0.20.0 → 0.20.2
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 +40 -0
- package/dist/korea/fine-dust.d.ts +7 -0
- package/dist/korea/fine-dust.js +49 -1
- package/dist/korea/fine-dust.js.map +1 -1
- package/dist/korea/law.d.ts +8 -0
- package/dist/korea/law.js +53 -3
- package/dist/korea/law.js.map +1 -1
- package/dist/korea/proxy-client.d.ts +1 -0
- package/dist/korea/proxy-client.js +103 -8
- package/dist/korea/proxy-client.js.map +1 -1
- package/dist/korea/public-restroom.d.ts +7 -4
- package/dist/korea/public-restroom.js +71 -12
- package/dist/korea/public-restroom.js.map +1 -1
- package/dist/korea/real-estate.d.ts +7 -0
- package/dist/korea/real-estate.js +72 -5
- package/dist/korea/real-estate.js.map +1 -1
- package/dist/korea/stock.js +49 -20
- package/dist/korea/stock.js.map +1 -1
- package/dist/korea/weather.js +5 -0
- package/dist/korea/weather.js.map +1 -1
- package/dist/mcp-server.js +1 -4
- package/dist/mcp-server.js.map +1 -1
- package/dist/smartcrawl.js +14 -0
- package/dist/smartcrawl.js.map +1 -1
- package/dist/smartfetch/provider-policy.d.ts +1 -0
- package/dist/smartfetch/provider-policy.js +10 -1
- package/dist/smartfetch/provider-policy.js.map +1 -1
- package/dist/smartfetch/providers/naver-blog.js +76 -17
- package/dist/smartfetch/providers/naver-blog.js.map +1 -1
- package/dist/smartfetch/providers/naver-cafe.js +26 -7
- package/dist/smartfetch/providers/naver-cafe.js.map +1 -1
- package/dist/smartfetch/providers/wikidocs.js +33 -11
- package/dist/smartfetch/providers/wikidocs.js.map +1 -1
- package/package.json +1 -1
|
@@ -60,6 +60,19 @@ function buildArticleApiUrl(cafeId, articleId, art) {
|
|
|
60
60
|
apiUrl.searchParams.set("art", art);
|
|
61
61
|
return apiUrl.toString();
|
|
62
62
|
}
|
|
63
|
+
function isNaverCafeShellText(text) {
|
|
64
|
+
return /(?:\bg_sUserId\b|\bg_sClubId\b|\bLH_exec\b|\bgnbLogin\b|\b__ghtCdnUrl\b|\bwindow\.nhn\b|웹 접근성이 좋은 모바일 웹에서 사용하겠습니까|게시판 목록 바로가기\s*본문 바로가기|내소식 안내 레이어팝업|카페홈\s+이웃\s+가입카페\s+새글\s+내소식)/i.test(text);
|
|
65
|
+
}
|
|
66
|
+
function buildUnavailableText(title, description, status) {
|
|
67
|
+
const details = [
|
|
68
|
+
"Naver Cafe article content is unavailable from the public article endpoint.",
|
|
69
|
+
status ? `Endpoint status: ${status}.` : "",
|
|
70
|
+
title ? `Visible title: ${title}.` : "",
|
|
71
|
+
description ? `Visible description: ${description}.` : "",
|
|
72
|
+
"Open the source URL in an authenticated Naver Cafe session for the full post.",
|
|
73
|
+
];
|
|
74
|
+
return details.filter(Boolean).join(" ");
|
|
75
|
+
}
|
|
63
76
|
function looksLikeNaverCafeArticle(url) {
|
|
64
77
|
try {
|
|
65
78
|
const parsed = new URL(url);
|
|
@@ -74,9 +87,13 @@ export const naverCafeProvider = {
|
|
|
74
87
|
id: "naver-cafe",
|
|
75
88
|
matches: (url, target) => target === "naver_cafe_post" || (target === "generic" && isNaverCafeUrl(url) && looksLikeNaverCafeArticle(url)),
|
|
76
89
|
async normalize(context) {
|
|
77
|
-
const fallbackTitle = extractMetaProperty(context.active.content, "og:title") || extractTitleFromHtml(context.active.content);
|
|
90
|
+
const fallbackTitle = extractMetaProperty(context.active.content, "og:title") || asString(context.active.primary_content?.title) || extractTitleFromHtml(context.active.content);
|
|
78
91
|
const fallbackDescription = extractMetaProperty(context.active.content, "og:description") || extractMetaDescription(context.active.content);
|
|
79
|
-
const
|
|
92
|
+
const rawFallbackText = stripTags(context.active.content);
|
|
93
|
+
const primaryFallbackText = asString(context.active.primary_content?.text) || stripTags(asString(context.active.primary_content?.html));
|
|
94
|
+
const fallbackText = primaryFallbackText || rawFallbackText;
|
|
95
|
+
const fallbackIsShellText = isNaverCafeShellText(fallbackText) || (!primaryFallbackText && isNaverCafeShellText(rawFallbackText));
|
|
96
|
+
const safeFallbackText = fallbackIsShellText ? buildUnavailableText(fallbackTitle, fallbackDescription) : fallbackText;
|
|
80
97
|
const identifiers = parseNaverCafeIdentifiers(context.resolvedUrl || context.url, context.active.content);
|
|
81
98
|
if (!identifiers.cafeId || !identifiers.articleId || !identifiers.art) {
|
|
82
99
|
return {
|
|
@@ -84,9 +101,9 @@ export const naverCafeProvider = {
|
|
|
84
101
|
url: context.url,
|
|
85
102
|
title: fallbackTitle,
|
|
86
103
|
description: fallbackDescription,
|
|
87
|
-
text:
|
|
104
|
+
text: safeFallbackText.slice(0, 30000),
|
|
88
105
|
extractor: "fallback",
|
|
89
|
-
status:
|
|
106
|
+
status: safeFallbackText ? "partial_text_only" : "blocked_or_unavailable",
|
|
90
107
|
},
|
|
91
108
|
thread: [],
|
|
92
109
|
comments: [],
|
|
@@ -113,17 +130,19 @@ export const naverCafeProvider = {
|
|
|
113
130
|
const cafe = result.ok ? result.data?.result?.cafe || {} : {};
|
|
114
131
|
const contentHtml = asString(article?.contentHtml);
|
|
115
132
|
const body = stripTags(contentHtml);
|
|
133
|
+
const partialTitle = asString(article?.subject) || fallbackTitle;
|
|
134
|
+
const partialText = body || (fallbackIsShellText || !fallbackText ? buildUnavailableText(partialTitle, fallbackDescription, result.status) : fallbackText);
|
|
116
135
|
if (!result.ok || !article?.subject || !body) {
|
|
117
136
|
return {
|
|
118
137
|
post: {
|
|
119
138
|
url: context.url,
|
|
120
139
|
canonical_url: apiUrl,
|
|
121
|
-
title:
|
|
140
|
+
title: partialTitle,
|
|
122
141
|
description: fallbackDescription,
|
|
123
|
-
text:
|
|
142
|
+
text: partialText.slice(0, 30000),
|
|
124
143
|
author: asString(writer?.nick),
|
|
125
144
|
extractor: body ? "naver_cafe_article_json" : "fallback",
|
|
126
|
-
status:
|
|
145
|
+
status: partialText ? "partial_text_only" : "blocked_or_unavailable",
|
|
127
146
|
},
|
|
128
147
|
thread: [],
|
|
129
148
|
comments: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naver-cafe.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/naver-cafe.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"naver-cafe.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/naver-cafe.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,21 @@ function removeStyleDeclarationHelpers(html) {
|
|
|
8
8
|
function stripWikidocsContent(html) {
|
|
9
9
|
return stripTags(removeStyleDeclarationHelpers(removeNonContentBlocks(html))).trim();
|
|
10
10
|
}
|
|
11
|
+
function cleanText(value) {
|
|
12
|
+
return String(value || "").replace(/\s+/g, " ").trim();
|
|
13
|
+
}
|
|
14
|
+
function isWikidocsUnavailableShell(html, title, text) {
|
|
15
|
+
const normalizedTitle = cleanText(title);
|
|
16
|
+
const normalizedText = cleanText(text);
|
|
17
|
+
const hasErrorContainer = /class=["'][^"']*(?:error-container|error-message|not-found)[^"']*["']/i.test(html);
|
|
18
|
+
const titleLooksLikeShell = /^오류(?:\s|$|[-–—:])/i.test(normalizedTitle) || /^(?:error|not found|page not found)\b/i.test(normalizedTitle);
|
|
19
|
+
const koreanShellText = /페이지를 찾을 수 없습니다|삭제되었거나 비공개|존재하지 않는 페이지|요청하신 페이지를 찾을 수 없습니다|권한이 없습니다|접근 권한이 없습니다|비공개 (?:문서|페이지)|삭제된 (?:문서|페이지)/i.test(normalizedText);
|
|
20
|
+
const englishShellTitle = /(?:not found|page unavailable|page not found|private page|deleted page)/i.test(normalizedTitle);
|
|
21
|
+
return hasErrorContainer || englishShellTitle || (titleLooksLikeShell && koreanShellText);
|
|
22
|
+
}
|
|
23
|
+
function wikidocsUnavailableGuidance() {
|
|
24
|
+
return "Wikidocs page unavailable: the page rendered an error or unavailable shell instead of article content. Verify the URL, or retry with an authenticated/browser session if the page is private.";
|
|
25
|
+
}
|
|
11
26
|
/**
|
|
12
27
|
* Extract the main article body from wikidocs.net HTML.
|
|
13
28
|
*
|
|
@@ -20,8 +35,8 @@ function extractWikidocsBody(html) {
|
|
|
20
35
|
// Primary: the dedicated content div
|
|
21
36
|
const contentMatch = html.match(/<div[^>]+class=["'][^"']*page-content[^"']*["'][^>]*>([\s\S]*?)<\/div>\s*(?:<div[^>]+class=["'][^"']*(?:page-nav|footer|apprise)["']|$)/i);
|
|
22
37
|
if (contentMatch?.[1]) {
|
|
23
|
-
const text = stripWikidocsContent(contentMatch[1]);
|
|
24
|
-
if (text
|
|
38
|
+
const text = cleanText(stripWikidocsContent(contentMatch[1]));
|
|
39
|
+
if (text)
|
|
25
40
|
return text;
|
|
26
41
|
}
|
|
27
42
|
// Broader: extract from page-content with a greedy second-capture approach
|
|
@@ -46,8 +61,8 @@ function extractWikidocsBody(html) {
|
|
|
46
61
|
endIdx = match;
|
|
47
62
|
}
|
|
48
63
|
const content = afterDiv.substring(0, endIdx);
|
|
49
|
-
const text = stripWikidocsContent(content);
|
|
50
|
-
if (text
|
|
64
|
+
const text = cleanText(stripWikidocsContent(content));
|
|
65
|
+
if (text)
|
|
51
66
|
return text;
|
|
52
67
|
}
|
|
53
68
|
}
|
|
@@ -58,11 +73,11 @@ function extractWikidocsBody(html) {
|
|
|
58
73
|
const withoutSidebar = loadMatch[1]
|
|
59
74
|
.replace(/<div[^>]+class=["'][^"']*col-sm-3[^"']*["'][^>]*>[\s\S]*?<\/div>\s*<\/div>/gi, "")
|
|
60
75
|
.replace(/<div[^>]+class=["'][^"']*sidebar[^"']*["'][^>]*>[\s\S]*?<\/div>/gi, "");
|
|
61
|
-
const text = stripWikidocsContent(withoutSidebar);
|
|
62
|
-
if (text
|
|
76
|
+
const text = cleanText(stripWikidocsContent(withoutSidebar));
|
|
77
|
+
if (text)
|
|
63
78
|
return text;
|
|
64
79
|
}
|
|
65
|
-
return
|
|
80
|
+
return "";
|
|
66
81
|
}
|
|
67
82
|
export const wikidocsProvider = {
|
|
68
83
|
id: "wikidocs",
|
|
@@ -73,14 +88,16 @@ export const wikidocsProvider = {
|
|
|
73
88
|
const title = extractMetaProperty(html, "og:title") || extractTitleFromHtml(html);
|
|
74
89
|
const description = extractMetaProperty(html, "og:description") || extractMetaDescription(html);
|
|
75
90
|
const body = extractWikidocsBody(html);
|
|
91
|
+
const unavailable = isWikidocsUnavailableShell(html, title, body);
|
|
92
|
+
const text = unavailable ? wikidocsUnavailableGuidance() : body;
|
|
76
93
|
return {
|
|
77
94
|
post: {
|
|
78
95
|
url: context.url,
|
|
79
96
|
canonical_url: base,
|
|
80
97
|
title,
|
|
81
98
|
description,
|
|
82
|
-
text:
|
|
83
|
-
status: body ? "ok" : "blocked_or_unavailable",
|
|
99
|
+
text: text.slice(0, 50000),
|
|
100
|
+
status: body && !unavailable ? "ok" : "blocked_or_unavailable",
|
|
84
101
|
kind: "reference_article",
|
|
85
102
|
},
|
|
86
103
|
thread: [],
|
|
@@ -90,8 +107,13 @@ export const wikidocsProvider = {
|
|
|
90
107
|
...extractAbsoluteAnchorHrefs(html, base),
|
|
91
108
|
...extractUrls(html),
|
|
92
109
|
]),
|
|
93
|
-
partial: !body,
|
|
94
|
-
errors:
|
|
110
|
+
partial: !body || unavailable,
|
|
111
|
+
errors: unavailable
|
|
112
|
+
? [
|
|
113
|
+
...context.errors,
|
|
114
|
+
{ category: "unavailable", code: "wikidocs_article_unavailable", message: wikidocsUnavailableGuidance() },
|
|
115
|
+
]
|
|
116
|
+
: context.errors,
|
|
95
117
|
method: context.active.method,
|
|
96
118
|
};
|
|
97
119
|
},
|
|
@@ -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;;;;;;;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,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;
|
|
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,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAE/D,OAAO;YACL,IAAI,EAAE;gBACJ,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,aAAa,EAAE,IAAI;gBACnB,KAAK;gBACL,WAAW;gBACX,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;gBAC1B,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB;gBAC9D,IAAI,EAAE,mBAAmB;aAC1B;YACD,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;YACZ,cAAc,EAAE,UAAU,CAAC;gBACzB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK;gBACvB,GAAG,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC;gBACzC,GAAG,WAAW,CAAC,IAAI,CAAC;aACrB,CAAC;YACF,OAAO,EAAE,CAAC,IAAI,IAAI,WAAW;YAC7B,MAAM,EAAE,WAAW;gBACjB,CAAC,CAAC;oBACE,GAAG,OAAO,CAAC,MAAM;oBACjB,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,8BAA8B,EAAE,OAAO,EAAE,2BAA2B,EAAE,EAAE;iBAC1G;gBACH,CAAC,CAAC,OAAO,CAAC,MAAM;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;SAC9B,CAAA;IACH,CAAC;CACF,CAAA"}
|
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.2",
|
|
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",
|