smart-web-mcp 0.4.2 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,29 @@ The format is based on Keep a Changelog and this project uses SemVer.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.4.4] - 2026-03-21
10
+
11
+ ### Added
12
+
13
+ - `smartfetch.assets` structured output with discovered media and attachment download URLs
14
+ - attachment/media rendering in markdown and text output
15
+
16
+ ### Fixed
17
+
18
+ - provider fetch tests now cover redirect-to-private-host blocking
19
+ - YouTube results expose thumbnail-style asset metadata for downstream download flows
20
+
21
+ ## [0.4.3] - 2026-03-21
22
+
23
+ ### Added
24
+
25
+ - direct `site:velog.io` search fallback through Velog GraphQL
26
+ - direct StackExchange fallback for `site:stackoverflow.com`, `site:superuser.com`, and related queries
27
+
28
+ ### Fixed
29
+
30
+ - narrower personal-use search queries now degrade to site-native fallbacks instead of only public HTML engines
31
+
9
32
  ## [0.4.2] - 2026-03-21
10
33
 
11
34
  ### Changed
package/README.md CHANGED
@@ -48,7 +48,9 @@ OpenCode:
48
48
  ## What it includes
49
49
 
50
50
  - `smartsearch`: fallback web search with Exa, Brave, SearXNG, DuckDuckGo, and Brave HTML
51
+ - `smartsearch`: plus direct site-native fallbacks for Velog and StackExchange-style sites when that is more reliable
51
52
  - `smartfetch`: browser-aware fetch with special handling for Reddit, X, YouTube, DCInside, and Naver Blog
53
+ - `smartfetch`: includes discovered media and attachment download URLs in structured output
52
54
  - sensible safety defaults: private-network blocking, local-only mode, provider toggles
53
55
 
54
56
  ## Docs
