smart-web-mcp 0.8.4 → 0.9.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 +111 -8
- package/README.md +27 -17
- package/dist/assessment.js +1 -1
- package/dist/assessment.js.map +1 -1
- package/dist/browser-session.d.ts +1 -0
- package/dist/browser-session.js +11 -11
- package/dist/browser-session.js.map +1 -1
- package/dist/cli.js +5 -1
- package/dist/cli.js.map +1 -1
- package/dist/dev-runtime.js +2 -1
- package/dist/dev-runtime.js.map +1 -1
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp-server.js +2 -2
- package/dist/mcp-server.js.map +1 -1
- package/dist/runtime-temp.d.ts +1 -1
- package/dist/runtime-temp.js +12 -17
- package/dist/runtime-temp.js.map +1 -1
- package/dist/settings.d.ts +25 -5
- package/dist/settings.js +55 -60
- package/dist/settings.js.map +1 -1
- package/dist/shared.d.ts +3 -3
- package/dist/shared.js +29 -9
- package/dist/shared.js.map +1 -1
- package/dist/smartcrawl.js +2 -2
- package/dist/smartcrawl.js.map +1 -1
- package/dist/smartfetch/academic-fallback.d.ts +7 -0
- package/dist/smartfetch/academic-fallback.js +777 -0
- package/dist/smartfetch/academic-fallback.js.map +1 -0
- package/dist/smartfetch/archive-fallback.js +7 -57
- package/dist/smartfetch/archive-fallback.js.map +1 -1
- package/dist/smartfetch/generic-fallbacks.d.ts +92 -0
- package/dist/smartfetch/generic-fallbacks.js +616 -0
- package/dist/smartfetch/generic-fallbacks.js.map +1 -0
- package/dist/smartfetch/jina-reader.js +62 -3
- package/dist/smartfetch/jina-reader.js.map +1 -1
- package/dist/smartfetch/paywall.d.ts +7 -0
- package/dist/smartfetch/paywall.js +77 -0
- package/dist/smartfetch/paywall.js.map +1 -0
- package/dist/smartfetch/pipeline.d.ts +1 -1
- package/dist/smartfetch/pipeline.js +4 -3
- package/dist/smartfetch/pipeline.js.map +1 -1
- package/dist/smartfetch/provider-policy.js +2 -2
- package/dist/smartfetch/provider-policy.js.map +1 -1
- package/dist/smartfetch/provider-types.d.ts +1 -0
- package/dist/smartfetch/providers/acmicpc.d.ts +2 -0
- package/dist/smartfetch/providers/acmicpc.js +57 -0
- package/dist/smartfetch/providers/acmicpc.js.map +1 -0
- package/dist/smartfetch/providers/article.d.ts +1 -2
- package/dist/smartfetch/providers/article.js +161 -1
- package/dist/smartfetch/providers/article.js.map +1 -1
- package/dist/smartfetch/providers/atcoder.d.ts +2 -0
- package/dist/smartfetch/providers/atcoder.js +54 -0
- package/dist/smartfetch/providers/atcoder.js.map +1 -0
- package/dist/smartfetch/providers/codeforces.d.ts +2 -0
- package/dist/smartfetch/providers/codeforces.js +54 -0
- package/dist/smartfetch/providers/codeforces.js.map +1 -0
- package/dist/smartfetch/providers/cp-common.d.ts +8 -0
- package/dist/smartfetch/providers/cp-common.js +62 -0
- package/dist/smartfetch/providers/cp-common.js.map +1 -0
- package/dist/smartfetch/providers/index.js +15 -1
- package/dist/smartfetch/providers/index.js.map +1 -1
- package/dist/smartfetch/providers/jungol.d.ts +2 -0
- package/dist/smartfetch/providers/jungol.js +43 -0
- package/dist/smartfetch/providers/jungol.js.map +1 -0
- package/dist/smartfetch/providers/kakao-map.d.ts +2 -0
- package/dist/smartfetch/providers/kakao-map.js +150 -0
- package/dist/smartfetch/providers/kakao-map.js.map +1 -0
- package/dist/smartfetch/providers/linkedin.js +5 -5
- package/dist/smartfetch/providers/linkedin.js.map +1 -1
- package/dist/smartfetch/providers/map-utils.d.ts +7 -0
- package/dist/smartfetch/providers/map-utils.js +56 -0
- package/dist/smartfetch/providers/map-utils.js.map +1 -0
- package/dist/smartfetch/providers/naver-map.d.ts +2 -0
- package/dist/smartfetch/providers/naver-map.js +183 -0
- package/dist/smartfetch/providers/naver-map.js.map +1 -0
- package/dist/smartfetch/providers/qoj.d.ts +2 -0
- package/dist/smartfetch/providers/qoj.js +54 -0
- package/dist/smartfetch/providers/qoj.js.map +1 -0
- package/dist/smartfetch/providers/reddit.js +2 -2
- package/dist/smartfetch/providers/reddit.js.map +1 -1
- package/dist/smartfetch/providers/solvedac.js +193 -2
- package/dist/smartfetch/providers/solvedac.js.map +1 -1
- package/dist/smartfetch/providers/x.js +4 -7
- package/dist/smartfetch/providers/x.js.map +1 -1
- package/dist/smartfetch/providers/youtube.js +2 -2
- package/dist/smartfetch/providers/youtube.js.map +1 -1
- package/dist/smartfetch.js +22 -9
- package/dist/smartfetch.js.map +1 -1
- package/dist/smartsearch.js +199 -26
- package/dist/smartsearch.js.map +1 -1
- package/dist/test-settings.d.ts +9 -0
- package/dist/test-settings.js +40 -0
- package/dist/test-settings.js.map +1 -0
- package/package.json +11 -10
- package/python/requirements-undetected-chromedriver.txt +2 -2
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { mkdirSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { tmpdir } from "node:os";
|
|
3
|
+
import { dirname, join } from "node:path";
|
|
4
|
+
import { TEST_resetSettingsCache, configureSettingsPath, settingsTemplate } from "./settings.js";
|
|
5
|
+
let activeTestSettingsPath = join(tmpdir(), `smart-web-test-default-${process.pid}.json`);
|
|
6
|
+
function mergeObjects(base, patch) {
|
|
7
|
+
if (patch === undefined)
|
|
8
|
+
return base;
|
|
9
|
+
if (Array.isArray(base) || Array.isArray(patch) || typeof base !== "object" || base === null || typeof patch !== "object" || patch === null) {
|
|
10
|
+
return patch;
|
|
11
|
+
}
|
|
12
|
+
const output = { ...base };
|
|
13
|
+
for (const [key, value] of Object.entries(patch)) {
|
|
14
|
+
const current = output[key];
|
|
15
|
+
output[key] = value && typeof value === "object" && !Array.isArray(value)
|
|
16
|
+
? mergeObjects((current && typeof current === "object" && !Array.isArray(current) ? current : {}), value)
|
|
17
|
+
: value;
|
|
18
|
+
}
|
|
19
|
+
return output;
|
|
20
|
+
}
|
|
21
|
+
export function useTestSettingsPath(namespace) {
|
|
22
|
+
const sanitized = namespace.replace(/[^a-z0-9_-]+/gi, "-").toLowerCase() || "default";
|
|
23
|
+
activeTestSettingsPath = join(tmpdir(), `smart-web-test-${sanitized}-${process.pid}.json`);
|
|
24
|
+
return activeTestSettingsPath;
|
|
25
|
+
}
|
|
26
|
+
export function currentTestSettingsPath() {
|
|
27
|
+
return activeTestSettingsPath;
|
|
28
|
+
}
|
|
29
|
+
export function writeTestSettings(patch) {
|
|
30
|
+
const next = mergeObjects(settingsTemplate(), patch);
|
|
31
|
+
mkdirSync(dirname(activeTestSettingsPath), { recursive: true });
|
|
32
|
+
writeFileSync(activeTestSettingsPath, `${JSON.stringify(next, null, 2)}\n`, "utf8");
|
|
33
|
+
configureSettingsPath(activeTestSettingsPath);
|
|
34
|
+
TEST_resetSettingsCache();
|
|
35
|
+
return activeTestSettingsPath;
|
|
36
|
+
}
|
|
37
|
+
export function resetTestSettings() {
|
|
38
|
+
return writeTestSettings({});
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=test-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-settings.js","sourceRoot":"","sources":["../src/test-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEzC,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,gBAAgB,EAAyB,MAAM,eAAe,CAAA;AAEvH,IAAI,sBAAsB,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,0BAA0B,OAAO,CAAC,GAAG,OAAO,CAAC,CAAA;AAUzF,SAAS,YAAY,CAAI,IAAO,EAAE,KAAiC;IACjE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC5I,OAAO,KAAU,CAAA;IACnB,CAAC;IACD,MAAM,MAAM,GAA4B,EAAE,GAAI,IAAgC,EAAE,CAAA;IAChF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;QAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACvE,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAM,EAAE,KAAuB,CAAC;YAChI,CAAC,CAAC,KAAK,CAAA;IACX,CAAC;IACD,OAAO,MAAW,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,SAAS,CAAA;IACrF,sBAAsB,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,kBAAkB,SAAS,IAAI,OAAO,CAAC,GAAG,OAAO,CAAC,CAAA;IAC1F,OAAO,sBAAsB,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,sBAAsB,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAqC;IACrE,MAAM,IAAI,GAAG,YAAY,CAAC,gBAAgB,EAAE,EAAE,KAAK,CAAC,CAAA;IACpD,SAAS,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/D,aAAa,CAAC,sBAAsB,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACnF,qBAAqB,CAAC,sBAAsB,CAAC,CAAA;IAC7C,uBAAuB,EAAE,CAAA;IACzB,OAAO,sBAAsB,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,iBAAiB,CAAC,EAAE,CAAC,CAAA;AAC9B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "smart-web-mcp",
|
|
3
|
-
"mcpName": "io.github.
|
|
4
|
-
"version": "0.
|
|
3
|
+
"mcpName": "io.github.jojo-labs/smart-web",
|
|
4
|
+
"version": "0.9.0",
|
|
5
5
|
"packageManager": "npm@11.9.0",
|
|
6
6
|
"description": "Portable MCP server for web search, direct-URL fetch, site crawling, and docs export.",
|
|
7
|
-
"homepage": "https://github.com/
|
|
7
|
+
"homepage": "https://github.com/jojo-labs/smart-web",
|
|
8
8
|
"bugs": {
|
|
9
|
-
"url": "https://github.com/
|
|
9
|
+
"url": "https://github.com/jojo-labs/smart-web/issues"
|
|
10
10
|
},
|
|
11
11
|
"repository": {
|
|
12
12
|
"type": "git",
|
|
13
|
-
"url": "git+https://github.com/
|
|
13
|
+
"url": "git+https://github.com/jojo-labs/smart-web.git"
|
|
14
14
|
},
|
|
15
15
|
"type": "module",
|
|
16
16
|
"exports": {
|
|
@@ -36,18 +36,19 @@
|
|
|
36
36
|
"scripts": {
|
|
37
37
|
"build": "rm -rf dist && tsc -p tsconfig.json",
|
|
38
38
|
"changelog:generate": "node scripts/generate-changelog-entry.mjs",
|
|
39
|
-
"release:notes": "node scripts/
|
|
39
|
+
"release:notes": "node scripts/build-github-release-body.mjs",
|
|
40
40
|
"dev": "tsx src/index.ts",
|
|
41
41
|
"dev:mcp": "node dist/dev.js",
|
|
42
42
|
"dev:watch": "tsc -p tsconfig.json --watch --preserveWatchOutput",
|
|
43
43
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
44
44
|
"test": "node --import tsx --test src/shared.test.ts src/assets.test.ts src/dev-runtime.test.ts src/release-scripts.test.ts src/render.test.ts src/providers.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",
|
|
45
|
+
"test:e2e": "node --import tsx --test src/packaged-mcp.test.ts",
|
|
45
46
|
"test:file": "node --import tsx --test",
|
|
46
47
|
"check:meta": "node scripts/check-metadata.mjs",
|
|
47
48
|
"check:workflow": "node scripts/verify-release-workflow.mjs",
|
|
48
|
-
"check": "npm run
|
|
49
|
-
"
|
|
50
|
-
"prepare": "npm run build
|
|
49
|
+
"check:smoke": "npm run typecheck && npm run check:meta && npm run check:workflow",
|
|
50
|
+
"check": "npm run build && npm run check:meta && npm run check:workflow && npm run test && npm run test:e2e",
|
|
51
|
+
"prepare": "npm run build"
|
|
51
52
|
},
|
|
52
53
|
"keywords": [
|
|
53
54
|
"mcp",
|
|
@@ -63,7 +64,7 @@
|
|
|
63
64
|
"smartcrawl",
|
|
64
65
|
"docs-export"
|
|
65
66
|
],
|
|
66
|
-
"author": "
|
|
67
|
+
"author": "jojo-labs",
|
|
67
68
|
"license": "MIT",
|
|
68
69
|
"engines": {
|
|
69
70
|
"node": ">=24 <25"
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
undetected-chromedriver==3.5.5
|
|
2
|
-
selenium==4.
|
|
3
|
-
setuptools==
|
|
2
|
+
selenium==4.43.0
|
|
3
|
+
setuptools==82.0.1
|