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
package/dist/index.js
CHANGED
|
@@ -3,14 +3,13 @@ import { readFileSync } from "node:fs";
|
|
|
3
3
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
4
|
import { warnIfPlaywrightBrowsersNeedInstall } from "./browser-session.js";
|
|
5
5
|
import { createSmartWebServer } from "./mcp-server.js";
|
|
6
|
-
import { initSettings, settingsPath, settingsTemplate } from "./settings.js";
|
|
6
|
+
import { configureSettingsPath, initSettings, settingsPath, settingsTemplate } from "./settings.js";
|
|
7
7
|
import { sanitizeSmartWebTempEnv } from "./runtime-temp.js";
|
|
8
8
|
import { renderSmartcrawl, runSmartcrawl } from "./smartcrawl.js";
|
|
9
9
|
import { renderSmartcrawlExport, runSmartcrawlExport } from "./smartcrawl-export.js";
|
|
10
10
|
import { renderSmartfetch, runSmartfetch } from "./smartfetch.js";
|
|
11
11
|
import { renderSmartsearch, runSmartsearch } from "./smartsearch.js";
|
|
12
12
|
const packageVersion = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8")).version;
|
|
13
|
-
sanitizeSmartWebTempEnv();
|
|
14
13
|
const server = createSmartWebServer(packageVersion, {
|
|
15
14
|
runSmartcrawl,
|
|
16
15
|
renderSmartcrawl,
|
|
@@ -23,6 +22,14 @@ const server = createSmartWebServer(packageVersion, {
|
|
|
23
22
|
});
|
|
24
23
|
async function main() {
|
|
25
24
|
const args = process.argv.slice(2);
|
|
25
|
+
const settingsFlagIndex = args.indexOf("--settings-file");
|
|
26
|
+
if (settingsFlagIndex !== -1) {
|
|
27
|
+
const candidate = args[settingsFlagIndex + 1];
|
|
28
|
+
if (!candidate || candidate.startsWith("--"))
|
|
29
|
+
throw new Error("--settings-file requires a path");
|
|
30
|
+
configureSettingsPath(candidate);
|
|
31
|
+
}
|
|
32
|
+
sanitizeSmartWebTempEnv();
|
|
26
33
|
if (args.includes("--print-settings-example")) {
|
|
27
34
|
console.log(JSON.stringify(settingsTemplate(), null, 2));
|
|
28
35
|
return;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAEhF,OAAO,EAAE,mCAAmC,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-server.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
const ISSUE_REPORT_GUIDANCE = "If smart-web returns reproducible incorrect or misleading output, open a GitHub issue on
|
|
3
|
+
const ISSUE_REPORT_GUIDANCE = "If smart-web returns reproducible incorrect or misleading output, open a GitHub issue on jojo-labs/smart-web with the exact input, arguments, observed output, expected behavior, and version. Skip obvious transient network/auth/rate-limit failures unless smart-web misclassified them.";
|
|
4
4
|
export function createSmartWebServer(version, runtime) {
|
|
5
5
|
const server = new McpServer({ name: "smart-web", version });
|
|
6
6
|
server.registerTool("smartsearch", {
|
|
@@ -130,7 +130,7 @@ export function createSmartWebServer(version, runtime) {
|
|
|
130
130
|
description: `Fetch and normalize one known URL or shortlink. Use this first for direct user-supplied URLs, browser-rendered pages, social posts, and videos; do not use smartsearch when the user already provided the URL, and use smartcrawl only when you need multiple pages from the same site. ${ISSUE_REPORT_GUIDANCE}`,
|
|
131
131
|
inputSchema: {
|
|
132
132
|
url: z.string().min(1).describe("Direct URL or shortlink to fetch. Prefer this tool when the user already supplied a URL."),
|
|
133
|
-
target: z.enum(["auto", "generic", "reddit_post", "x_post", "threads_post", "instagram_post", "telegram_post", "dcinside_post", "youtube_video", "naver_blog", "naver_cafe_post", "tistory_post", "velog_post", "hackernews_post", "linkedin_post", "algumon_deal", "namuwiki_article", "wikipedia_article", "solvedac_problem"]).optional().describe("Content type hint"),
|
|
133
|
+
target: z.enum(["auto", "generic", "reddit_post", "x_post", "threads_post", "instagram_post", "telegram_post", "dcinside_post", "youtube_video", "naver_blog", "naver_cafe_post", "naver_map_place", "kakao_map_place", "tistory_post", "velog_post", "hackernews_post", "linkedin_post", "algumon_deal", "namuwiki_article", "wikipedia_article", "solvedac_problem"]).optional().describe("Content type hint"),
|
|
134
134
|
timeout_ms: z.number().int().min(3000).max(120000).optional().describe("Fetch timeout in milliseconds"),
|
|
135
135
|
download: z.boolean().optional().describe("Prefer a downloadable asset result when the URL or discovered assets point to a file"),
|
|
136
136
|
force_dynamic: z.boolean().optional().describe("Skip light fetches and go straight to Playwright"),
|
package/dist/mcp-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAavB,MAAM,qBAAqB,GAAG,6RAA6R,CAAA;AAE3T,MAAM,UAAU,oBAAoB,CAAC,OAAe,EAAE,OAAwB;IAC5E,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAA;IAE5D,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,mQAAmQ,qBAAqB,EAAE;QACvS,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sGAAsG,CAAC;YACzI,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YACrG,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAC/E,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACpH,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wFAAwF,CAAC;YACrI,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YAC7F,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;YAC9G,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;YACjI,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;YACjI,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;YACpH,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;SACvH;QACD,WAAW,EAAE;YACX,KAAK,EAAE,cAAc;YACrB,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,EAAE,EAAE;QAC9J,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC;YAC1C,KAAK;YACL,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;YACnD,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YACnD,GAAG,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC;YACvE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;YAC9D,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;YAC3D,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;YAC9D,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;YACjE,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;YAC5E,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;YAC5E,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC;SAChF,CAAC,CAAA;QAEF,OAAO;YACL,iBAAiB,EAAE,MAAM;YACzB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;SAC3E,CAAA;IACH,CAAC,CACF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,2eAA2e,qBAAqB,EAAE;QAC/gB,WAAW,EAAE;YACX,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2HAA2H,CAAC;YAC5J,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uJAAuJ,CAAC;YAC1M,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YACzF,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;YAC5H,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8HAA8H,CAAC;YAC1L,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wJAAwJ,CAAC;YACzN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+GAA+G,CAAC;YAC/K,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;YACjI,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;YACjI,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qFAAqF,CAAC;YACxI,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;YACnH,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;YAC5H,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YACvG,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;SACzH;QACD,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,IAAI;SACpB;KACF,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE;QACjL,IAAI,UAAU,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAA;QACnH,CAAC;QACD,IAAI,UAAU,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,8FAA8F,CAAC,CAAA;QACjH,CAAC;QACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAA;YACnH,CAAC;YACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;YAC3F,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC;gBAC/C,GAAG;gBACH,SAAS,EAAE,UAAU;gBACrB,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;gBACzC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;gBAC3D,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;gBAC3D,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC;gBAChF,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC;gBAChF,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC;gBAC/E,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;gBACnF,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;gBACpE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;aAC/D,CAAC,CAAA;YAEF,MAAM,iBAAiB,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAA;YACtF,MAAM,eAAe,GAAG,MAAM,IAAI,MAAM,CAAA;YAExC,OAAO;gBACL,iBAAiB;gBACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;aAC1J,CAAA;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC;YACzC,GAAG;YACH,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YACzC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACvC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YACzC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;YAC3D,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;YAC3D,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC;YAChF,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC;YAChF,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC;YAC/E,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;YACnF,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;YACpE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;SAC/D,CAAC,CAAA;QAEF,MAAM,eAAe,GAAG,MAAM,IAAI,MAAM,CAAA;QACxC,OAAO;YACL,iBAAiB,EAAE,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACjD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC;SAC1J,CAAA;IACH,CAAC,CACF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,2RAA2R,qBAAqB,EAAE;QAC/T,WAAW,EAAE;YACX,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0FAA0F,CAAC;YAC3H,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAC1W,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YACvG,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sFAAsF,CAAC;YACjI,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YAClG,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;YAC9G,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;SACzH;QACD,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;KACF,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE;QACpF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC;YACzC,GAAG;YACH,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3C,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;YAC9D,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC/C,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;YACvE,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;SACxE,CAAC,CAAA;QAEF,MAAM,eAAe,GAAG,MAAM,IAAI,MAAM,CAAA;QACxC,OAAO;YACL,iBAAiB,EAAE,MAAM;YACzB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC;SAC1J,CAAA;IACH,CAAC,CACF,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime-temp.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function resolveSmartWebTempRoot(
|
|
1
|
+
export declare function resolveSmartWebTempRoot(): string;
|
|
2
2
|
export declare function sanitizeSmartWebTempEnv(env?: NodeJS.ProcessEnv, cwd?: string): string;
|
package/dist/runtime-temp.js
CHANGED
|
@@ -1,35 +1,30 @@
|
|
|
1
1
|
import { mkdirSync } from "node:fs";
|
|
2
2
|
import { homedir, tmpdir } from "node:os";
|
|
3
3
|
import { join, resolve } from "node:path";
|
|
4
|
+
import { configText } from "./settings.js";
|
|
4
5
|
const TEMP_ENV_NAMES = ["TMPDIR", "TMP", "TEMP", "BUN_TMPDIR"];
|
|
5
6
|
function clean(value) {
|
|
6
7
|
const next = value?.trim();
|
|
7
8
|
return next ? next : undefined;
|
|
8
9
|
}
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
if (
|
|
12
|
-
return
|
|
13
|
-
if (process.platform === "
|
|
14
|
-
const localAppData = clean(env.LOCALAPPDATA);
|
|
15
|
-
if (localAppData)
|
|
16
|
-
return join(localAppData, "smart-web", "tmp");
|
|
17
|
-
}
|
|
18
|
-
const home = clean(env.HOME) || homedir();
|
|
19
|
-
if (process.platform === "darwin")
|
|
10
|
+
function defaultTempRoot() {
|
|
11
|
+
const home = clean(homedir());
|
|
12
|
+
if (process.platform === "win32" && home)
|
|
13
|
+
return join(home, "AppData", "Local", "smart-web", "tmp");
|
|
14
|
+
if (process.platform === "darwin" && home)
|
|
20
15
|
return join(home, "Library", "Caches", "smart-web", "tmp");
|
|
21
|
-
const xdgCacheHome = clean(env.XDG_CACHE_HOME);
|
|
22
|
-
if (xdgCacheHome)
|
|
23
|
-
return join(xdgCacheHome, "smart-web", "tmp");
|
|
24
16
|
if (home)
|
|
25
17
|
return join(home, ".cache", "smart-web", "tmp");
|
|
26
18
|
return join(tmpdir(), "smart-web");
|
|
27
19
|
}
|
|
20
|
+
export function resolveSmartWebTempRoot() {
|
|
21
|
+
const configured = clean(configText("runtime.tempDir"));
|
|
22
|
+
return configured ? resolve(configured) : defaultTempRoot();
|
|
23
|
+
}
|
|
28
24
|
export function sanitizeSmartWebTempEnv(env = process.env, cwd = process.cwd()) {
|
|
29
|
-
const
|
|
30
|
-
const normalizedHome = resolve(home);
|
|
25
|
+
const normalizedHome = resolve(homedir());
|
|
31
26
|
const normalizedCwd = resolve(cwd);
|
|
32
|
-
const tempRoot = resolveSmartWebTempRoot(
|
|
27
|
+
const tempRoot = resolveSmartWebTempRoot();
|
|
33
28
|
mkdirSync(tempRoot, { recursive: true });
|
|
34
29
|
for (const name of TEMP_ENV_NAMES) {
|
|
35
30
|
const current = clean(env[name]);
|
package/dist/runtime-temp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-temp.js","sourceRoot":"","sources":["../src/runtime-temp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEzC,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAU,CAAA;AAEvE,SAAS,KAAK,CAAC,KAAyB;IACtC,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,EAAE,CAAA;IAC1B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;AAChC,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"runtime-temp.js","sourceRoot":"","sources":["../src/runtime-temp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAU,CAAA;AAEvE,SAAS,KAAK,CAAC,KAAyB;IACtC,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,EAAE,CAAA;IAC1B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;AAChC,CAAC;AAED,SAAS,eAAe;IACtB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IAC7B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;IACnG,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;IACrG,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;IACzD,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAA;IACvD,OAAO,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAA;AAC7D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAyB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAC/F,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;IACzC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAClC,MAAM,QAAQ,GAAG,uBAAuB,EAAE,CAAA;IAC1C,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAExC,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAChC,IAAI,CAAC,OAAO;YAAE,SAAQ;QACtB,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAC/C,IAAI,iBAAiB,KAAK,cAAc,IAAI,iBAAiB,KAAK,aAAa;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;IACvG,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
package/dist/settings.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { chmodSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
|
|
2
|
+
export type SmartWebSettings = {
|
|
3
|
+
profile?: "balanced" | "private";
|
|
4
|
+
runtime?: {
|
|
5
|
+
tempDir?: string;
|
|
6
|
+
};
|
|
3
7
|
search?: {
|
|
4
8
|
exaApiKey?: string;
|
|
5
9
|
braveSearchApiKey?: string;
|
|
@@ -16,6 +20,16 @@ type SmartWebSettings = {
|
|
|
16
20
|
autoInstallPlaywright?: boolean;
|
|
17
21
|
enableJinaReader?: boolean;
|
|
18
22
|
jinaReaderBaseUrl?: string;
|
|
23
|
+
enableAcademicFallback?: boolean;
|
|
24
|
+
enableOpenAlex?: boolean;
|
|
25
|
+
enableEuropePmc?: boolean;
|
|
26
|
+
enableBiorxivApi?: boolean;
|
|
27
|
+
enableUnpaywall?: boolean;
|
|
28
|
+
unpaywallEmail?: string;
|
|
29
|
+
enableSemanticScholar?: boolean;
|
|
30
|
+
semanticScholarApiKey?: string;
|
|
31
|
+
enableCoreDiscovery?: boolean;
|
|
32
|
+
coreApiKey?: string;
|
|
19
33
|
enableFxTwitter?: boolean;
|
|
20
34
|
enableXOembed?: boolean;
|
|
21
35
|
enableUndetectedChromedriver?: boolean;
|
|
@@ -31,13 +45,19 @@ type SmartWebSettings = {
|
|
|
31
45
|
localOnly?: boolean;
|
|
32
46
|
};
|
|
33
47
|
};
|
|
48
|
+
export declare const TEST_fileOps: {
|
|
49
|
+
chmodSync: typeof chmodSync;
|
|
50
|
+
renameSync: typeof renameSync;
|
|
51
|
+
unlinkSync: typeof unlinkSync;
|
|
52
|
+
writeFileSync: typeof writeFileSync;
|
|
53
|
+
};
|
|
54
|
+
export declare function configureSettingsPath(file?: string): void;
|
|
34
55
|
export declare function settingsPath(): string;
|
|
35
|
-
export declare function configValue(
|
|
36
|
-
export declare function configText(
|
|
56
|
+
export declare function configValue(path: string): unknown;
|
|
57
|
+
export declare function configText(path: string): string;
|
|
37
58
|
export declare function settingsTemplate(): SmartWebSettings;
|
|
38
59
|
export declare function initSettings(file?: string, force?: boolean): {
|
|
39
60
|
path: string;
|
|
40
61
|
created: boolean;
|
|
41
62
|
};
|
|
42
63
|
export declare function TEST_resetSettingsCache(): void;
|
|
43
|
-
export {};
|
package/dist/settings.js
CHANGED
|
@@ -1,46 +1,32 @@
|
|
|
1
|
-
import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
1
|
+
import { chmodSync, existsSync, mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { homedir } from "node:os";
|
|
3
3
|
import { dirname, join, resolve } from "node:path";
|
|
4
|
-
const SETTINGS_FILE_ENV = "SMART_WEB_SETTINGS_FILE";
|
|
5
|
-
const paths = {
|
|
6
|
-
SMART_WEB_PROFILE: ["profile"],
|
|
7
|
-
EXA_API_KEY: ["search", "exaApiKey"],
|
|
8
|
-
BRAVE_SEARCH_API_KEY: ["search", "braveSearchApiKey"],
|
|
9
|
-
SEARXNG_BASE_URL: ["search", "searxngBaseUrl"],
|
|
10
|
-
SMARTSEARCH_ENABLE_EXA: ["search", "enableExa"],
|
|
11
|
-
SMARTSEARCH_ENABLE_BRAVE: ["search", "enableBrave"],
|
|
12
|
-
SMARTSEARCH_ENABLE_SEARXNG: ["search", "enableSearxng"],
|
|
13
|
-
SMARTSEARCH_ENABLE_DUCKDUCKGO: ["search", "enableDuckDuckGo"],
|
|
14
|
-
SMARTSEARCH_ENABLE_BRAVE_HTML: ["search", "enableBraveHtml"],
|
|
15
|
-
SMARTFETCH_CHROME_CHANNEL: ["fetch", "chromeChannel"],
|
|
16
|
-
SMARTFETCH_CHROME_PATH: ["fetch", "chromePath"],
|
|
17
|
-
SMARTFETCH_AUTO_INSTALL_PLAYWRIGHT: ["fetch", "autoInstallPlaywright"],
|
|
18
|
-
SMARTFETCH_ENABLE_JINA_READER: ["fetch", "enableJinaReader"],
|
|
19
|
-
SMARTFETCH_JINA_READER_BASE_URL: ["fetch", "jinaReaderBaseUrl"],
|
|
20
|
-
SMARTFETCH_ENABLE_FXTWITTER: ["fetch", "enableFxTwitter"],
|
|
21
|
-
SMARTFETCH_ENABLE_X_OEMBED: ["fetch", "enableXOembed"],
|
|
22
|
-
SMARTFETCH_ENABLE_UNDETECTED_CHROMEDRIVER: ["fetch", "enableUndetectedChromedriver"],
|
|
23
|
-
SMARTFETCH_UNDETECTED_CHROMEDRIVER_PYTHON: ["fetch", "undetectedChromedriverPython"],
|
|
24
|
-
SMARTFETCH_ENABLE_REDDIT_JSON: ["fetch", "enableRedditJson"],
|
|
25
|
-
SMARTFETCH_ENABLE_YOUTUBE_TRANSCRIPT: ["fetch", "enableYoutubeTranscript"],
|
|
26
|
-
SMARTFETCH_ENABLE_ARCHIVE_FALLBACK: ["fetch", "enableArchiveFallback"],
|
|
27
|
-
SMARTFETCH_ENABLE_WAYBACK: ["fetch", "enableWayback"],
|
|
28
|
-
SMARTFETCH_ENABLE_ARCHIVE_MD: ["fetch", "enableArchiveMd"],
|
|
29
|
-
SMART_WEB_ALLOW_PRIVATE_HOSTS: ["network", "allowPrivateHosts"],
|
|
30
|
-
SMART_WEB_LOCAL_ONLY: ["network", "localOnly"],
|
|
31
|
-
};
|
|
32
4
|
let cache = undefined;
|
|
33
5
|
let warning = "";
|
|
34
|
-
|
|
6
|
+
let configuredSettingsPath = undefined;
|
|
7
|
+
export const TEST_fileOps = {
|
|
8
|
+
chmodSync,
|
|
9
|
+
renameSync,
|
|
10
|
+
unlinkSync,
|
|
11
|
+
writeFileSync,
|
|
12
|
+
};
|
|
13
|
+
function defaultConfigRoot() {
|
|
35
14
|
const home = homedir();
|
|
36
|
-
|
|
37
|
-
|
|
15
|
+
if (process.platform === "win32")
|
|
16
|
+
return join(home, "AppData", "Roaming");
|
|
17
|
+
if (process.platform === "darwin")
|
|
18
|
+
return join(home, "Library", "Application Support");
|
|
19
|
+
return join(home, ".config");
|
|
20
|
+
}
|
|
21
|
+
export function configureSettingsPath(file) {
|
|
22
|
+
configuredSettingsPath = file ? resolve(file) : undefined;
|
|
23
|
+
cache = undefined;
|
|
24
|
+
warning = "";
|
|
38
25
|
}
|
|
39
26
|
export function settingsPath() {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
return join(xdgConfigHome(), "smart-web", "settings.json");
|
|
27
|
+
if (configuredSettingsPath)
|
|
28
|
+
return configuredSettingsPath;
|
|
29
|
+
return join(defaultConfigRoot(), "smart-web", "settings.json");
|
|
44
30
|
}
|
|
45
31
|
function settingsObject(value) {
|
|
46
32
|
return value && typeof value === "object" && !Array.isArray(value) ? value : {};
|
|
@@ -66,26 +52,17 @@ function readSettings() {
|
|
|
66
52
|
}
|
|
67
53
|
return cache;
|
|
68
54
|
}
|
|
69
|
-
function
|
|
70
|
-
const route = paths[name];
|
|
71
|
-
if (!route)
|
|
72
|
-
return undefined;
|
|
55
|
+
export function configValue(path) {
|
|
73
56
|
let value = readSettings();
|
|
74
|
-
for (const
|
|
75
|
-
if (!value || typeof value !== "object" || Array.isArray(value) || !(
|
|
57
|
+
for (const segment of path.split(".")) {
|
|
58
|
+
if (!value || typeof value !== "object" || Array.isArray(value) || !(segment in value))
|
|
76
59
|
return undefined;
|
|
77
|
-
value = value[
|
|
60
|
+
value = value[segment];
|
|
78
61
|
}
|
|
79
62
|
return value;
|
|
80
63
|
}
|
|
81
|
-
export function
|
|
82
|
-
const
|
|
83
|
-
if (env !== undefined && String(env).trim() !== "")
|
|
84
|
-
return env;
|
|
85
|
-
return lookup(name);
|
|
86
|
-
}
|
|
87
|
-
export function configText(name) {
|
|
88
|
-
const value = configValue(name);
|
|
64
|
+
export function configText(path) {
|
|
65
|
+
const value = configValue(path);
|
|
89
66
|
if (typeof value === "string")
|
|
90
67
|
return value.trim();
|
|
91
68
|
if (typeof value === "number" || typeof value === "boolean")
|
|
@@ -95,15 +72,14 @@ export function configText(name) {
|
|
|
95
72
|
export function settingsTemplate() {
|
|
96
73
|
return {
|
|
97
74
|
profile: "balanced",
|
|
75
|
+
runtime: {
|
|
76
|
+
tempDir: "",
|
|
77
|
+
},
|
|
98
78
|
search: {
|
|
99
79
|
exaApiKey: "",
|
|
100
80
|
braveSearchApiKey: "",
|
|
101
81
|
searxngBaseUrl: "",
|
|
102
|
-
enableExa: true,
|
|
103
|
-
enableBrave: true,
|
|
104
82
|
enableSearxng: true,
|
|
105
|
-
enableDuckDuckGo: true,
|
|
106
|
-
enableBraveHtml: true,
|
|
107
83
|
},
|
|
108
84
|
fetch: {
|
|
109
85
|
chromeChannel: "",
|
|
@@ -111,8 +87,17 @@ export function settingsTemplate() {
|
|
|
111
87
|
autoInstallPlaywright: true,
|
|
112
88
|
enableJinaReader: false,
|
|
113
89
|
jinaReaderBaseUrl: "https://r.jina.ai/",
|
|
90
|
+
enableAcademicFallback: true,
|
|
91
|
+
enableOpenAlex: true,
|
|
92
|
+
enableEuropePmc: true,
|
|
93
|
+
enableBiorxivApi: true,
|
|
94
|
+
enableUnpaywall: true,
|
|
95
|
+
unpaywallEmail: "",
|
|
96
|
+
enableSemanticScholar: true,
|
|
97
|
+
semanticScholarApiKey: "",
|
|
98
|
+
enableCoreDiscovery: true,
|
|
99
|
+
coreApiKey: "",
|
|
114
100
|
enableFxTwitter: true,
|
|
115
|
-
enableXOembed: true,
|
|
116
101
|
enableUndetectedChromedriver: true,
|
|
117
102
|
undetectedChromedriverPython: "python3",
|
|
118
103
|
enableRedditJson: true,
|
|
@@ -123,7 +108,6 @@ export function settingsTemplate() {
|
|
|
123
108
|
},
|
|
124
109
|
network: {
|
|
125
110
|
allowPrivateHosts: false,
|
|
126
|
-
localOnly: false,
|
|
127
111
|
},
|
|
128
112
|
};
|
|
129
113
|
}
|
|
@@ -134,9 +118,20 @@ export function initSettings(file = settingsPath(), force = false) {
|
|
|
134
118
|
const dir = dirname(path);
|
|
135
119
|
mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
136
120
|
chmodSync(dir, 0o700);
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
121
|
+
const tmpPath = `${path}.${process.pid}.tmp`;
|
|
122
|
+
TEST_fileOps.writeFileSync(tmpPath, `${JSON.stringify(settingsTemplate(), null, 2)}\n`, { encoding: "utf8", mode: 0o600 });
|
|
123
|
+
try {
|
|
124
|
+
TEST_fileOps.renameSync(tmpPath, path);
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
try {
|
|
128
|
+
TEST_fileOps.unlinkSync(tmpPath);
|
|
129
|
+
}
|
|
130
|
+
catch { }
|
|
131
|
+
throw error;
|
|
132
|
+
}
|
|
133
|
+
TEST_fileOps.chmodSync(path, 0o600);
|
|
134
|
+
configureSettingsPath(path);
|
|
140
135
|
return { path, created: true };
|
|
141
136
|
}
|
|
142
137
|
export function TEST_resetSettingsCache() {
|
package/dist/settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
|
package/dist/shared.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type Target = "auto" | "generic" | "reddit_post" | "x_post" | "threads_post" | "instagram_post" | "telegram_post" | "dcinside_post" | "youtube_video" | "naver_blog" | "naver_cafe_post" | "tistory_post" | "velog_post" | "hackernews_post" | "linkedin_post" | "algumon_deal" | "namuwiki_article" | "wikipedia_article" | "solvedac_problem";
|
|
1
|
+
export type Target = "auto" | "generic" | "reddit_post" | "x_post" | "threads_post" | "instagram_post" | "telegram_post" | "dcinside_post" | "youtube_video" | "naver_blog" | "naver_cafe_post" | "naver_map_place" | "kakao_map_place" | "tistory_post" | "velog_post" | "hackernews_post" | "linkedin_post" | "algumon_deal" | "namuwiki_article" | "wikipedia_article" | "solvedac_problem";
|
|
2
2
|
export type ResolvedTarget = Exclude<Target, "auto">;
|
|
3
3
|
export type ErrorCategory = "timeout" | "block" | "parse_error" | "unavailable";
|
|
4
4
|
export type ToolError = {
|
|
@@ -169,8 +169,8 @@ export declare function extractMetaProperty(html: string, property: string): str
|
|
|
169
169
|
export declare function extractMetaName(html: string, name: string): string;
|
|
170
170
|
export declare function inferTarget(url: string, target: Target): ResolvedTarget;
|
|
171
171
|
export declare function smartWebProfile(): SmartWebProfile;
|
|
172
|
-
export declare function
|
|
173
|
-
export declare function
|
|
172
|
+
export declare function configFlag(path: string): boolean;
|
|
173
|
+
export declare function configEnabled(path: string, defaultValue: boolean, profileDefaults?: Partial<Record<SmartWebProfile, boolean>>): boolean;
|
|
174
174
|
export declare function validateOutboundUrl(url: string, options?: {
|
|
175
175
|
allowPrivateHosts?: boolean;
|
|
176
176
|
}): Promise<{
|
package/dist/shared.js
CHANGED
|
@@ -158,6 +158,9 @@ export function fileNameFromUrl(url) {
|
|
|
158
158
|
const parsed = new URL(url);
|
|
159
159
|
const segments = parsed.pathname.split("/").filter(Boolean);
|
|
160
160
|
const last = segments.at(-1) || parsed.hostname;
|
|
161
|
+
if (parsed.searchParams.has("pdf") && !/\.pdf$/i.test(last)) {
|
|
162
|
+
return `${decodeURIComponent(last)}.pdf`;
|
|
163
|
+
}
|
|
161
164
|
if (/^pdf$/i.test(last)) {
|
|
162
165
|
const previous = segments.at(-2);
|
|
163
166
|
if (previous)
|
|
@@ -175,11 +178,11 @@ export function inferMimeType(url) {
|
|
|
175
178
|
try {
|
|
176
179
|
const parsed = new URL(url);
|
|
177
180
|
const segments = parsed.pathname.split("/").filter(Boolean);
|
|
178
|
-
if (/\/pdf\//i.test(parsed.pathname) || /^pdf$/i.test(segments.at(-1) || "") || /[?&](format|download|file)=pdf/i.test(lower))
|
|
181
|
+
if (/\/pdf\//i.test(parsed.pathname) || /^pdf$/i.test(segments.at(-1) || "") || /[?&](format|download|file)=pdf/i.test(lower) || /[?&]pdf(?:=|%3d|$)/i.test(lower))
|
|
179
182
|
return "application/pdf";
|
|
180
183
|
}
|
|
181
184
|
catch {
|
|
182
|
-
if (/\/pdf\//i.test(lower) || /[?&](format|download|file)=pdf/i.test(lower))
|
|
185
|
+
if (/\/pdf\//i.test(lower) || /[?&](format|download|file)=pdf/i.test(lower) || /[?&]pdf(?:=|%3d|$)/i.test(lower))
|
|
183
186
|
return "application/pdf";
|
|
184
187
|
}
|
|
185
188
|
if (/\.(png|jpg|jpeg|gif|webp|svg|avif)(?:$|[?#])/i.test(lower))
|
|
@@ -208,7 +211,7 @@ export function inferAssetKind(url, mimeType) {
|
|
|
208
211
|
return "video";
|
|
209
212
|
if (lower.includes("audio/") || /\.(mp3|wav|ogg|m4a|flac)(?:$|[?#])/i.test(lower))
|
|
210
213
|
return "audio";
|
|
211
|
-
if (/application\/pdf|application\/msword|spreadsheet|presentation/i.test(lower) || /\/pdf\//i.test(lower) || /\/pdf(?:$|[?#])/i.test(lower) || /\.(pdf|doc|docx|xls|xlsx|csv|ppt|pptx)(?:$|[?#])/i.test(lower))
|
|
214
|
+
if (/application\/pdf|application\/msword|spreadsheet|presentation/i.test(lower) || /\/pdf\//i.test(lower) || /\/pdf(?:$|[?#])/i.test(lower) || /[?&]pdf(?:=|%3d|$)/i.test(lower) || /\.(pdf|doc|docx|xls|xlsx|csv|ppt|pptx)(?:$|[?#])/i.test(lower))
|
|
212
215
|
return "document";
|
|
213
216
|
if (/application\/archive/i.test(lower) || /\.(zip|tar|gz|tgz|rar|7z)(?:$|[?#])/i.test(lower))
|
|
214
217
|
return "archive";
|
|
@@ -305,10 +308,18 @@ export function inferTarget(url, target) {
|
|
|
305
308
|
return "dcinside_post";
|
|
306
309
|
if (host === "youtu.be" || host.endsWith("youtube.com") || host.endsWith("youtube-nocookie.com"))
|
|
307
310
|
return "youtube_video";
|
|
311
|
+
if ((host === "m.place.naver.com" || host.endsWith(".place.naver.com")) && (/^\/share$/i.test(path) && parsed.searchParams.has("id") || /^\/(?:place|[a-z-]+)\/\d+(?:\/|$)/i.test(path)))
|
|
312
|
+
return "naver_map_place";
|
|
313
|
+
if (host === "map.naver.com" && (/^\/p\/entry\/place\/\d+/i.test(path) || /^\/p\/search\/.*\/place\/\d+/i.test(path)))
|
|
314
|
+
return "naver_map_place";
|
|
308
315
|
if (host.endsWith("blog.naver.com") || host.endsWith("m.blog.naver.com"))
|
|
309
316
|
return "naver_blog";
|
|
310
317
|
if ((host === "cafe.naver.com" || host === "m.cafe.naver.com") && (/\/ArticleRead\.nhn$/i.test(path) || /\/ca-fe\/web\/cafes\/\d+\/articles\/\d+/i.test(path) || /\/[^/]+\/\d+$/i.test(path)))
|
|
311
318
|
return "naver_cafe_post";
|
|
319
|
+
if ((host === "place.map.kakao.com" || host.endsWith(".place.map.kakao.com")) && /^\/\d+\/?$/i.test(path))
|
|
320
|
+
return "kakao_map_place";
|
|
321
|
+
if ((host === "map.kakao.com" || host.endsWith(".map.kakao.com")) && ((path === "/" && parsed.searchParams.has("itemId")) || /^\/link\/map\/\d+\/?$/i.test(path)))
|
|
322
|
+
return "kakao_map_place";
|
|
312
323
|
if (host.endsWith("tistory.com"))
|
|
313
324
|
return "tistory_post";
|
|
314
325
|
if (host === "velog.io" || host.endsWith("velog.io"))
|
|
@@ -321,7 +332,7 @@ export function inferTarget(url, target) {
|
|
|
321
332
|
return "namuwiki_article";
|
|
322
333
|
if ((host === "wikipedia.org" || host.endsWith(".wikipedia.org")) && /^\/wiki\//i.test(path))
|
|
323
334
|
return "wikipedia_article";
|
|
324
|
-
if ((host === "solved.ac" || host.endsWith(".solved.ac")) && (/^\/api\/v3\/(?:problem\/show|problem\/lookup|search\/problem)$/i.test(path) || ((path === "/search" || path === "/problems") && parsed.searchParams.has("query")) || /^\/problems\/level\/\d+\/?$/i.test(path) || /^\/problems\/tags\/[^/]+\/?$/i.test(path)))
|
|
335
|
+
if ((host === "solved.ac" || host.endsWith(".solved.ac")) && (/^\/api\/v3\/(?:problem\/show|problem\/lookup|search\/problem|user\/show|user\/class_stats|user\/problem_stats)$/i.test(path) || /^\/profile\/[^/]+\/?$/i.test(path) || ((path === "/search" || path === "/problems") && parsed.searchParams.has("query")) || /^\/problems\/level\/\d+\/?$/i.test(path) || /^\/problems\/tags\/[^/]+\/?$/i.test(path)))
|
|
325
336
|
return "solvedac_problem";
|
|
326
337
|
}
|
|
327
338
|
catch {
|
|
@@ -353,16 +364,16 @@ function falsyEnv(value) {
|
|
|
353
364
|
return /^(0|false|no|off)$/i.test(String(value || "").trim());
|
|
354
365
|
}
|
|
355
366
|
export function smartWebProfile() {
|
|
356
|
-
const value = configText("
|
|
367
|
+
const value = configText("profile").toLowerCase();
|
|
357
368
|
if (["private", "local", "local-only", "strict"].includes(value))
|
|
358
369
|
return "private";
|
|
359
370
|
return "balanced";
|
|
360
371
|
}
|
|
361
|
-
export function
|
|
362
|
-
return truthyEnv(configText(
|
|
372
|
+
export function configFlag(path) {
|
|
373
|
+
return truthyEnv(configText(path));
|
|
363
374
|
}
|
|
364
|
-
export function
|
|
365
|
-
const value = configValue(
|
|
375
|
+
export function configEnabled(path, defaultValue, profileDefaults) {
|
|
376
|
+
const value = configValue(path);
|
|
366
377
|
if (value === undefined || String(value).trim() === "") {
|
|
367
378
|
const profileDefault = profileDefaults?.[smartWebProfile()];
|
|
368
379
|
return profileDefault !== undefined ? profileDefault : defaultValue;
|
|
@@ -558,6 +569,12 @@ export function needsDynamicCrawl(result) {
|
|
|
558
569
|
const textLength = text.length;
|
|
559
570
|
if (rawLength > 500 && textLength < 200)
|
|
560
571
|
return true;
|
|
572
|
+
if (textLength < 160 && /<script[^>]*id=["']__NEXT_DATA__["'][^>]*>/i.test(result.content))
|
|
573
|
+
return true;
|
|
574
|
+
if (textLength < 160 && /self\.__next_f\.push\(/.test(result.content))
|
|
575
|
+
return true;
|
|
576
|
+
if (textLength < 120 && /<(?:div|main|section)[^>]+(?:id|class)=["'][^"']*(?:root|__next|app|application)[^"']*["'][^>]*>\s*<\/(?:div|main|section)>/i.test(result.content))
|
|
577
|
+
return true;
|
|
561
578
|
const lower = text.toLowerCase();
|
|
562
579
|
const blocked = [
|
|
563
580
|
"access denied",
|
|
@@ -571,6 +588,9 @@ export function needsDynamicCrawl(result) {
|
|
|
571
588
|
"gokuprops",
|
|
572
589
|
"javascript is not available",
|
|
573
590
|
"something went wrong",
|
|
591
|
+
"verify you are human",
|
|
592
|
+
"captcha",
|
|
593
|
+
"check your browser",
|
|
574
594
|
];
|
|
575
595
|
return blocked.some((item) => lower.includes(item));
|
|
576
596
|
}
|