package/dist/shared.d.ts CHANGED
@@ -37,6 +37,7 @@ export type SmartfetchOutput = {
37
37
  post: Record<string, unknown> | null;
38
38
  thread: Record<string, unknown>[];
39
39
  comments: Record<string, unknown>[];
40
+ assets: SmartfetchAsset[];
40
41
  outbound_links: string[];
41
42
  evidence: {
42
43
  impit_attempted: boolean;
@@ -46,6 +47,16 @@ export type SmartfetchOutput = {
46
47
  generated_at: string;
47
48
  };
48
49
  };
50
+ export type SmartfetchAssetKind = "image" | "video" | "audio" | "document" | "archive" | "attachment" | "other";
51
+ export type SmartfetchAsset = {
52
+ url: string;
53
+ download_url: string;
54
+ kind: SmartfetchAssetKind;
55
+ file_name: string;
56
+ mime_type: string;
57
+ source: string;
58
+ downloadable: boolean;
59
+ };
49
60
  export type SmartfetchRenderFormat = "text" | "markdown";
50
61
  export declare function asString(value: unknown): string;
51
62
  export declare function asNumber(value: unknown): number;
@@ -56,6 +67,12 @@ export declare function dedupeUrls(values: string[]): string[];
56
67
  export declare function cleanLinks(values: string[]): string[];
57
68
  export declare function extractUrls(value: string): string[];
58
69
  export declare function extractAnchorHrefs(value: string): string[];
70
+ export declare function absolutizeUrl(input: string, baseUrl: string): string;
71
+ export declare function extractTagAttribute(html: string, tag: string, attribute: string, baseUrl: string): string[];
72
+ export declare function extractMetaContentValues(html: string, names: string[], baseUrl: string): string[];
73
+ export declare function fileNameFromUrl(url: string): string;
74
+ export declare function inferMimeType(url: string): string;
75
+ export declare function inferAssetKind(url: string, mimeType?: string): SmartfetchAssetKind;
59
76
  export declare function uniqueResults(results: SearchResult[]): SearchResult[];
60
77
  export declare function resolveDuckDuckGoUrl(input: string): string;
61
78
  export declare function capture(value: string, regex: RegExp): string;
@@ -77,6 +94,19 @@ export declare function validateOutboundUrl(url: string, options?: {
77
94
  reason?: never;
78
95
  message?: never;
79
96
  }>;
97
+ export declare function resolveValidatedUrl(url: string, options?: {
98
+ allowPrivateHosts?: boolean;
99
+ timeoutMs?: number;
100
+ maxRedirects?: number;
101
+ headers?: HeadersInit;
102
+ }): Promise<{
103
+ ok: false;
104
+ reason: string;
105
+ message: string;
106
+ } | {
107
+ ok: true;
108
+ url: string;
109
+ }>;
80
110
  export declare function isXUrl(url: string): boolean;
81
111
  export declare function isRedditUrl(url: string): boolean;
82
112
  export declare function isDcinsideUrl(url: string): boolean;
package/dist/shared.js CHANGED
@@ -83,6 +83,85 @@ export function extractAnchorHrefs(value) {
83
83
  out.push(decodeHtml(asString(match[1])).trim());
84
84
  return dedupeUrls(out);
85
85
  }
86
+ export function absolutizeUrl(input, baseUrl) {
87
+ const raw = decodeHtml(String(input || "").trim());
88
+ if (!raw)
89
+ return "";
90
+ try {
91
+ return new URL(raw, baseUrl).toString();
92
+ }
93
+ catch {
94
+ return "";
95
+ }
96
+ }
97
+ export function extractTagAttribute(html, tag, attribute, baseUrl) {
98
+ const out = [];
99
+ const regex = new RegExp(`<${tag}[^>]+${attribute}=["']([^"']+)["'][^>]*>`, "gi");
100
+ for (const match of html.matchAll(regex)) {
101
+ const absolute = absolutizeUrl(asString(match[1]), baseUrl);
102
+ if (absolute)
103
+ out.push(absolute);
104
+ }
105
+ return dedupeUrls(out);
106
+ }
107
+ export function extractMetaContentValues(html, names, baseUrl) {
108
+ const out = [];
109
+ for (const name of names) {
110
+ const content = extractMetaProperty(html, name) || extractMetaName(html, name);
111
+ const absolute = absolutizeUrl(content, baseUrl);
112
+ if (absolute)
113
+ out.push(absolute);
114
+ }
115
+ return dedupeUrls(out);
116
+ }
117
+ export function fileNameFromUrl(url) {
118
+ try {
119
+ const parsed = new URL(url);
120
+ const last = parsed.pathname.split("/").filter(Boolean).at(-1) || parsed.hostname;
121
+ return decodeURIComponent(last);
122
+ }
123
+ catch {
124
+ return "";
125
+ }
126
+ }
127
+ export function inferMimeType(url) {
128
+ const lower = url.toLowerCase();
129
+ if (/\/pdf\//i.test(lower) || /[?&](format|download|file)=pdf/i.test(lower))
130
+ return "application/pdf";
131
+ if (/\.(png|jpg|jpeg|gif|webp|svg|avif)(?:$|[?#])/i.test(lower))
132
+ return `image/${lower.match(/\.(png|jpg|jpeg|gif|webp|svg|avif)/i)?.[1] || "*"}`;
133
+ if (/\.(mp4|webm|mov|m4v)(?:$|[?#])/i.test(lower))
134
+ return `video/${lower.match(/\.(mp4|webm|mov|m4v)/i)?.[1] || "*"}`;
135
+ if (/\.(mp3|wav|ogg|m4a|flac)(?:$|[?#])/i.test(lower))
136
+ return `audio/${lower.match(/\.(mp3|wav|ogg|m4a|flac)/i)?.[1] || "*"}`;
137
+ if (/\.(pdf)(?:$|[?#])/i.test(lower))
138
+ return "application/pdf";
139
+ if (/\.(doc|docx)(?:$|[?#])/i.test(lower))
140
+ return "application/msword";
141
+ if (/\.(xls|xlsx|csv)(?:$|[?#])/i.test(lower))
142
+ return "application/spreadsheet";
143
+ if (/\.(ppt|pptx)(?:$|[?#])/i.test(lower))
144
+ return "application/presentation";
145
+ if (/\.(zip|tar|gz|tgz|rar|7z)(?:$|[?#])/i.test(lower))
146
+ return "application/archive";
147
+ return "";
148
+ }
149
+ export function inferAssetKind(url, mimeType) {
150
+ const lower = `${mimeType || ""} ${url}`.toLowerCase();
151
+ if (lower.includes("image/") || /\.(png|jpg|jpeg|gif|webp|svg|avif)(?:$|[?#])/i.test(lower))
152
+ return "image";
153
+ if (lower.includes("video/") || /\.(mp4|webm|mov|m4v)(?:$|[?#])/i.test(lower))
154
+ return "video";
155
+ if (lower.includes("audio/") || /\.(mp3|wav|ogg|m4a|flac)(?:$|[?#])/i.test(lower))
156
+ return "audio";
157
+ if (/application\/pdf|application\/msword|spreadsheet|presentation/i.test(lower) || /\/pdf\//i.test(lower) || /\.(pdf|doc|docx|xls|xlsx|csv|ppt|pptx)(?:$|[?#])/i.test(lower))
158
+ return "document";
159
+ if (/application\/archive/i.test(lower) || /\.(zip|tar|gz|tgz|rar|7z)(?:$|[?#])/i.test(lower))
160
+ return "archive";
161
+ if (/download|attachment/i.test(lower))
162
+ return "attachment";
163
+ return "other";
164
+ }
86
165
  export function uniqueResults(results) {
87
166
  const seen = new Set();
88
167
  const out = [];
@@ -239,6 +318,73 @@ export async function validateOutboundUrl(url, options) {
239
318
  return { ok: false, reason: "invalid_url", message: "URL is invalid" };
240
319
  }
241
320
  }
321
+ function isRedirectStatus(status) {
322
+ return status === 301 || status === 302 || status === 303 || status === 307 || status === 308;
323
+ }
324
+ export async function resolveValidatedUrl(url, options) {
325
+ const validationOptions = options?.allowPrivateHosts === undefined ? undefined : { allowPrivateHosts: options.allowPrivateHosts };
326
+ const initial = await validateOutboundUrl(url, validationOptions);
327
+ if (!initial.ok)
328
+ return initial;
329
+ const timeoutMs = Math.max(1000, Math.floor(Number(options?.timeoutMs || 10000)));
330
+ const maxRedirects = Math.max(0, Math.floor(Number(options?.maxRedirects || 5)));
331
+ const controller = new AbortController();
332
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
333
+ let currentUrl = url;
334
+ try {
335
+ for (let hop = 0; hop <= maxRedirects; hop++) {
336
+ const requestInit = {
337
+ method: "GET",
338
+ signal: controller.signal,
339
+ redirect: "manual",
340
+ };
341
+ if (options?.headers !== undefined)
342
+ requestInit.headers = options.headers;
343
+ const response = await fetch(currentUrl, requestInit);
344
+ if (!isRedirectStatus(response.status)) {
345
+ try {
346
+ await response.body?.cancel();
347
+ }
348
+ catch {
349
+ // ignore body cancellation failures
350
+ }
351
+ return { ok: true, url: currentUrl };
352
+ }
353
+ if (hop === maxRedirects) {
354
+ try {
355
+ await response.body?.cancel();
356
+ }
357
+ catch {
358
+ // ignore body cancellation failures
359
+ }
360
+ return { ok: false, reason: "too_many_redirects", message: `Too many redirects while resolving URL: ${url}` };
361
+ }
362
+ const location = response.headers.get("location");
363
+ try {
364
+ await response.body?.cancel();
365
+ }
366
+ catch {
367
+ // ignore body cancellation failures
368
+ }
369
+ if (!location) {
370
+ return { ok: false, reason: "redirect_missing_location", message: "Redirect response did not include a Location header" };
371
+ }
372
+ const nextUrl = new URL(location, currentUrl).toString();
373
+ const validation = await validateOutboundUrl(nextUrl, validationOptions);
374
+ if (!validation.ok)
375
+ return validation;
376
+ currentUrl = nextUrl;
377
+ }
378
+ return { ok: false, reason: "too_many_redirects", message: `Too many redirects while resolving URL: ${url}` };
379
+ }
380
+ catch (error) {
381
+ const message = error instanceof Error ? error.message : String(error);
382
+ return { ok: false, reason: "redirect_resolution_failed", message };
383
+ }
384
+ finally {
385
+ clearTimeout(timer);
386
+ }
387
+ }
242
388
  export function isXUrl(url) {
243
389
  try {
244
390
  const host = new URL(url).hostname.toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { SmartfetchAsset } from "../shared.js";
2
+ export declare function discoverAssets(pageUrl: string, htmlOrText: string, post: Record<string, unknown> | null, outboundLinks: string[]): SmartfetchAsset[];
@@ -0,0 +1,85 @@
1
+ import { absolutizeUrl, dedupeUrls, extractMetaContentValues, extractTagAttribute, fileNameFromUrl, inferAssetKind, inferMimeType, } from "../shared.js";
2
+ function pushAsset(map, url, source) {
3
+ const normalized = String(url || "").trim();
4
+ if (!normalized || map.has(normalized))
5
+ return;
6
+ const lower = normalized.toLowerCase();
7
+ if (/favicon|apple-touch-icon|mask-icon|site\.webmanifest|safari-pinned-tab/i.test(lower))
8
+ return;
9
+ const mimeType = inferMimeType(normalized);
10
+ const kind = inferAssetKind(normalized, mimeType);
11
+ if (kind === "other")
12
+ return;
13
+ map.set(normalized, {
14
+ url: normalized,
15
+ download_url: normalized,
16
+ kind,
17
+ file_name: fileNameFromUrl(normalized),
18
+ mime_type: mimeType,
19
+ source,
20
+ downloadable: true,
21
+ });
22
+ }
23
+ function collectInterestingPostUrls(value, source, out) {
24
+ if (!value)
25
+ return;
26
+ if (typeof value === "string")
27
+ return;
28
+ if (Array.isArray(value)) {
29
+ for (const item of value)
30
+ collectInterestingPostUrls(item, source, out);
31
+ return;
32
+ }
33
+ if (typeof value !== "object")
34
+ return;
35
+ for (const [key, entry] of Object.entries(value)) {
36
+ if (typeof entry === "string") {
37
+ if (/(image|thumbnail|media|file|download|attachment|audio|video|poster)/i.test(key)) {
38
+ out.push({ url: entry, source });
39
+ }
40
+ continue;
41
+ }
42
+ collectInterestingPostUrls(entry, source, out);
43
+ }
44
+ }
45
+ export function discoverAssets(pageUrl, htmlOrText, post, outboundLinks) {
46
+ const assets = new Map();
47
+ for (const url of extractMetaContentValues(htmlOrText, ["og:image", "og:image:secure_url", "og:video", "og:audio", "twitter:image"], pageUrl)) {
48
+ pushAsset(assets, url, "meta");
49
+ }
50
+ for (const url of extractTagAttribute(htmlOrText, "img", "src", pageUrl))
51
+ pushAsset(assets, url, "img");
52
+ for (const url of extractTagAttribute(htmlOrText, "source", "src", pageUrl))
53
+ pushAsset(assets, url, "source");
54
+ for (const url of extractTagAttribute(htmlOrText, "video", "src", pageUrl))
55
+ pushAsset(assets, url, "video");
56
+ for (const url of extractTagAttribute(htmlOrText, "audio", "src", pageUrl))
57
+ pushAsset(assets, url, "audio");
58
+ for (const url of extractTagAttribute(htmlOrText, "a", "href", pageUrl))
59
+ pushAsset(assets, url, "anchor");
60
+ const postUrls = [];
61
+ collectInterestingPostUrls(post, "post", postUrls);
62
+ for (const item of postUrls) {
63
+ const absolute = absolutizeUrl(item.url, pageUrl);
64
+ if (absolute)
65
+ pushAsset(assets, absolute, item.source);
66
+ }
67
+ for (const url of dedupeUrls(outboundLinks)) {
68
+ const absolute = absolutizeUrl(url, pageUrl);
69
+ if (absolute)
70
+ pushAsset(assets, absolute, "outbound");
71
+ }
72
+ return Array.from(assets.values())
73
+ .sort((left, right) => {
74
+ const score = (asset) => {
75
+ if (asset.kind === "document" || asset.kind === "archive" || asset.kind === "attachment")
76
+ return 0;
77
+ if (asset.source === "post" || asset.source === "meta")
78
+ return 1;
79
+ return 2;
80
+ };
81
+ return score(left) - score(right);
82
+ })
83
+ .slice(0, 40);
84
+ }
85
+ //# sourceMappingURL=assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/smartfetch/assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACb,UAAU,EACV,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,aAAa,GACd,MAAM,cAAc,CAAA;AAErB,SAAS,SAAS,CAAC,GAAiC,EAAE,GAAW,EAAE,MAAc;IAC/E,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3C,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,OAAM;IAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,CAAA;IACtC,IAAI,yEAAyE,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAM;IACjG,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;IAC1C,MAAM,IAAI,GAAG,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IACjD,IAAI,IAAI,KAAK,OAAO;QAAE,OAAM;IAC5B,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE;QAClB,GAAG,EAAE,UAAU;QACf,YAAY,EAAE,UAAU;QACxB,IAAI;QACJ,SAAS,EAAE,eAAe,CAAC,UAAU,CAAC;QACtC,SAAS,EAAE,QAAQ;QACnB,MAAM;QACN,YAAY,EAAE,IAAI;KACnB,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc,EAAE,MAAc,EAAE,GAA2C;IAC7G,IAAI,CAAC,KAAK;QAAE,OAAM;IAClB,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAM;IACrC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;QACvE,OAAM;IACR,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAM;IAErC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;QAC5E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,sEAAsE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrF,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;YAClC,CAAC;YACD,SAAQ;QACV,CAAC;QACD,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;IAChD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,UAAkB,EAAE,IAAoC,EAAE,aAAuB;IAC/H,MAAM,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAA;IAEjD,KAAK,MAAM,GAAG,IAAI,wBAAwB,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;QAC9I,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IAChC,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,mBAAmB,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC;QAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;IACvG,KAAK,MAAM,GAAG,IAAI,mBAAmB,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC;QAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC7G,KAAK,MAAM,GAAG,IAAI,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC;QAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;IAC3G,KAAK,MAAM,GAAG,IAAI,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC;QAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;IAC3G,KAAK,MAAM,GAAG,IAAI,mBAAmB,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC;QAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;IAEzG,MAAM,QAAQ,GAA2C,EAAE,CAAA;IAC3D,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAClD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACjD,IAAI,QAAQ;YAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACxD,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAC5C,IAAI,QAAQ;YAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;IACvD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;SAC/B,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,MAAM,KAAK,GAAG,CAAC,KAAsB,EAAE,EAAE;YACvC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;gBAAE,OAAO,CAAC,CAAA;YAClG,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;gBAAE,OAAO,CAAC,CAAA;YAChE,OAAO,CAAC,CAAA;QACV,CAAC,CAAA;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;IACnC,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACjB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { envFlag, fetchJson, fetchText, validateOutboundUrl } from "../shared.js";
1
+ import { envFlag, fetchJson, fetchText, resolveValidatedUrl, validateOutboundUrl } from "../shared.js";
2
2
  function localOnlyMode() {
3
3
  return envFlag("SMART_WEB_LOCAL_ONLY");
4
4
  }
@@ -43,7 +43,24 @@ export async function fetchProviderText(url, timeoutMs, init, options) {
43
43
  if (!allowed.ok) {
44
44
  return { ok: false, status: 0, text: "", error: allowed.error };
45
45
  }
46
- const result = await fetchText(url, timeoutMs, init);
46
+ const resolveOptions = { timeoutMs };
47
+ if (init?.headers !== undefined)
48
+ resolveOptions.headers = init.headers;
49
+ const resolved = await resolveValidatedUrl(url, resolveOptions);
50
+ if (!resolved.ok) {
51
+ return {
52
+ ok: false,
53
+ status: 0,
54
+ text: "",
55
+ error: { category: "block", code: resolved.reason, message: resolved.message },
56
+ };
57
+ }
58
+ const finalAllowed = await enforcePolicy(resolved.url, options);
59
+ if (!finalAllowed.ok) {
60
+ return { ok: false, status: 0, text: "", error: finalAllowed.error };
61
+ }
62
+ const safeInit = init ? { ...init, redirect: "error" } : { redirect: "error" };
63
+ const result = await fetchText(resolved.url, timeoutMs, safeInit);
47
64
  if (!result.ok) {
48
65
  return {
49
66
  ok: false,
@@ -59,7 +76,25 @@ export async function fetchProviderJson(url, timeoutMs, init, options) {
59
76
  if (!allowed.ok) {
60
77
  return { ok: false, status: 0, text: "", data: null, error: allowed.error };
61
78
  }
62
- const result = await fetchJson(url, timeoutMs, init);
79
+ const resolveOptions = { timeoutMs };
80
+ if (init?.headers !== undefined)
81
+ resolveOptions.headers = init.headers;
82
+ const resolved = await resolveValidatedUrl(url, resolveOptions);
83
+ if (!resolved.ok) {
84
+ return {
85
+ ok: false,
86
+ status: 0,
87
+ text: "",
88
+ data: null,
89
+ error: { category: "block", code: resolved.reason, message: resolved.message },
90
+ };
91
+ }
92
+ const finalAllowed = await enforcePolicy(resolved.url, options);
93
+ if (!finalAllowed.ok) {
94
+ return { ok: false, status: 0, text: "", data: null, error: finalAllowed.error };
95
+ }
96
+ const safeInit = init ? { ...init, redirect: "error" } : { redirect: "error" };
97
+ const result = await fetchJson(resolved.url, timeoutMs, safeInit);
63
98
  if (!result.ok) {
64
99
  return {
65
100
  ok: false,
@@ -1 +1 @@
1
- {"version":3,"file":"provider-policy.js","sourceRoot":"","sources":["../../src/smartfetch/provider-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-policy.js","sourceRoot":"","sources":["../../src/smartfetch/provider-policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AA8BtG,SAAS,aAAa;IACpB,OAAO,OAAO,CAAC,sBAAsB,CAAC,CAAA;AACxC,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW,EAAE,OAA+B;IACvE,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAA;AACjC,CAAC;AAED,SAAS,eAAe,CAAC,GAAQ;IAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACnG,OAAO,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAA;AACnD,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB,EAAE,SAAiB;IACxD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAA;QACjC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAA;QACjC,OAAO,eAAe,CAAC,MAAM,CAAC,KAAK,eAAe,CAAC,MAAM,CAAC,CAAA;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,OAA+B;IACvE,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAC1D,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,OAAO,EAAE,EAAE,EAAE,KAAc,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAgB,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,CAAA;IAC5H,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5E,OAAO;YACL,EAAE,EAAE,KAAc;YAClB,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAgB,EAAE,IAAI,EAAE,+BAA+B,EAAE,OAAO,EAAE,8CAA8C,EAAE;SACtI,CAAA;IACH,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,aAAa,EAAE,EAAE,CAAC;QAChD,OAAO;YACL,EAAE,EAAE,KAAc;YAClB,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAgB,EAAE,IAAI,EAAE,2BAA2B,EAAE,OAAO,EAAE,+DAA+D,EAAE;SACnJ,CAAA;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAa,EAAE,CAAA;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAW,EAAE,SAAiB,EAAE,IAA6B,EAAE,OAA+B;IACpI,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACjD,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,EAAE,EAAE,EAAE,KAAc,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAA;IAC1E,CAAC;IAED,MAAM,cAAc,GAA8C,EAAE,SAAS,EAAE,CAAA;IAC/E,IAAI,IAAI,EAAE,OAAO,KAAK,SAAS;QAAE,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IACtE,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IAC/D,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO;YACL,EAAE,EAAE,KAAc;YAClB,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAgB,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE;SACxF,CAAA;IACH,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAC/D,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACrB,OAAO,EAAE,EAAE,EAAE,KAAc,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAA;IAC/E,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,OAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAgB,EAAE,CAAA;IAChG,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;IACjE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,KAAc;YAClB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,EAAE,QAAQ,EAAE,aAAsB,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,UAAU,MAAM,CAAC,MAAM,EAAE,EAAE;SAC/H,CAAA;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAA;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAW,EAAE,SAAiB,EAAE,IAA6B,EAAE,OAA+B;IACpI,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACjD,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,EAAE,EAAE,EAAE,KAAc,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAe,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAA;IACjG,CAAC;IAED,MAAM,cAAc,GAA8C,EAAE,SAAS,EAAE,CAAA;IAC/E,IAAI,IAAI,EAAE,OAAO,KAAK,SAAS;QAAE,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IACtE,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IAC/D,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO;YACL,EAAE,EAAE,KAAc;YAClB,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,IAAe;YACrB,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAgB,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE;SACxF,CAAA;IACH,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAC/D,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACrB,OAAO,EAAE,EAAE,EAAE,KAAc,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAe,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAA;IACtG,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,OAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAgB,EAAE,CAAA;IAChG,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;IACjE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,KAAc;YAClB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,IAAe;YACrB,KAAK,EAAE,EAAE,QAAQ,EAAE,aAAsB,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,UAAU,MAAM,CAAC,MAAM,EAAE,EAAE;SAC/H,CAAA;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAA;AAClF,CAAC"}
@@ -29,6 +29,7 @@ export const youtubeProvider = {
29
29
  const description = extractMetaProperty(context.active.content, "og:description") || extractMetaDescription(context.active.content);
30
30
  const fallbackText = stripTags(context.active.content);
31
31
  const author = String(oembed?.author_name || "");
32
+ const thumbnail = String(oembed?.thumbnail_url || "");
32
33
  if (!allowYoutubeTranscript()) {
33
34
  return {
34
35
  post: {
@@ -36,6 +37,7 @@ export const youtubeProvider = {
36
37
  title,
37
38
  description,
38
39
  ...(author ? { author } : {}),
40
+ ...(thumbnail ? { thumbnail } : {}),
39
41
  text: fallbackText.slice(0, 30000),
40
42
  transcript_available: false,
41
43
  status: fallbackText ? "partial_text_only" : "blocked_or_unavailable",
@@ -60,6 +62,7 @@ export const youtubeProvider = {
60
62
  title,
61
63
  description,
62
64
  ...(author ? { author } : {}),
65
+ ...(thumbnail ? { thumbnail } : {}),
63
66
  text: transcriptText.slice(0, 50000),
64
67
  transcript_available: Boolean(transcriptText),
65
68
  transcript_segment_count: transcript.length,
@@ -81,6 +84,7 @@ export const youtubeProvider = {
81
84
  title,
82
85
  description,
83
86
  ...(author ? { author } : {}),
87
+ ...(thumbnail ? { thumbnail } : {}),
84
88
  text: fallbackText.slice(0, 30000),
85
89
  transcript_available: false,
86
90
  status: fallbackText ? "partial_text_only" : "blocked_or_unavailable",
@@ -1 +1 @@
1
- {"version":3,"file":"youtube.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/youtube.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"youtube.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/youtube.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { execFileSync } from "node:child_process";
2
2
  import { dirname, resolve } from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
- import { asString, cleanLinks, dedupeUrls, envFlag, extractAnchorHrefs, extractUrls, inferTarget, isDcinsideUrl, needsDynamicCrawl, validateOutboundUrl, } from "./shared.js";
4
+ import { asString, cleanLinks, dedupeUrls, envFlag, extractAnchorHrefs, extractUrls, inferTarget, isDcinsideUrl, needsDynamicCrawl, resolveValidatedUrl, validateOutboundUrl, } from "./shared.js";
5
+ import { discoverAssets } from "./smartfetch/assets.js";
5
6
  import { maybeUseArchiveFallback } from "./smartfetch/archive-fallback.js";
6
7
  import { resolveSmartfetchProvider } from "./smartfetch/providers/index.js";
7
8
  const thisDir = typeof __dirname !== "undefined" ? __dirname : dirname(fileURLToPath(import.meta.url));
@@ -22,18 +23,36 @@ async function getImpit() {
22
23
  return impitCache;
23
24
  }
24
25
  async function runNativeFetch(url, timeoutMs) {
26
+ const headers = {
27
+ accept: "application/json,text/html,text/plain,*/*",
28
+ "user-agent": DEFAULT_USER_AGENT,
29
+ };
30
+ if (isDcinsideUrl(url)) {
31
+ headers["accept-language"] = "ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7";
32
+ headers.referer = "https://gall.dcinside.com/";
33
+ }
34
+ const resolved = await resolveValidatedUrl(url, {
35
+ allowPrivateHosts: allowPrivateHosts(),
36
+ timeoutMs,
37
+ headers,
38
+ });
39
+ if (!resolved.ok) {
40
+ return {
41
+ ok: false,
42
+ method: "plain_fetch",
43
+ content: "",
44
+ links: [],
45
+ error: {
46
+ category: "block",
47
+ code: resolved.reason,
48
+ message: resolved.message,
49
+ },
50
+ };
51
+ }
25
52
  const controller = new AbortController();
26
53
  const timer = setTimeout(() => controller.abort(), timeoutMs);
27
54
  try {
28
- const headers = {
29
- accept: "application/json,text/html,text/plain,*/*",
30
- "user-agent": DEFAULT_USER_AGENT,
31
- };
32
- if (isDcinsideUrl(url)) {
33
- headers["accept-language"] = "ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7";
34
- headers.referer = "https://gall.dcinside.com/";
35
- }
36
- const response = await fetch(url, { signal: controller.signal, headers });
55
+ const response = await fetch(resolved.url, { signal: controller.signal, headers, redirect: "error" });
37
56
  const body = await response.text();
38
57
  if (!response.ok) {
39
58
  return {
@@ -73,14 +92,32 @@ async function runImpitFetch(url, timeoutMs) {
73
92
  const Impit = await getImpit();
74
93
  if (!Impit)
75
94
  return runNativeFetch(url, timeoutMs);
95
+ const headers = {};
96
+ if (isDcinsideUrl(url)) {
97
+ headers.Referer = "https://gall.dcinside.com/";
98
+ headers["Accept-Language"] = "ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7";
99
+ }
100
+ const resolved = await resolveValidatedUrl(url, {
101
+ allowPrivateHosts: allowPrivateHosts(),
102
+ timeoutMs,
103
+ headers,
104
+ });
105
+ if (!resolved.ok) {
106
+ return {
107
+ ok: false,
108
+ method: "impit_fetch",
109
+ content: "",
110
+ links: [],
111
+ error: {
112
+ category: "block",
113
+ code: resolved.reason,
114
+ message: resolved.message,
115
+ },
116
+ };
117
+ }
76
118
  try {
77
119
  const client = new Impit({ browser: "chrome", timeout: timeoutMs });
78
- const headers = {};
79
- if (isDcinsideUrl(url)) {
80
- headers.Referer = "https://gall.dcinside.com/";
81
- headers["Accept-Language"] = "ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7";
82
- }
83
- const response = await client.fetch(url, { headers });
120
+ const response = await client.fetch(resolved.url, { headers, redirect: "error" });
84
121
  const body = await response.text();
85
122
  if (!response.ok) {
86
123
  return {
@@ -114,6 +151,24 @@ async function runImpitFetch(url, timeoutMs) {
114
151
  }
115
152
  }
116
153
  async function runPlaywrightFetch(url, timeoutMs) {
154
+ const resolved = await resolveValidatedUrl(url, {
155
+ allowPrivateHosts: allowPrivateHosts(),
156
+ timeoutMs,
157
+ headers: { "user-agent": DEFAULT_USER_AGENT },
158
+ });
159
+ if (!resolved.ok) {
160
+ return {
161
+ ok: false,
162
+ method: "playwright_stealth",
163
+ content: "",
164
+ links: [],
165
+ error: {
166
+ category: "block",
167
+ code: resolved.reason,
168
+ message: resolved.message,
169
+ },
170
+ };
171
+ }
117
172
  const script = `
118
173
  (async () => {
119
174
  try {
@@ -145,7 +200,7 @@ async function runPlaywrightFetch(url, timeoutMs) {
145
200
  locale: "ko-KR",
146
201
  })
147
202
  const page = await context.newPage()
148
- await page.goto(${JSON.stringify(url)}, { waitUntil: "networkidle", timeout: ${timeoutMs} })
203
+ await page.goto(${JSON.stringify(resolved.url)}, { waitUntil: "networkidle", timeout: ${timeoutMs} })
149
204
 
150
205
  const html = await page.content()
151
206
  const text = await page.evaluate(() => document.body?.innerText || "")
@@ -223,6 +278,7 @@ function baseOutput(url, target) {
223
278
  post: null,
224
279
  thread: [],
225
280
  comments: [],
281
+ assets: [],
226
282
  outbound_links: [],
227
283
  evidence: {
228
284
  impit_attempted: false,
@@ -245,6 +301,7 @@ function validateOutput(output) {
245
301
  "post",
246
302
  "thread",
247
303
  "comments",
304
+ "assets",
248
305
  "outbound_links",
249
306
  "evidence",
250
307
  ];
@@ -323,8 +380,10 @@ export async function runSmartfetch(options) {
323
380
  output.outbound_links = normalized.outbound_links;
324
381
  output.partial = normalized.partial;
325
382
  output.errors = normalized.errors;
383
+ output.assets = discoverAssets(options.url, active.content, output.post, output.outbound_links);
326
384
  output.retrieval_method = output.retrieval_method.filter((value, index, list) => value && list.indexOf(value) === index);
327
385
  output.outbound_links = dedupeUrls(cleanLinks(dedupeUrls(output.outbound_links)));
386
+ output.assets = output.assets.filter((asset, index, list) => asset.url && list.findIndex((item) => item.url === asset.url) === index);
328
387
  if (options.strictSchema !== false) {
329
388
  const error = validateOutput(output);
330
389
  if (error) {
@@ -355,7 +414,10 @@ export function renderSmartfetch(output, format) {
355
414
  return body ? `${author}: ${body}` : "";
356
415
  }).filter(Boolean)
357
416
  : [];
358
- return [title, meta, text, comments.join("\n"), cleanLinks(output.outbound_links || []).join("\n")].filter(Boolean).join("\n\n").trim();
417
+ const assets = Array.isArray(output.assets)
418
+ ? output.assets.slice(0, 15).map((asset) => `${asset.kind}: ${asset.download_url}`)
419
+ : [];
420
+ return [title, meta, text, comments.join("\n"), cleanLinks(output.outbound_links || []).join("\n"), assets.join("\n")].filter(Boolean).join("\n\n").trim();
359
421
  }
360
422
  const parts = [];
361
423
  const url = String(post?.url || output.url || "").trim();
@@ -388,6 +450,11 @@ export function renderSmartfetch(output, format) {
388
450
  const links = cleanLinks(output.outbound_links || []).slice(0, 20).map((item) => `- ${item}`);
389
451
  if (links.length > 0)
390
452
  parts.push(`## Links\n\n${links.join("\n")}`);
453
+ const assets = Array.isArray(output.assets)
454
+ ? output.assets.slice(0, 20).map((asset) => `- ${asset.kind}: ${asset.download_url}`)
455
+ : [];
456
+ if (assets.length > 0)
457
+ parts.push(`## Assets\n\n${assets.join("\n")}`);
391
458
  if (Array.isArray(output.errors) && output.errors.length > 0) {
392
459
  const errors = output.errors.map((item) => `- ${item?.code || "error"}: ${item?.message || "unknown"}`);
393
460
  parts.push(`## Notes\n\n${errors.join("\n")}`);
@@ -1 +1 @@
1
- {"version":3,"file":"smartfetch.js","sourceRoot":"","sources":["../src/smartfetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smartfetch.js","sourceRoot":"","sources":["../src/smartfetch.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,81 @@ function duckduckgoEnabled() {
17
17
  const defaultValue = !localOnlyMode();
18
18
  return envEnabled("SMARTSEARCH_ENABLE_DUCKDUCKGO", defaultValue);
19
19
  }
20
+ function normalizeHost(input) {
21
+ return input.toLowerCase().replace(/^www\./, "");
22
+ }
23
+ function extractSiteOperator(query) {
24
+ const match = query.match(/(?:^|\s)site:([^\s]+)/i);
25
+ return match?.[1] ? normalizeHost(match[1]) : "";
26
+ }
27
+ function stripSiteOperators(query) {
28
+ return query.replace(/(?:^|\s)site:[^\s]+/gi, " ").replace(/\s+/g, " ").trim();
29
+ }
30
+ async function searchVelog(query, numResults, timeoutMs) {
31
+ const keyword = stripSiteOperators(query) || query;
32
+ const result = await fetchText("https://v2.velog.io/graphql", timeoutMs, {
33
+ method: "POST",
34
+ headers: {
35
+ "content-type": "application/json",
36
+ "user-agent": DEFAULT_USER_AGENT,
37
+ },
38
+ body: JSON.stringify({
39
+ query: "query SearchPosts($keyword: String!) { searchPosts(keyword: $keyword) { posts { title url_slug short_description user { username } } } }",
40
+ variables: { keyword },
41
+ }),
42
+ });
43
+ if (!result.ok)
44
+ return { ok: false, note: result.error || `Velog search error ${result.status}` };
45
+ try {
46
+ const data = result.text ? JSON.parse(result.text) : {};
47
+ const raw = Array.isArray(data?.data?.searchPosts?.posts) ? data.data.searchPosts.posts : [];
48
+ const results = uniqueResults(raw.map((item) => ({
49
+ title: String(item?.title || "").trim(),
50
+ url: item?.user?.username && item?.url_slug ? `https://velog.io/@${item.user.username}/${item.url_slug}` : "",
51
+ snippet: String(item?.short_description || "").trim(),
52
+ engine: "velog",
53
+ })).filter((item) => item.url)).slice(0, numResults);
54
+ return { ok: results.length > 0, results, note: results.length > 0 ? "" : "Velog search returned no results" };
55
+ }
56
+ catch (error) {
57
+ const message = error instanceof Error ? error.message : String(error);
58
+ return { ok: false, note: `Velog search parse error: ${message}` };
59
+ }
60
+ }
61
+ async function searchStackExchange(query, numResults, timeoutMs) {
62
+ const siteHost = extractSiteOperator(query);
63
+ const site = siteHost.includes("superuser")
64
+ ? "superuser"
65
+ : siteHost.includes("serverfault")
66
+ ? "serverfault"
67
+ : siteHost.includes("stackapps")
68
+ ? "stackapps"
69
+ : "stackoverflow";
70
+ const q = stripSiteOperators(query) || query;
71
+ const result = await fetchText(`https://api.stackexchange.com/2.3/search/advanced?site=${encodeURIComponent(site)}&q=${encodeURIComponent(q)}&pagesize=${Math.min(numResults, 10)}&order=desc&sort=relevance`, timeoutMs, {
72
+ headers: {
73
+ accept: "application/json,text/plain,*/*",
74
+ "user-agent": DEFAULT_USER_AGENT,
75
+ },
76
+ });
77
+ if (!result.ok)
78
+ return { ok: false, note: result.error || `StackExchange error ${result.status}` };
79
+ try {
80
+ const data = result.text ? JSON.parse(result.text) : {};
81
+ const raw = Array.isArray(data?.items) ? data.items : [];
82
+ const results = uniqueResults(raw.map((item) => ({
83
+ title: stripTags(String(item?.title || "")),
84
+ url: String(item?.link || "").trim(),
85
+ snippet: String(item?.tags?.join(", ") || "").trim(),
86
+ engine: "stackexchange",
87
+ })).filter((item) => item.url)).slice(0, numResults);
88
+ return { ok: results.length > 0, results, note: results.length > 0 ? "" : "StackExchange search returned no results" };
89
+ }
90
+ catch (error) {
91
+ const message = error instanceof Error ? error.message : String(error);
92
+ return { ok: false, note: `StackExchange parse error: ${message}` };
93
+ }
94
+ }
20
95
  function braveHtmlEnabled() {
21
96
  const defaultValue = !localOnlyMode();
22
97
  return envEnabled("SMARTSEARCH_ENABLE_BRAVE_HTML", defaultValue);
@@ -175,6 +250,23 @@ export async function runSmartsearch(options) {
175
250
  const fallbacks = [];
176
251
  const notes = [];
177
252
  try {
253
+ const siteOperator = extractSiteOperator(query);
254
+ if (siteOperator === "velog.io") {
255
+ const velog = await searchVelog(query, numResults, timeoutMs);
256
+ fallbacks.push("velog");
257
+ if (velog.ok)
258
+ return { engine: "velog", query, results: velog.results, fallbacks_tried: fallbacks, notes };
259
+ if (velog.note)
260
+ notes.push(velog.note);
261
+ }
262
+ if (["stackoverflow.com", "superuser.com", "serverfault.com", "stackapps.com"].includes(siteOperator)) {
263
+ const stackexchange = await searchStackExchange(query, numResults, timeoutMs);
264
+ fallbacks.push("stackexchange");
265
+ if (stackexchange.ok)
266
+ return { engine: "stackexchange", query, results: stackexchange.results, fallbacks_tried: fallbacks, notes };
267
+ if (stackexchange.note)
268
+ notes.push(stackexchange.note);
269
+ }
178
270
  if (exaEnabled()) {
179
271
  const exa = await searchExa(query, numResults, searchType, contextMaxCharacters, timeoutMs);
180
272
  fallbacks.push("exa");
@@ -1 +1 @@
1
- {"version":3,"file":"smartsearch.js","sourceRoot":"","sources":["../src/smartsearch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smartsearch.js","sourceRoot":"","sources":["../src/smartsearch.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "smart-web-mcp",
3
3
  "mcpName": "io.github.rich-jojo/smart-web",
4
- "version": "0.4.2",
4
+ "version": "0.4.4",
5
5
  "packageManager": "npm@10.8.2",
6
6
  "description": "Portable MCP server that provides smart web search and browser-aware fetch tools.",
7
7
  "homepage": "https://github.com/rich-jojo/smart-web",
@@ -31,7 +31,7 @@
31
31
  "scripts": {
32
32
  "build": "tsc -p tsconfig.json",
33
33
  "dev": "tsx src/index.ts",
34
- "test": "node --import tsx --test src/shared.test.ts src/render.test.ts src/providers.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts",
34
+ "test": "node --import tsx --test src/shared.test.ts src/assets.test.ts src/render.test.ts src/providers.test.ts src/provider-policy.test.ts src/archive-fallback.test.ts src/mcp.test.ts",
35
35
  "check:meta": "node scripts/check-metadata.mjs",
36
36
  "check": "npm run build && npm run check:meta && npm run test",
37
37
  "prepare": "npm run build"