smart-web-mcp 0.7.13 → 0.8.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 +14 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +180 -0
- package/dist/cli.js.map +1 -0
- package/dist/smartfetch/providers/x.js +45 -6
- package/dist/smartfetch/providers/x.js.map +1 -1
- package/package.json +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,20 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format is based on Keep a Changelog[^1] and this project uses SemVer.
|
|
6
6
|
|
|
7
|
+
## [0.8.0] - 2026-04-06
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- CLI interface: `smart-web search`, `smart-web fetch`, `smart-web crawl` subcommands for terminal use without MCP. Supports `--json` for structured output and all existing tool options as CLI flags.
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- Updated brace-expansion and path-to-regexp to patch security vulnerabilities
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
|
|
19
|
+
- Extract full X article content from `content.blocks` field
|
|
20
|
+
|
|
7
21
|
## [0.7.13] - 2026-04-05
|
|
8
22
|
|
|
9
23
|
### Changed
|
package/dist/cli.d.ts
ADDED
package/dist/cli.js
ADDED
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { readFileSync } from "node:fs";
|
|
3
|
+
import { renderSmartcrawl, runSmartcrawl } from "./smartcrawl.js";
|
|
4
|
+
import { renderSmartfetch, runSmartfetch } from "./smartfetch.js";
|
|
5
|
+
import { renderSmartsearch, runSmartsearch } from "./smartsearch.js";
|
|
6
|
+
import { runBrowserSession } from "./browser-session.js";
|
|
7
|
+
import { sanitizeSmartWebTempEnv } from "./runtime-temp.js";
|
|
8
|
+
const packageVersion = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8")).version;
|
|
9
|
+
sanitizeSmartWebTempEnv();
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
// Arg parsing
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
function parseArgs(argv) {
|
|
14
|
+
const positional = [];
|
|
15
|
+
const flags = {};
|
|
16
|
+
for (let i = 0; i < argv.length; i++) {
|
|
17
|
+
const arg = argv[i];
|
|
18
|
+
if (arg.startsWith("--")) {
|
|
19
|
+
const key = arg.slice(2);
|
|
20
|
+
const next = argv[i + 1];
|
|
21
|
+
if (next !== undefined && !next.startsWith("--")) {
|
|
22
|
+
flags[key] = next;
|
|
23
|
+
i++;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
flags[key] = "true";
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
positional.push(arg);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return { positional, flags };
|
|
34
|
+
}
|
|
35
|
+
function strFlag(flags, key) {
|
|
36
|
+
return flags[key];
|
|
37
|
+
}
|
|
38
|
+
function intFlag(flags, key, fallback) {
|
|
39
|
+
const v = flags[key];
|
|
40
|
+
if (v === undefined)
|
|
41
|
+
return fallback;
|
|
42
|
+
const n = parseInt(v, 10);
|
|
43
|
+
return Number.isFinite(n) ? n : fallback;
|
|
44
|
+
}
|
|
45
|
+
// ---------------------------------------------------------------------------
|
|
46
|
+
// Help
|
|
47
|
+
// ---------------------------------------------------------------------------
|
|
48
|
+
const HELP = `smart-web v${packageVersion}
|
|
49
|
+
|
|
50
|
+
Usage:
|
|
51
|
+
smart-web search <query> [options] Web search
|
|
52
|
+
smart-web fetch <url> [options] Fetch & normalize a URL
|
|
53
|
+
smart-web crawl <url> [options] Multi-page site crawl
|
|
54
|
+
smart-web --help Show this help
|
|
55
|
+
smart-web --version Show version
|
|
56
|
+
|
|
57
|
+
Search options:
|
|
58
|
+
--num <n> Number of results (default: 5)
|
|
59
|
+
--type <type> auto | fast | deep (default: auto)
|
|
60
|
+
--max-chars <n> Max context characters (default: 10000)
|
|
61
|
+
|
|
62
|
+
Fetch options:
|
|
63
|
+
--target <target> auto | reddit_post | x_post | youtube_video | ... (default: auto)
|
|
64
|
+
--format <fmt> text | markdown | json (default: markdown)
|
|
65
|
+
--timeout <ms> Timeout in milliseconds (default: 25000)
|
|
66
|
+
--download Prefer downloadable asset
|
|
67
|
+
--force-dynamic Skip light fetches, use Playwright
|
|
68
|
+
|
|
69
|
+
Crawl options:
|
|
70
|
+
--query <topic> Topic filter for ranking results
|
|
71
|
+
--mode <mode> auto | board | docs (default: auto)
|
|
72
|
+
--limit <n> Max ranked results (default: 10)
|
|
73
|
+
--max-pages <n> Max pages to visit (default: 5)
|
|
74
|
+
--max-depth <n> Max recursive depth (default: 2)
|
|
75
|
+
--timeout <ms> Per-page timeout (default: 30000)
|
|
76
|
+
|
|
77
|
+
Global options:
|
|
78
|
+
--json Output raw JSON instead of rendered text
|
|
79
|
+
`;
|
|
80
|
+
// ---------------------------------------------------------------------------
|
|
81
|
+
// Commands
|
|
82
|
+
// ---------------------------------------------------------------------------
|
|
83
|
+
async function cmdSearch(query, flags) {
|
|
84
|
+
const response = await runSmartsearch({
|
|
85
|
+
query,
|
|
86
|
+
numResults: intFlag(flags, "num", 5),
|
|
87
|
+
searchType: strFlag(flags, "type") || "auto",
|
|
88
|
+
contextMaxCharacters: intFlag(flags, "max-chars", 10000),
|
|
89
|
+
});
|
|
90
|
+
if (flags.json !== undefined) {
|
|
91
|
+
console.log(JSON.stringify(response, null, 2));
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
console.log(renderSmartsearch(response));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
async function cmdFetch(url, flags) {
|
|
98
|
+
const format = strFlag(flags, "format") || "markdown";
|
|
99
|
+
const output = await runSmartfetch({
|
|
100
|
+
url,
|
|
101
|
+
target: strFlag(flags, "target") || "auto",
|
|
102
|
+
timeoutMs: intFlag(flags, "timeout", 25000),
|
|
103
|
+
download: strFlag(flags, "download") !== undefined,
|
|
104
|
+
forceDynamic: strFlag(flags, "force-dynamic") !== undefined,
|
|
105
|
+
}, { runBrowserSession, runSmartsearch });
|
|
106
|
+
if (flags.json !== undefined) {
|
|
107
|
+
console.log(JSON.stringify(output, null, 2));
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
console.log(renderSmartfetch(output, format));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
async function cmdCrawl(url, flags) {
|
|
114
|
+
const opts = {
|
|
115
|
+
url,
|
|
116
|
+
mode: strFlag(flags, "mode") || "auto",
|
|
117
|
+
limit: intFlag(flags, "limit", 10),
|
|
118
|
+
maxPages: intFlag(flags, "max-pages", 5),
|
|
119
|
+
maxDepth: intFlag(flags, "max-depth", 2),
|
|
120
|
+
timeoutMs: intFlag(flags, "timeout", 30000),
|
|
121
|
+
};
|
|
122
|
+
const crawlQuery = strFlag(flags, "query");
|
|
123
|
+
if (crawlQuery)
|
|
124
|
+
opts.query = crawlQuery;
|
|
125
|
+
const response = await runSmartcrawl(opts);
|
|
126
|
+
if (flags.json !== undefined) {
|
|
127
|
+
console.log(JSON.stringify(response, null, 2));
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
console.log(renderSmartcrawl(response, "markdown"));
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// ---------------------------------------------------------------------------
|
|
134
|
+
// Main
|
|
135
|
+
// ---------------------------------------------------------------------------
|
|
136
|
+
async function main() {
|
|
137
|
+
const { positional, flags } = parseArgs(process.argv.slice(2));
|
|
138
|
+
if (flags.version !== undefined) {
|
|
139
|
+
console.log(packageVersion);
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
if (flags.help !== undefined || positional.length === 0) {
|
|
143
|
+
console.log(HELP);
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
const command = positional[0];
|
|
147
|
+
const arg = positional.slice(1).join(" ");
|
|
148
|
+
switch (command) {
|
|
149
|
+
case "search":
|
|
150
|
+
if (!arg) {
|
|
151
|
+
console.error("Error: search requires a query argument");
|
|
152
|
+
process.exit(1);
|
|
153
|
+
}
|
|
154
|
+
await cmdSearch(arg, flags);
|
|
155
|
+
break;
|
|
156
|
+
case "fetch":
|
|
157
|
+
if (!arg) {
|
|
158
|
+
console.error("Error: fetch requires a URL argument");
|
|
159
|
+
process.exit(1);
|
|
160
|
+
}
|
|
161
|
+
await cmdFetch(arg, flags);
|
|
162
|
+
break;
|
|
163
|
+
case "crawl":
|
|
164
|
+
if (!arg) {
|
|
165
|
+
console.error("Error: crawl requires a URL argument");
|
|
166
|
+
process.exit(1);
|
|
167
|
+
}
|
|
168
|
+
await cmdCrawl(arg, flags);
|
|
169
|
+
break;
|
|
170
|
+
default:
|
|
171
|
+
console.error(`Unknown command: ${command}\n`);
|
|
172
|
+
console.log(HELP);
|
|
173
|
+
process.exit(1);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
main().catch((error) => {
|
|
177
|
+
console.error(error.message || error);
|
|
178
|
+
process.exit(1);
|
|
179
|
+
});
|
|
180
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,17 +65,55 @@ function collectFxMediaLinks(tweet) {
|
|
|
65
65
|
: Array.isArray(tweet?.media)
|
|
66
66
|
? tweet.media
|
|
67
67
|
: [];
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
const articleMedia = Array.isArray(tweet?.article?.media_entities) ? tweet.article.media_entities : [];
|
|
69
|
+
return [
|
|
70
|
+
...media.map((item) => String(item?.url || item?.media_url_https || item?.thumbnail_url || item?.thumbnail_url_https || "").trim()),
|
|
71
|
+
...articleMedia.map((item) => String(item?.media_info?.original_img_url || "").trim()),
|
|
72
|
+
]
|
|
70
73
|
.filter(Boolean)
|
|
71
|
-
.slice(0,
|
|
74
|
+
.slice(0, 20);
|
|
75
|
+
}
|
|
76
|
+
function extractArticleBlocksText(article) {
|
|
77
|
+
const blocks = article?.content?.blocks;
|
|
78
|
+
if (!Array.isArray(blocks) || blocks.length === 0)
|
|
79
|
+
return "";
|
|
80
|
+
const lines = [];
|
|
81
|
+
for (const block of blocks) {
|
|
82
|
+
const text = asString(block?.text).trim();
|
|
83
|
+
if (!text || block?.type === "atomic")
|
|
84
|
+
continue;
|
|
85
|
+
const type = asString(block?.type);
|
|
86
|
+
if (type === "header-one" || type === "header-two" || type === "header-three") {
|
|
87
|
+
lines.push(`\n## ${text}`);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
lines.push(text);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return lines.join("\n\n").trim();
|
|
94
|
+
}
|
|
95
|
+
function extractArticleBlocksUrls(article) {
|
|
96
|
+
const blocks = article?.content?.blocks;
|
|
97
|
+
if (!Array.isArray(blocks))
|
|
98
|
+
return [];
|
|
99
|
+
const urls = [];
|
|
100
|
+
for (const block of blocks) {
|
|
101
|
+
const blockUrls = Array.isArray(block?.data?.urls) ? block.data.urls : [];
|
|
102
|
+
for (const entry of blockUrls) {
|
|
103
|
+
const url = asString(entry?.text).trim();
|
|
104
|
+
if (url)
|
|
105
|
+
urls.push(url);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return urls;
|
|
72
109
|
}
|
|
73
110
|
function textFromTweet(tweet) {
|
|
74
111
|
const direct = asString(tweet?.text || tweet?.raw_text?.text);
|
|
112
|
+
const articleFull = extractArticleBlocksText(tweet?.article);
|
|
75
113
|
const articlePreview = asString(tweet?.article?.preview_text || tweet?.twitter_card?.description);
|
|
76
|
-
if (/^https?:\/\/t\.co\/[A-Za-z0-9]+$/i.test(direct) && articlePreview)
|
|
77
|
-
return articlePreview;
|
|
78
|
-
return asString(direct || articlePreview);
|
|
114
|
+
if (/^https?:\/\/t\.co\/[A-Za-z0-9]+$/i.test(direct) && (articleFull || articlePreview))
|
|
115
|
+
return articleFull || articlePreview;
|
|
116
|
+
return asString(direct || articleFull || articlePreview);
|
|
79
117
|
}
|
|
80
118
|
function titleFromTweet(tweet) {
|
|
81
119
|
return asString(tweet?.article?.title || tweet?.twitter_card?.title || textFromTweet(tweet).slice(0, 140) || `Post by @${asString(tweet?.author?.screen_name || "x")}`);
|
|
@@ -121,6 +159,7 @@ export const xProvider = {
|
|
|
121
159
|
...context.active.links,
|
|
122
160
|
...media,
|
|
123
161
|
...extractUrls(text),
|
|
162
|
+
...extractArticleBlocksUrls(tweet.article),
|
|
124
163
|
...extractUrls(String(tweet.article?.preview_text || "")),
|
|
125
164
|
...extractUrls(String(quote.text || "")),
|
|
126
165
|
]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/x.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"x.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/x.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAGzD,MAAM,UAAU,GAAG,iHAAiH,CAAA;AAEpI,SAAS,aAAa;IACpB,OAAO,UAAU,CAAC,sBAAsB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;AACrE,CAAC;AAED,SAAS,mBAAmB;IAC1B,IAAI,aAAa,EAAE;QAAE,OAAO,KAAK,CAAA;IACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAC7E,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC1B,OAAO,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAC5C,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,YAAY,GAAG,CAAC,aAAa,EAAE,CAAA;IACrC,OAAO,UAAU,CAAC,4BAA4B,EAAE,YAAY,CAAC,CAAA;AAC/D,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACxD,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;QAChE,IAAI,WAAW,IAAI,CAAC,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC;YAC/C,OAAO;gBACL,UAAU,EAAE,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;gBAClC,EAAE,EAAE,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;aAC3B,CAAA;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;IACxE,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,GAAW,EAAE,SAAiB;IAChE,IAAI,CAAC,mBAAmB,EAAE;QAAE,OAAO,IAAI,CAAA;IACvC,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;IAClC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACxB,MAAM,UAAU,GAAG;QACjB,oCAAoC,kBAAkB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;QACzE,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,6BAA6B,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,kBAAkB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAChL,CAAA;IACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC,SAAS,EACT,SAAS,EACT;YACE,OAAO,EAAE;gBACP,MAAM,EAAE,iCAAiC;gBACzC,YAAY,EAAE,UAAU;aACzB;SACF,EACD;YACE,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,GAAG;SACf,CACF,CAAA;QACD,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAQ;QAC3E,OAAO,MAAM,CAAC,IAA+B,CAAA;IAC/C,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAU;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC;QAC5C,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG;QACjB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;YAC3B,CAAC,CAAC,KAAK,CAAC,KAAK;YACb,CAAC,CAAC,EAAE,CAAA;IAER,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAA;IAEtG,OAAO;QACL,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,eAAe,IAAI,IAAI,EAAE,aAAa,IAAI,IAAI,EAAE,mBAAmB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,gBAAgB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;KAC5F;SACE,MAAM,CAAC,OAAO,CAAC;SACf,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACjB,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAY;IAC5C,MAAM,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,CAAA;IACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAE5D,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QACzC,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE,IAAI,KAAK,QAAQ;YAAE,SAAQ;QAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAClC,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAC9E,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;AAClC,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAY;IAC5C,MAAM,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,CAAA;IACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAA;IACrC,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;QACzE,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;YACxC,IAAI,GAAG;gBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,aAAa,CAAC,KAAU;IAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC7D,MAAM,WAAW,GAAG,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC5D,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,IAAI,KAAK,EAAE,YAAY,EAAE,WAAW,CAAC,CAAA;IACjG,IAAI,mCAAmC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,cAAc,CAAC;QAAE,OAAO,WAAW,IAAI,cAAc,CAAA;IAC7H,OAAO,QAAQ,CAAC,MAAM,IAAI,WAAW,IAAI,cAAc,CAAC,CAAA;AAC1D,CAAC;AAED,SAAS,cAAc,CAAC,KAAU;IAChC,OAAO,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,YAAY,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,IAAI,GAAG,CAAC,EAAE,CAAC,CAAA;AACzK,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAuB;IAC3C,EAAE,EAAE,GAAG;IACP,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,QAAQ;IAC9C,KAAK,CAAC,SAAS,CAAC,OAA0B;QACxC,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QACrE,IAAK,EAAU,EAAE,KAAK,EAAE,CAAC;YACvB,MAAM,KAAK,GAAI,EAAU,CAAC,KAAK,IAAI,EAAE,CAAA;YACrC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAA;YAC/B,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAA;YACxC,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;YACjC,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;YACnC,OAAO;gBACL,IAAI,EAAE;oBACJ,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;oBACvC,KAAK;oBACL,IAAI;oBACJ,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;oBACtC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;oBAClC,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;oBAChD,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;oBAChC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;oBAC5B,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;oBAClC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;oBAChC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;oBAC5B,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC;oBAC7C,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC;oBACtD,KAAK,EAAE,KAAK,EAAE,IAAI;wBAChB,CAAC,CAAC;4BACE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;4BAC1B,kBAAkB,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC;yBACzD;wBACH,CAAC,CAAC,IAAI;oBACR,KAAK;iBACN;gBACD,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,EAAE;gBACZ,cAAc,EAAE,UAAU,CAAC;oBACzB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK;oBACvB,GAAG,KAAK;oBACR,GAAG,WAAW,CAAC,IAAI,CAAC;oBACpB,GAAG,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC;oBAC1C,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;oBACzD,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;iBACzC,CAAC;gBACF,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,yBAAyB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAChH,MAAM,EAAE,oBAAoB;aAC7B,CAAA;QACH,CAAC;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC9C,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACjE,OAAO;gBACL,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE;gBAC7D,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,EAAE;gBACZ,cAAc,EAAE,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC7F,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE;oBACN,GAAG,OAAO,CAAC,MAAM;oBACjB,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,mCAAmC,EAAE;iBACxG;gBACD,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;aAC9B,CAAA;QACH,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO;gBACL,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,wBAAwB,EAAE;gBACtE,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,EAAE;gBACZ,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;gBAChD,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE;oBACN,GAAG,OAAO,CAAC,MAAM;oBACjB,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,6CAA6C,EAAE;iBAC/G;gBACD,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;aAC9B,CAAA;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,0CAA0C,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,SAAS,EAAE;YACrJ,OAAO,EAAE;gBACP,MAAM,EAAE,iCAAiC;gBACzC,YAAY,EAAE,UAAU;aACzB;SACF,EAAE;YACD,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,OAAO,CAAC,GAAG;SACvB,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAE,QAAQ,CAAC,IAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACtE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;QACpD,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACxD,MAAM,aAAa,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QAC1D,OAAO;YACL,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,EAAE;YAClG,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;YACZ,cAAc,EAAE,UAAU,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3E,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,UAAU;gBAChB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,yBAAyB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC1G,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,IAAI,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,IAAI,oBAAoB,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,IAAI,UAAU,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAClM,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;SAC/D,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.rich-jojo/smart-web",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.8.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
7
|
"homepage": "https://github.com/rich-jojo/smart-web",
|
|
@@ -22,7 +22,8 @@
|
|
|
22
22
|
},
|
|
23
23
|
"bin": {
|
|
24
24
|
"smart-web-mcp": "dist/index.js",
|
|
25
|
-
"smart-web-dev": "dist/dev.js"
|
|
25
|
+
"smart-web-dev": "dist/dev.js",
|
|
26
|
+
"smart-web": "dist/cli.js"
|
|
26
27
|
},
|
|
27
28
|
"files": [
|
|
28
29
|
"dist",
|