smart-web-mcp 0.29.0 → 0.30.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 CHANGED
@@ -8,6 +8,7 @@ The format is based on Keep a Changelog[^1] and this project uses SemVer.
8
8
 
9
9
  ### Added
10
10
 
11
+ - Removed hosted API-key provider lanes (Firecrawl, Exa, Tavily, Browserless) from the smart-web runtime/benchmark surface so the default product remains no-secret/local-first.
11
12
  - `smartfetch` now accepts an MCP `output_budget` preset (`compact`, `balanced`, or `full`) and `fetch.outputBudget.preset` settings, so token-sensitive hosts can request smaller structured payloads without hand-tuning every numeric cap.
12
13
  - Added MCP host-profile guidance for Hermes/Raon, Codex, OpenCode, and Claude Code, including budget-control precedence and compact/balanced/full follow-up retrieval guidance.
13
14
  - Added deterministic MCP smoke coverage proving large `smartfetch` structured payloads stay out of `content[0].text` unless `format: "json"` is explicitly requested.
@@ -42,13 +43,10 @@ The format is based on Keep a Changelog[^1] and this project uses SemVer.
42
43
  - Added an explicit `--allow-naver-map-live-smoke` provider benchmark gate and `benchmark:providers:live:naver-map` alias for public Naver Map browser-lane live evidence.
43
44
  - Added an explicit `--allow-naver-cafe-live-smoke` provider benchmark gate and `benchmark:providers:live:naver-cafe` alias for public Naver Cafe partial-honesty live evidence.
44
45
  - Added `--allow-all-no-secret-live-smokes` and `benchmark:providers:live:no-secret` so maintenance jobs can archive one all-no-secret live calibration artifact without enabling credentialed search lanes.
45
- - Added an explicit `--allow-external-search-live-smoke` provider benchmark gate and `benchmark:providers:live:external-search` alias for credentialed Exa/Tavily search live-smoke policy calibration.
46
- - Added a Tavily `smartsearch` runtime provider behind `search.tavilyApiKey` / `search.enableTavily`, plus credentialed external-search live-smoke support when `TAVILY_API_KEY` or `SMART_WEB_TAVILY_API_KEY` is explicitly configured.
47
46
  - Added `--json-file <path>` and an npm alias for provider benchmark JSON artifacts without stdout capture.
48
47
  - Added `--gap-file <path>` and `benchmark:providers:gaps` for compact provider evidence gap JSON artifacts.
49
48
  - Added `benchmark:providers:live:no-secret:gaps` for refreshing the compact all-no-secret live provider evidence gap artifact without archiving the full Markdown/JSON report.
50
49
  - Added a provider benchmark report archive index in `reports/README.md` that points maintenance jobs at the current no-secret artifacts and labels older cumulative reports as historical calibration snapshots.
51
- - Added deterministic Exa/Tavily-style `search_external` provider benchmark fixtures so credentialed search lanes can be measured without paid/live requests before any external-search live-smoke work.
52
50
  - Added fixture skipped-case lane/reason metadata to provider benchmark live-vs-fixture and evidence-gap artifacts so credential-gated fixtures are not misread as absent fixtures.
53
51
  - Added `scripts/partial-handoff-watchdog.mjs` and `npm run watchdog:partial-handoff` to run a no-secret drift watchdog over representative partial/blocked/handoff outputs and fail on chrome URL, script, or style-shell leakage.
54
52
  - Added `--report-file <path>` to the partial/handoff watchdog so durable runners can persist the full JSON report while keeping stdout human-readable.
@@ -61,6 +59,7 @@ The format is based on Keep a Changelog[^1] and this project uses SemVer.
61
59
  - Added Instagram unavailable/login output to the partial/handoff watchdog representative set.
62
60
  - Added X/Twitter and Reddit unavailable/authwall outputs to the partial/handoff watchdog representative set.
63
61
  - Added no-secret X/Twitter profile/timeline syndication handling with explicit blocked/rate-limited guidance when the public endpoint is unavailable.
62
+ - Added deterministic and gated live provider benchmark coverage for public X/Twitter post retrieval, including `--allow-x-twitter-live-smoke` and `benchmark:providers:live:x-twitter`.
64
63
  - Added DCInside unavailable/deleted post output to the partial/handoff watchdog representative set.
65
64
  - Added Telegram missing/private post output to the partial/handoff watchdog representative set.
66
65
  - Added an explicit `smartcrawl-export.v1` schema version to smartcrawl export manifests and summaries.
@@ -68,10 +67,11 @@ The format is based on Keep a Changelog[^1] and this project uses SemVer.
68
67
  - Added resolved crawl options to smartcrawl export manifests for reproducible docs exports.
69
68
  - Added versioned `smartcrawl-resource-handles.json` files to smartcrawl docs exports so hosts can consume local Markdown file handles without parsing the full crawl manifest.
70
69
  - Added ordered `recommended_resources` to `smartcrawl-resource-handles.json`, pointing hosts at the summary, resource-handle manifest, and first Markdown document without requiring role-order heuristics.
71
- - Expanded provider benchmark corpus coverage across static articles, JS-rendered pages, authwalls, long docs/Wikipedia, Naver Blog/Cafe/Map, Hacker News, YouTube, BOJ/Codeforces, relay, search, and docs export surfaces.
70
+ - Expanded provider benchmark corpus coverage across static articles, JS-rendered pages, authwalls, long docs/Wikipedia, Naver Blog/Cafe/Map, Hacker News, YouTube, BOJ/Codeforces, relay and docs export surfaces.
72
71
 
73
72
  ### Changed
74
73
 
74
+ - `smartsearch` now preserves path-scoped `site:` queries for crawl handoff start URLs and routes `site:github.com/owner/repo ...` repo-doc searches plus `site:npmjs.com/package/name ...` exact package lookups through no-key native APIs.
75
75
  - Provider benchmark live-vs-fixture and evidence-gap artifacts now mark all-skipped fixture rows as `fixtureEvidence: "skipped"` with `fixture-skipped-*` comparison states, while still using `unlock-skipped-fixture-prerequisites` for credential-gated follow-up queues.
76
76
  - The partial/handoff watchdog now uses a non-existent Wikidocs article id for its unavailable-shell representative, avoiding false failures when public Wikidocs articles render as healthy content.
77
77
  - X/Twitter oEmbed fallback output now includes available author/date metadata and suppresses `ref_src` tracking links from compact post links.
@@ -141,6 +141,20 @@ The format is based on Keep a Changelog[^1] and this project uses SemVer.
141
141
  - Korean public API helpers now validate outbound URLs and redirects before fetching, blocking localhost, private, and reserved targets unless `network.allowPrivateHosts` is explicitly enabled.
142
142
  - CI now declares read-only default repository permissions, Dependabot auto-merge pins the reusable workflow without forwarding all caller secrets, and the workflow check enforces those guards.
143
143
 
144
+ ## [0.30.0](https://github.com/jojo-labs/smart-web/compare/v0.29.1...v0.30.0) (2026-06-22)
145
+
146
+
147
+ ### Features
148
+
149
+ * improve no-key smartsearch routing ([#366](https://github.com/jojo-labs/smart-web/issues/366)) ([ece7e03](https://github.com/jojo-labs/smart-web/commit/ece7e0365b56413faec44e8c00108682410a0e5d))
150
+
151
+ ## [0.29.1](https://github.com/jojo-labs/smart-web/compare/v0.29.0...v0.29.1) (2026-06-22)
152
+
153
+
154
+ ### Refactoring
155
+
156
+ * remove hosted provider lanes ([#362](https://github.com/jojo-labs/smart-web/issues/362)) ([b1871a9](https://github.com/jojo-labs/smart-web/commit/b1871a953305612cb2df63600d6341c099ac3131))
157
+
144
158
  ## [0.29.0](https://github.com/jojo-labs/smart-web/compare/v0.28.0...v0.29.0) (2026-06-21)
145
159
 
146
160
 
@@ -1218,7 +1232,7 @@ The format is based on Keep a Changelog[^1] and this project uses SemVer.
1218
1232
  ### Added
1219
1233
 
1220
1234
  - initial public release of `smart-web-mcp`
1221
- - `smartsearch` with Exa, Brave, SearXNG, and DuckDuckGo fallback chain
1235
+ - `smartsearch` with site-native, SearXNG, DuckDuckGo, and Brave HTML fallback chain
1222
1236
  - `smartfetch` with impit and Playwright escalation
1223
1237
  - Reddit, X, and DCInside target-specific handling
1224
1238
  - npm publication and MCP Registry publication
package/README.md CHANGED
@@ -33,7 +33,7 @@ If `smart-web` returns reproducible incorrect or misleading output, open a GitHu
33
33
  - paywalled article pages prefer lawful archive recovery and search-indexed reference previews before telling the host to escalate elsewhere
34
34
  - LinkedIn authwall handling prefers compliant public fallbacks such as archives and search-indexed reference metadata before giving up
35
35
  - legal paper fallback for academic URLs: DOI-aware OpenAlex, Unpaywall, Semantic Scholar, CORE discovery, and Europe PMC enrichment plus bioRxiv/medRxiv API fallback when a direct paper page is thin or blocked
36
- - site-native public search fallbacks cover Reddit, GitHub repository discovery, npm, Hacker News, Stack Exchange, and Velog when a matching `site:` query is available
36
+ - site-native public search fallbacks cover Reddit, GitHub repository discovery/repo-docs queries, npm search/exact packages, Hacker News, Stack Exchange, and Velog when a matching `site:` query is available
37
37
  - YouTube watch, shorts, embed, live, and youtu.be video URLs get best-effort public caption enrichment by default while non-video YouTube pages stay on the generic fetch path
38
38
  - structured output with `assessment` and `pipeline` fields for host-side decision making
39
39
  - local-first defaults with privacy-aware search/fetch behavior
@@ -85,7 +85,7 @@ When compact output omits needed content, make a follow-up `smartfetch` call for
85
85
  ## Supported high-signal surfaces
86
86
 
87
87
  - communities: Reddit, DCInside, LinkedIn public posts with public fallback recovery, Algumon
88
- - search-native surfaces: Reddit, GitHub repository discovery, npm, Hacker News, Stack Exchange, Velog
88
+ - search-native surfaces: Reddit, GitHub repository discovery and repo-docs path scopes, npm search and exact package path scopes, Hacker News, Stack Exchange, Velog
89
89
  - competitive-programming surfaces: solved.ac problem/search/profile routes, BOJ problem/workbook/user pages, Codeforces problem/profile pages, AtCoder task/contest pages, QOJ problem pages, Jungol problem pages
90
90
  - local map place pages: Naver Map, Kakao Map, and redirected `naver.me` place-share links
91
91
  - reference/article pages: NamuWiki, Wikipedia, Naver Blog, Tistory, Velog
@@ -236,10 +236,6 @@ npx -y smart-web-mcp --init-settings
236
236
  },
237
237
 
238
238
  "search": {
239
- // API keys — leave empty to skip that provider
240
- "exaApiKey": "",
241
- "tavilyApiKey": "",
242
- "braveSearchApiKey": "",
243
239
  // Self-hosted SearXNG instance URL
244
240
  "searxngBaseUrl": "",
245
241
  "enableSearxng": true
@@ -336,44 +332,7 @@ Out of the box `smart-web` works with sensible defaults. Create a settings file
336
332
  }
337
333
  ```
338
334
 
339
- In `private` mode, relay-style provider requests are blocked, Exa, Tavily, and Brave default off unless you explicitly re-enable them, public no-key search fallbacks are disabled, and SearXNG bases must resolve to localhost or private addresses.
340
-
341
- #### Private with Exa allowed back in
342
-
343
- ```json
344
- {
345
- "profile": "private",
346
- "search": {
347
- "exaApiKey": "...",
348
- "enableExa": true
349
- }
350
- }
351
- ```
352
-
353
- #### Private with Tavily allowed back in
354
-
355
- ```json
356
- {
357
- "profile": "private",
358
- "search": {
359
- "tavilyApiKey": "...",
360
- "enableTavily": true
361
- }
362
- }
363
- ```
364
-
365
- #### With Exa, Tavily, and Brave API keys
366
-
367
- ```json
368
- {
369
- "profile": "balanced",
370
- "search": {
371
- "exaApiKey": "exa-...",
372
- "tavilyApiKey": "tvly-...",
373
- "braveSearchApiKey": "BSA-..."
374
- }
375
- }
376
- ```
335
+ In `private` mode, relay-style provider requests are blocked, public no-key search fallbacks are disabled, and SearXNG bases must resolve to localhost or private addresses. Hosted API-key search providers such as Exa, Tavily, and Brave Search are intentionally not part of the default smartsearch runtime; use local/site-native search, DuckDuckGo/Brave HTML fallbacks, or self-hosted SearXNG instead.
377
336
 
378
337
  #### Disable Playwright auto-install
379
338
 
@@ -469,9 +428,6 @@ These keys live inside `settings.json` when you need to force one provider on or
469
428
 
470
429
  **Search**
471
430
 
472
- - `search.enableExa`
473
- - `search.enableTavily`
474
- - `search.enableBrave`
475
431
  - `search.enableSearxng`
476
432
  - `search.enableDuckDuckGo`
477
433
  - `search.enableBraveHtml`
@@ -534,26 +490,24 @@ npm run benchmark:providers:live:blocked
534
490
  npm run benchmark:providers:live:naver-blog
535
491
  npm run benchmark:providers:live:naver-map
536
492
  npm run benchmark:providers:live:naver-cafe
493
+ npm run benchmark:providers:live:x-twitter
537
494
  npm run benchmark:providers:live:no-secret
538
495
  npm run benchmark:providers:live:no-secret:gaps
539
- npm run benchmark:providers:live:external-search
540
496
  npm run benchmark:providers:trend
541
497
  npm run watchdog:partial-handoff
542
498
  ```
543
499
 
544
- The default report is availability-only and safe for CI. `--run-measurements` (`npm run benchmark:providers:measure`) adds deterministic fixture records for available local/core, optional no-key lanes, and credentialed external search lanes when their prerequisite keys are configured: success, useful character counts, projected/text character counts, useful-to-projected and useful-to-text yield ratios, latency, extractor/provider id, confidence, partial status, error class, lane label/family/category metadata, provider-family/category lane-status rollups, surface coverage, and recommendation sections grouped by lane, case, and surface.
500
+ The default report is availability-only and safe for CI. `--run-measurements` (`npm run benchmark:providers:measure`) adds deterministic fixture records for available local/core and optional no-key lanes: success, useful character counts, projected/text character counts, useful-to-projected and useful-to-text yield ratios, latency, extractor/provider id, confidence, partial status, error class, lane label/family/category metadata, provider-family/category lane-status rollups, surface coverage, and recommendation sections grouped by lane, case, and surface.
545
501
 
546
502
  Reports carry the `provider-benchmark.v1` schema version plus non-fatal git and runtime metadata so archived JSON, Markdown, and NDJSON trend artifacts are parseable, traceable, and comparable as the harness evolves. Markdown, text, JSON, and NDJSON outputs include aggregate fixture yield averages, compact yield rollups by provider family/category/lane, and a best-current-evidence surface table that ranks measured/skipped candidates so review jobs can compare token efficiency and build-vs-wrap posture between core, browser, relay, and specialist paths without reprocessing the full measurement table.
547
503
 
548
- Measurement artifacts also include a live-readiness manifest listing each lane's env/command/settings prerequisites, a deterministic fixture smoke, a safe MCP live-smoke candidate, and surfaces that still lack live evidence. `--run-live-smokes` (`npm run benchmark:providers:live`) is an explicit gated mode that runs only no-secret, core-surface live checks for static articles, long docs/Wikipedia, Hacker News, and docs export; credential/external lanes remain skipped until their prerequisites are configured, except for explicitly allowlisted no-secret exceptions: `--allow-jina-live-smoke` (`npm run benchmark:providers:live:jina`) exercises the public Jina Reader relay with a secret-stripped settings file, `--allow-competitive-programming-live-smoke` (`npm run benchmark:providers:live:cp`) adds a public BOJ/Codeforces representative smoke for the competitive-programming specialist surface, `--allow-browser-live-smoke` (`npm run benchmark:providers:live:browser`) runs a Playwright `--force-dynamic` smoke for the JS-rendered article surface only when the local browser lane is available, `--allow-youtube-live-smoke` (`npm run benchmark:providers:live:youtube`) adds the public YouTube seed-lane representative smoke, `--allow-blocked-authwall-live-smoke` (`npm run benchmark:providers:live:blocked`) adds a deterministic HTTP Basic Auth challenge smoke that treats honest blocked/error/handoff signals as positive calibration without private credentials, `--allow-naver-blog-live-smoke` (`npm run benchmark:providers:live:naver-blog`) adds a stable public Naver Blog representative smoke for Korean specialist-lane calibration, `--allow-naver-map-live-smoke` (`npm run benchmark:providers:live:naver-map`) adds a stable public Naver Map place smoke with browser-preflight diagnostics, and `--allow-naver-cafe-live-smoke` (`npm run benchmark:providers:live:naver-cafe`) adds a stable public Naver Cafe shared-link smoke that treats useful no-credential partial output as honest calibration. `--allow-all-no-secret-live-smokes` (`npm run benchmark:providers:live:no-secret`) enables every no-secret gate in one run while still leaving credentialed Exa/Tavily search lanes disabled unless `--allow-external-search-live-smoke` is provided separately.
549
-
550
- Live smoke artifacts record per-case `present`/`missing`/`skipped` evidence next to fixture evidence without printing secret values. When fixture rows exist but all are skipped by missing credentials or commands, comparison and gap artifacts report fixture evidence as `skipped` with a `fixture-skipped-*` comparison instead of implying the fixture rows are absent. Browser-lane live smoke rows also include a secret-safe Playwright preflight diagnostic with executable path, launch timing, `domcontentloaded` navigation timing, HTTP status/final URL, and truncated failure reason so runtime/cache/network failures can be separated from smartfetch normalization failures.
504
+ Measurement artifacts also include a live-readiness manifest listing each lane's env/command/settings prerequisites, a deterministic fixture smoke, a safe MCP live-smoke candidate, and surfaces that still lack live evidence. `--run-live-smokes` (`npm run benchmark:providers:live`) is an explicit gated mode that runs only no-secret, core-surface live checks for static articles, long docs/Wikipedia, Hacker News, and docs export; optional no-secret lanes remain gated until explicitly allowlisted: `--allow-jina-live-smoke` (`npm run benchmark:providers:live:jina`) exercises the public Jina Reader relay with a secret-stripped settings file, `--allow-competitive-programming-live-smoke` (`npm run benchmark:providers:live:cp`) adds a public BOJ/Codeforces representative smoke for the competitive-programming specialist surface, `--allow-browser-live-smoke` (`npm run benchmark:providers:live:browser`) runs a Playwright `--force-dynamic` smoke for the JS-rendered article surface only when the local browser lane is available, `--allow-youtube-live-smoke` (`npm run benchmark:providers:live:youtube`) adds the public YouTube seed-lane representative smoke, `--allow-blocked-authwall-live-smoke` (`npm run benchmark:providers:live:blocked`) adds a deterministic HTTP Basic Auth challenge smoke that treats honest blocked/error/handoff signals as positive calibration without private credentials, `--allow-naver-blog-live-smoke` (`npm run benchmark:providers:live:naver-blog`) adds a stable public Naver Blog representative smoke for Korean specialist-lane calibration, `--allow-naver-map-live-smoke` (`npm run benchmark:providers:live:naver-map`) adds a stable public Naver Map place smoke with browser-preflight diagnostics, `--allow-naver-cafe-live-smoke` (`npm run benchmark:providers:live:naver-cafe`) adds a stable public Naver Cafe shared-link smoke that treats useful no-credential partial output as honest calibration, and `--allow-x-twitter-live-smoke` (`npm run benchmark:providers:live:x-twitter`) adds a public X/Twitter post smoke that keeps no-secret social-provider drift visible without private cookies. `--allow-all-no-secret-live-smokes` (`npm run benchmark:providers:live:no-secret`) enables every no-secret gate in one run; hosted API-key search lanes are excluded from the benchmark surface by product policy.
551
505
 
552
- Credentialed external-search live smoke remains a separate explicit gate: `--allow-external-search-live-smoke` (`npm run benchmark:providers:live:external-search`) attempts each implemented Exa/Tavily `smartsearch` lane only when that lane's key is configured (`EXA_API_KEY` for Exa; `TAVILY_API_KEY` or `SMART_WEB_TAVILY_API_KEY` for Tavily), writes keys only into a temporary mode-0600 settings file, strips API-key environment variables from the child process, and records only secret-free status/output metadata.
506
+ Live smoke artifacts record per-case `present`/`missing`/`skipped` evidence next to fixture evidence without printing secret values. When fixture rows exist but all are skipped by missing local commands, comparison and gap artifacts report fixture evidence as `skipped` with a `fixture-skipped-*` comparison instead of implying the fixture rows are absent. Browser-lane live smoke rows also include a secret-safe Playwright preflight diagnostic with executable path, launch timing, `domcontentloaded` navigation timing, HTTP status/final URL, and truncated failure reason so runtime/cache/network failures can be separated from smartfetch normalization failures.
553
507
 
554
- The same JSON, text, Markdown, and NDJSON outputs include a compact live-vs-fixture comparison rollup so replacement reviews can distinguish calibrated surfaces from fixture-only, skipped-live, live-disagreeing, and fixture-skipped-by-prerequisite surfaces. Secret-safe provider diagnostics list prerequisite names with satisfied/missing status and never print env values. Use `npm run benchmark:providers:json-file` or add `--json-file <path>` to write the full JSON artifact without relying on stdout capture. Use `npm run benchmark:providers:report` or add `--report-file <path>` with measurement mode to write a Markdown review artifact containing lane availability, diagnostics, surface/corpus coverage, measurement highlights, yield comparisons, per-surface evidence, live readiness, live-smoke diagnostics, and build-vs-wrap recommendations without changing stdout or JSON behavior. Use `npm run benchmark:providers:gaps` or add `--gap-file <path>` with measurement mode to write a compact `provider-benchmark-gaps.v1` JSON artifact containing only the ranked provider evidence gap queue, summary counts, git/runtime metadata, and safe smoke candidates. Use `npm run benchmark:providers:trend` or add `--trend-file <path>` with measurement mode to append compact NDJSON trend records with aggregate lane, prerequisite, measurement, recommendation, surface-evidence, and fixture-yield counts. Unknown `--flag` options fail fast so typoed benchmark jobs do not produce misleading artifacts. The corpus covers static articles, JS-rendered articles, blocked/authwall-like pages, long docs/Wikipedia pages, Naver Blog/Cafe/Map, Hacker News, YouTube, BOJ/Codeforces, relay, search, and docs export surfaces. External lanes without credentials or commands remain explicit skips instead of silently failing, while Exa/Tavily-style search lanes now have deterministic fixture rows ready for secret-safe measurement once keys are configured.
508
+ The same JSON, text, Markdown, and NDJSON outputs include a compact live-vs-fixture comparison rollup so replacement reviews can distinguish calibrated surfaces from fixture-only, skipped-live, live-disagreeing, and fixture-skipped-by-prerequisite surfaces. Secret-safe provider diagnostics list prerequisite names with satisfied/missing status and never print env values. Use `npm run benchmark:providers:json-file` or add `--json-file <path>` to write the full JSON artifact without relying on stdout capture. Use `npm run benchmark:providers:report` or add `--report-file <path>` with measurement mode to write a Markdown review artifact containing lane availability, diagnostics, surface/corpus coverage, measurement highlights, yield comparisons, per-surface evidence, live readiness, live-smoke diagnostics, and build-vs-wrap recommendations without changing stdout or JSON behavior. Use `npm run benchmark:providers:gaps` or add `--gap-file <path>` with measurement mode to write a compact `provider-benchmark-gaps.v1` JSON artifact containing only the ranked provider evidence gap queue, summary counts, git/runtime metadata, and safe smoke candidates. Use `npm run benchmark:providers:trend` or add `--trend-file <path>` with measurement mode to append compact NDJSON trend records with aggregate lane, prerequisite, measurement, recommendation, surface-evidence, and fixture-yield counts. Unknown `--flag` options fail fast so typoed benchmark jobs do not produce misleading artifacts. The corpus covers static articles, JS-rendered articles, blocked/authwall-like pages, long docs/Wikipedia pages, Naver Blog/Cafe/Map, Hacker News, YouTube, X/Twitter, BOJ/Codeforces, relay, and docs export surfaces. Optional local/no-secret lanes without commands remain explicit skips instead of silently failing; API-key provider candidates are excluded from the default corpus and reports by product policy.
555
509
 
556
- Provider benchmark reports also include `providerEvidenceGaps`: a ranked next-action queue built from the live-vs-fixture rollup. Each gap records the surface, priority score, selected and candidate lanes, follow-up action, unlock prerequisites, fixture/live useful chars, fixture skipped-case lanes/reasons, live-smoke failure error classes/reasons, and safe live smoke candidate so replacement reviews can pick the next provider experiment without scanning every measurement row or re-running a timed live calibration. Use `npm run benchmark:providers:live:no-secret:gaps` to refresh only the compact all-no-secret gap artifact at `reports/provider-benchmark-live-no-secret-gaps.json`. When fixture rows exist but were skipped by missing credentials or commands, the live-vs-fixture and gap actions are `unlock-skipped-fixture-prerequisites` rather than fixture-creation actions.
510
+ Provider benchmark reports also include `providerEvidenceGaps`: a ranked next-action queue built from the live-vs-fixture rollup. Each gap records the surface, priority score, selected and candidate lanes, follow-up action, unlock prerequisites, fixture/live useful chars, fixture skipped-case lanes/reasons, live-smoke failure error classes/reasons, and safe live smoke candidate so replacement reviews can pick the next provider experiment without scanning every measurement row or re-running a timed live calibration. Use `npm run benchmark:providers:live:no-secret:gaps` to refresh only the compact all-no-secret gap artifact at `reports/provider-benchmark-live-no-secret-gaps.json`. When fixture rows exist but were skipped by missing local commands, the live-vs-fixture and gap actions are `unlock-skipped-fixture-prerequisites` rather than fixture-creation actions.
557
511
 
558
512
  See `reports/README.md` for the curated report archive index. It identifies `provider-benchmark-live-no-secret.{json,md}` and `provider-benchmark-live-no-secret-gaps.json` as the current maintenance artifacts, and labels older cumulative live-smoke reports as historical calibration snapshots.
559
513
 
@@ -5,13 +5,7 @@ export type SmartWebSettings = {
5
5
  tempDir?: string;
6
6
  };
7
7
  search?: {
8
- exaApiKey?: string;
9
- tavilyApiKey?: string;
10
- braveSearchApiKey?: string;
11
8
  searxngBaseUrl?: string;
12
- enableExa?: boolean;
13
- enableTavily?: boolean;
14
- enableBrave?: boolean;
15
9
  enableSearxng?: boolean;
16
10
  enableDuckDuckGo?: boolean;
17
11
  enableBraveHtml?: boolean;
package/dist/settings.js CHANGED
@@ -76,9 +76,6 @@ export function settingsTemplate() {
76
76
  tempDir: "",
77
77
  },
78
78
  search: {
79
- exaApiKey: "",
80
- tavilyApiKey: "",
81
- braveSearchApiKey: "",
82
79
  searxngBaseUrl: "",
83
80
  enableSearxng: true,
84
81
  },
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,6 @@ import { atcoderProvider } from "./atcoder.js";
6
6
  import { commerceProvider } from "./commerce.js";
7
7
  import { codeforcesProvider } from "./codeforces.js";
8
8
  import { dcinsideProvider } from "./dcinside.js";
9
- import { firecrawlProvider } from "./firecrawl.js";
10
9
  import { genericProvider } from "./generic.js";
11
10
  import { hackernewsProvider } from "./hackernews.js";
12
11
  import { instagramProvider } from "./instagram.js";
@@ -30,7 +29,7 @@ import { wikipediaProvider } from "./wikipedia.js";
30
29
  import { wikidocsProvider } from "./wikidocs.js";
31
30
  import { xProvider } from "./x.js";
32
31
  import { youtubeProvider } from "./youtube.js";
33
- const providers = [hackernewsProvider, redditProvider, xProvider, threadsProvider, instagramProvider, telegramProvider, dcinsideProvider, youtubeProvider, naverMapProvider, naverMapSearchProvider, kakaoMapProvider, naverBlogProvider, naverCafeProvider, tistoryProvider, velogProvider, linkedinProvider, algumonProvider, namuwikiProvider, wikipediaProvider, wikidocsProvider, solvedacProvider, acmicpcProvider, codeforcesProvider, atcoderProvider, qojProvider, jungolProvider, arxivProvider, archiveProvider, sciencedirectProvider, commerceProvider, firecrawlProvider, genericProvider];
32
+ const providers = [hackernewsProvider, redditProvider, xProvider, threadsProvider, instagramProvider, telegramProvider, dcinsideProvider, youtubeProvider, naverMapProvider, naverMapSearchProvider, kakaoMapProvider, naverBlogProvider, naverCafeProvider, tistoryProvider, velogProvider, linkedinProvider, algumonProvider, namuwikiProvider, wikipediaProvider, wikidocsProvider, solvedacProvider, acmicpcProvider, codeforcesProvider, atcoderProvider, qojProvider, jungolProvider, arxivProvider, archiveProvider, sciencedirectProvider, commerceProvider, genericProvider];
34
33
  const providerDefaults = {
35
34
  hackernews: { targetFamily: "hackernews_post", priority: 90, capabilities: ["community_post", "supports_assets"], policy: { crossOriginMode: "allow" } },
36
35
  reddit: { targetFamily: "reddit_post", priority: 90, capabilities: ["community_post", "supports_assets", "canonical_url"], policy: { crossOriginMode: "allow", preserveCanonicalUrl: true } },
@@ -62,7 +61,6 @@ const providerDefaults = {
62
61
  archive: { targetFamily: "generic", priority: 84, capabilities: ["article_extract", "canonical_url"], policy: { preserveCanonicalUrl: true, allowJinaReader: true, allowArchiveFallback: true } },
63
62
  sciencedirect: { targetFamily: "generic", priority: 84, capabilities: ["article_extract", "supports_assets", "canonical_url"], policy: { preserveCanonicalUrl: true } },
64
63
  commerce: { targetFamily: "generic", priority: 80, capabilities: ["commerce_catalog", "requires_browser", "interactive_surface", "supports_assets"], policy: { crossOriginMode: "same_origin" } },
65
- firecrawl: { targetFamily: "generic", priority: 15, capabilities: ["article_extract", "supports_assets"], policy: { crossOriginMode: "allow" } },
66
64
  generic: { targetFamily: "generic", priority: 10, capabilities: ["article_extract", "supports_assets"], policy: { allowJinaReader: true, allowArchiveFallback: true } },
67
65
  };
68
66
  function withProviderDefaults(provider) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/index.ts"],"names":[],"mappings":"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"}
@@ -17,17 +17,6 @@ function siteNativeFallbackBlockedReason(label) {
17
17
  return `${label} site fallback disabled by private profile`;
18
18
  return "";
19
19
  }
20
- function exaEnabled() {
21
- return configEnabled("search.enableExa", true, { private: false });
22
- }
23
- function tavilyEnabled() {
24
- if (localOnlyMode() && configText("search.enableTavily") === "")
25
- return false;
26
- return configEnabled("search.enableTavily", true, { private: false });
27
- }
28
- function braveEnabled() {
29
- return configEnabled("search.enableBrave", true, { private: false });
30
- }
31
20
  function searxngEnabled() {
32
21
  return configEnabled("search.enableSearxng", true);
33
22
  }
@@ -37,18 +26,28 @@ function duckduckgoEnabled() {
37
26
  function normalizeHost(input) {
38
27
  return input.toLowerCase().replace(/^www\./, "");
39
28
  }
40
- function extractSiteOperator(query) {
29
+ function extractSiteScope(query) {
41
30
  const match = query.match(/(?:^|\s)site:([^\s]+)/i);
42
- return match?.[1] ? normalizeHost(match[1]) : "";
31
+ if (!match?.[1])
32
+ return null;
33
+ const raw = match[1].replace(/^https?:\/\//i, "").replace(/\/+$/, "");
34
+ const [hostPart = "", ...pathParts] = raw.split("/");
35
+ const host = normalizeHost(hostPart);
36
+ if (!host)
37
+ return null;
38
+ const path = pathParts.join("/").replace(/^\/+|\/+$/g, "");
39
+ return { host, path };
40
+ }
41
+ function extractSiteOperator(query) {
42
+ return extractSiteScope(query)?.host || "";
43
43
  }
44
44
  function stripSiteOperators(query) {
45
45
  return query.replace(/(?:^|\s)site:[^\s]+/gi, " ").replace(/\s+/g, " ").trim();
46
46
  }
47
- function hostToRootUrl(host) {
48
- if (!host)
47
+ function siteScopeToStartUrl(scope) {
48
+ if (!scope?.host)
49
49
  return "";
50
- const normalized = host.replace(/^https?:\/\//i, "").replace(/\/.*$/, "");
51
- return normalized ? `https://${normalized}/` : "";
50
+ return scope.path ? `https://${scope.host}/${scope.path}` : `https://${scope.host}/`;
52
51
  }
53
52
  function inferCrawlMode(startUrl, requestedMode) {
54
53
  if (requestedMode)
@@ -83,6 +82,51 @@ function looksLikeGitHubRepoDiscovery(query) {
83
82
  const nonRepoIntent = /^(issue|issues|pull|pulls|pr|blob|raw|wiki|commit|commits|code|tree|file|files|docs?|release|releases|discussion|discussions|workflow|workflows|action|actions)$/;
84
83
  return !tokens.some((token) => nonRepoIntent.test(token));
85
84
  }
85
+ function parseGitHubRepoScope(query) {
86
+ const scope = extractSiteScope(query);
87
+ if (scope?.host !== "github.com")
88
+ return null;
89
+ const parts = scope.path.split("/").filter(Boolean);
90
+ if (parts.length < 2)
91
+ return null;
92
+ const owner = parts[0];
93
+ const repo = parts[1];
94
+ if (!owner || !repo)
95
+ return null;
96
+ return {
97
+ owner,
98
+ repo,
99
+ scopePath: parts.slice(2).join("/"),
100
+ };
101
+ }
102
+ function parseNpmPackageScope(query) {
103
+ const scope = extractSiteScope(query);
104
+ if (scope?.host !== "npmjs.com")
105
+ return "";
106
+ const parts = scope.path.split("/").filter(Boolean);
107
+ if (parts[0] !== "package" || parts.length < 2)
108
+ return "";
109
+ if (parts[1]?.startsWith("@") && parts[2])
110
+ return `${parts[1]}/${parts[2]}`;
111
+ return parts[1] || "";
112
+ }
113
+ function searchTokens(query) {
114
+ return stripSiteOperators(query)
115
+ .toLowerCase()
116
+ .split(/[^a-z0-9가-힣@._-]+/iu)
117
+ .map((item) => item.trim())
118
+ .filter(Boolean);
119
+ }
120
+ function docsLikeGitHubPath(path) {
121
+ const lower = path.toLowerCase();
122
+ return /^docs\//.test(lower)
123
+ || /\/docs\//.test(lower)
124
+ || /(?:^|\/)(?:readme|contributing|changelog|license|security)(?:\.[^.\/]+)?$/i.test(path)
125
+ || /\.(?:md|mdx|rst|adoc|txt)$/i.test(path);
126
+ }
127
+ function encodeGitHubBlobPath(path) {
128
+ return path.split("/").map((part) => encodeURIComponent(part)).join("/");
129
+ }
86
130
  function buildSearchResponse(response, handoff) {
87
131
  const assessment = assessSearchResponse(response, handoff);
88
132
  return handoff ? { ...response, handoff, assessment } : { ...response, assessment };
@@ -119,8 +163,8 @@ function assessSearchResponse(response, handoff) {
119
163
  async function maybeRunCrawlHandoff(response, options, runtime) {
120
164
  if (!options.siteCrawl)
121
165
  return buildSearchResponse(response);
122
- const siteOperator = extractSiteOperator(options.query);
123
- const startUrl = String(options.crawlUrl || hostToRootUrl(siteOperator)).trim();
166
+ const siteScope = extractSiteScope(options.query);
167
+ const startUrl = String(options.crawlUrl || siteScopeToStartUrl(siteScope)).trim();
124
168
  if (!startUrl) {
125
169
  const handoff = {
126
170
  tool: "smartcrawl",
@@ -344,6 +388,109 @@ async function searchGitHub(query, numResults, timeoutMs) {
344
388
  return { ok: false, note: `GitHub parse error: ${message}` };
345
389
  }
346
390
  }
391
+ async function searchGitHubRepoDocs(query, numResults, timeoutMs) {
392
+ const repoScope = parseGitHubRepoScope(query);
393
+ if (!repoScope)
394
+ return { ok: false, note: "GitHub repository docs fallback skipped without owner/repo site scope" };
395
+ const repoResult = await fetchText(`https://api.github.com/repos/${encodeURIComponent(repoScope.owner)}/${encodeURIComponent(repoScope.repo)}`, timeoutMs, {
396
+ headers: {
397
+ accept: "application/vnd.github+json",
398
+ "user-agent": DEFAULT_USER_AGENT,
399
+ },
400
+ });
401
+ if (!repoResult.ok)
402
+ return { ok: false, note: repoResult.error || `GitHub repository metadata error ${repoResult.status}` };
403
+ let defaultBranch = "main";
404
+ try {
405
+ const repoData = repoResult.text ? JSON.parse(repoResult.text) : {};
406
+ defaultBranch = String(repoData.default_branch || defaultBranch).trim() || defaultBranch;
407
+ }
408
+ catch {
409
+ defaultBranch = "main";
410
+ }
411
+ const result = await fetchText(`https://api.github.com/repos/${encodeURIComponent(repoScope.owner)}/${encodeURIComponent(repoScope.repo)}/git/trees/${encodeURIComponent(defaultBranch)}?recursive=1`, timeoutMs, {
412
+ headers: {
413
+ accept: "application/vnd.github+json",
414
+ "user-agent": DEFAULT_USER_AGENT,
415
+ },
416
+ });
417
+ if (!result.ok)
418
+ return { ok: false, note: result.error || `GitHub repository docs error ${result.status}` };
419
+ try {
420
+ const data = result.text ? JSON.parse(result.text) : {};
421
+ const raw = Array.isArray(data?.tree) ? data.tree : [];
422
+ const tokens = searchTokens(query);
423
+ const genericDocsTokens = new Set(["doc", "docs", "documentation", "guide", "manual"]);
424
+ const rankingTokens = tokens.filter((token) => !genericDocsTokens.has(token));
425
+ const terms = rankingTokens.length > 0 ? rankingTokens : tokens;
426
+ const scopePath = repoScope.scopePath.toLowerCase();
427
+ const ranked = raw
428
+ .map((item) => {
429
+ const entry = item;
430
+ const path = String(entry.path || "").trim();
431
+ if (entry.type !== "blob" || !path || !docsLikeGitHubPath(path))
432
+ return null;
433
+ const lower = path.toLowerCase();
434
+ let score = 0;
435
+ for (const term of terms) {
436
+ if (lower.includes(term))
437
+ score += 3;
438
+ }
439
+ if (scopePath && lower.startsWith(scopePath))
440
+ score += 4;
441
+ if (lower.startsWith("docs/") || lower.includes("/docs/"))
442
+ score += 2;
443
+ if (/(?:^|\/)readme\./i.test(path))
444
+ score += 1;
445
+ return score > 0 ? { path, score } : null;
446
+ })
447
+ .filter((item) => Boolean(item))
448
+ .sort((a, b) => b.score - a.score || a.path.localeCompare(b.path));
449
+ const results = uniqueResults(ranked.map((item) => ({
450
+ title: `${repoScope.owner}/${repoScope.repo}/${item.path}`,
451
+ url: `https://github.com/${repoScope.owner}/${repoScope.repo}/blob/${encodeURIComponent(defaultBranch)}/${encodeGitHubBlobPath(item.path)}`,
452
+ snippet: `GitHub repository document · path:${item.path}`,
453
+ engine: "github_repo_docs",
454
+ }))).slice(0, numResults);
455
+ return { ok: results.length > 0, results, note: results.length > 0 ? "" : "GitHub repository docs search returned no matching documents" };
456
+ }
457
+ catch (error) {
458
+ const message = error instanceof Error ? error.message : String(error);
459
+ return { ok: false, note: `GitHub repository docs parse error: ${message}` };
460
+ }
461
+ }
462
+ async function searchNpmPackage(packageName, timeoutMs) {
463
+ const result = await fetchText(`https://registry.npmjs.org/${encodeURIComponent(packageName)}`, timeoutMs, {
464
+ headers: {
465
+ accept: "application/json,text/plain,*/*",
466
+ "user-agent": DEFAULT_USER_AGENT,
467
+ },
468
+ });
469
+ if (!result.ok)
470
+ return { ok: false, note: result.error || `npm package error ${result.status}` };
471
+ try {
472
+ const data = result.text ? JSON.parse(result.text) : {};
473
+ const record = data;
474
+ const name = String(record.name || packageName).trim();
475
+ const latest = String(record["dist-tags"]?.latest || record.version || "").trim();
476
+ const maintainer = Array.isArray(record.maintainers) ? String(record.maintainers[0]?.name || "").trim() : "";
477
+ const results = uniqueResults([{
478
+ title: name,
479
+ url: `https://www.npmjs.com/package/${name}`,
480
+ snippet: [
481
+ String(record.description || "").trim(),
482
+ latest ? `v${latest}` : "",
483
+ maintainer ? `by ${maintainer}` : "",
484
+ ].filter(Boolean).join(" · "),
485
+ engine: "npm",
486
+ }]);
487
+ return { ok: results.length > 0, results, note: "" };
488
+ }
489
+ catch (error) {
490
+ const message = error instanceof Error ? error.message : String(error);
491
+ return { ok: false, note: `npm package parse error: ${message}` };
492
+ }
493
+ }
347
494
  async function searchNpm(query, numResults, timeoutMs) {
348
495
  const q = stripSiteOperators(query) || query;
349
496
  const result = await fetchText(`https://registry.npmjs.org/-/v1/search?text=${encodeURIComponent(q)}&size=${Math.min(numResults, 20)}`, timeoutMs, {
@@ -417,117 +564,6 @@ async function searchWikipedia(query, numResults, timeoutMs) {
417
564
  return { ok: false, note: `Wikipedia parse error: ${message}` };
418
565
  }
419
566
  }
420
- async function searchExa(query, numResults, searchType, contextMaxCharacters, timeoutMs) {
421
- const apiKey = configText("search.exaApiKey");
422
- if (!apiKey)
423
- return { ok: false, note: "search.exaApiKey not configured" };
424
- const result = await fetchText("https://api.exa.ai/search", timeoutMs, {
425
- method: "POST",
426
- headers: {
427
- "content-type": "application/json",
428
- "x-api-key": apiKey,
429
- },
430
- body: JSON.stringify({
431
- query,
432
- type: searchType === "deep" ? "auto" : searchType,
433
- numResults: Math.min(numResults, 10),
434
- contents: {
435
- highlights: {
436
- maxCharacters: Math.min(Math.max(contextMaxCharacters, 1000), 4000),
437
- },
438
- },
439
- }),
440
- });
441
- if (!result.ok)
442
- return { ok: false, note: result.error || `Exa error ${result.status}` };
443
- try {
444
- const data = result.text ? JSON.parse(result.text) : {};
445
- const raw = Array.isArray(data?.results) ? data.results : [];
446
- const results = uniqueResults(raw.map((item) => ({
447
- title: String(item?.title || item?.url || "").trim(),
448
- url: String(item?.url || "").trim(),
449
- snippet: String(item?.highlights?.join(" ") || item?.summary || item?.text || item?.publishedDate || "").trim(),
450
- engine: "exa",
451
- }))).slice(0, numResults);
452
- return { ok: results.length > 0, results, note: results.length > 0 ? "" : "Exa returned no results" };
453
- }
454
- catch (error) {
455
- const message = error instanceof Error ? error.message : String(error);
456
- return { ok: false, note: `Exa parse error: ${message}` };
457
- }
458
- }
459
- function tavilySearchDepth(searchType) {
460
- if (searchType === "deep")
461
- return "advanced";
462
- if (searchType === "fast")
463
- return "fast";
464
- return "basic";
465
- }
466
- async function searchTavily(query, numResults, searchType, timeoutMs) {
467
- const apiKey = configText("search.tavilyApiKey");
468
- if (!apiKey)
469
- return { ok: false, note: "search.tavilyApiKey not configured" };
470
- const result = await fetchText("https://api.tavily.com/search", timeoutMs, {
471
- method: "POST",
472
- headers: {
473
- "content-type": "application/json",
474
- authorization: `Bearer ${apiKey}`,
475
- },
476
- body: JSON.stringify({
477
- query,
478
- search_depth: tavilySearchDepth(searchType),
479
- max_results: Math.min(numResults, 20),
480
- include_answer: false,
481
- include_raw_content: false,
482
- }),
483
- });
484
- if (!result.ok)
485
- return { ok: false, note: result.error || `Tavily error ${result.status}` };
486
- try {
487
- const data = result.text ? JSON.parse(result.text) : {};
488
- const raw = Array.isArray(data?.results) ? data.results : [];
489
- const results = uniqueResults(raw.map((item) => ({
490
- title: String(item?.title || item?.url || "").trim(),
491
- url: String(item?.url || "").trim(),
492
- snippet: String(item?.content || item?.raw_content || item?.score || "").trim(),
493
- engine: "tavily",
494
- }))).slice(0, numResults);
495
- return { ok: results.length > 0, results, note: results.length > 0 ? "" : "Tavily returned no results" };
496
- }
497
- catch (error) {
498
- const message = error instanceof Error ? error.message : String(error);
499
- return { ok: false, note: `Tavily parse error: ${message}` };
500
- }
501
- }
502
- async function searchBrave(query, numResults, timeoutMs) {
503
- const apiKey = configText("search.braveSearchApiKey");
504
- if (!apiKey)
505
- return { ok: false, note: "search.braveSearchApiKey not configured" };
506
- const result = await fetchText(`https://api.search.brave.com/res/v1/web/search?q=${encodeURIComponent(query)}&count=${Math.min(numResults, 20)}`, timeoutMs, {
507
- headers: {
508
- Accept: "application/json",
509
- "Accept-Encoding": "gzip",
510
- "X-Subscription-Token": apiKey,
511
- },
512
- });
513
- if (!result.ok)
514
- return { ok: false, note: result.error || `Brave error ${result.status}` };
515
- try {
516
- const data = result.text ? JSON.parse(result.text) : {};
517
- const raw = Array.isArray(data?.web?.results) ? data.web.results : [];
518
- const results = uniqueResults(raw.map((item) => ({
519
- title: String(item?.title || item?.url || "").trim(),
520
- url: String(item?.url || "").trim(),
521
- snippet: String(item?.description || "").trim(),
522
- engine: "brave",
523
- }))).slice(0, numResults);
524
- return { ok: results.length > 0, results, note: results.length > 0 ? "" : "Brave returned no results" };
525
- }
526
- catch (error) {
527
- const message = error instanceof Error ? error.message : String(error);
528
- return { ok: false, note: `Brave parse error: ${message}` };
529
- }
530
- }
531
567
  async function searchDuckDuckGo(query, numResults, timeoutMs) {
532
568
  const result = await fetchText(`https://html.duckduckgo.com/html/?q=${encodeURIComponent(query)}`, timeoutMs, {
533
569
  headers: {
@@ -676,6 +712,14 @@ export async function runSmartsearch(options, runtime = {}) {
676
712
  if (blockedReason) {
677
713
  notes.push(blockedReason);
678
714
  }
715
+ else if (parseGitHubRepoScope(query)) {
716
+ const githubRepoDocs = await searchGitHubRepoDocs(query, numResults, timeoutMs);
717
+ fallbacks.push("github_repo_docs");
718
+ if (githubRepoDocs.ok)
719
+ return maybeRunCrawlHandoff({ engine: "github_repo_docs", query, results: githubRepoDocs.results, fallbacks_tried: fallbacks, notes }, options, runtime);
720
+ if (githubRepoDocs.note)
721
+ notes.push(githubRepoDocs.note);
722
+ }
679
723
  else if (!looksLikeGitHubRepoDiscovery(query)) {
680
724
  notes.push("GitHub native repo fallback skipped for non-repository intent");
681
725
  }
@@ -694,7 +738,10 @@ export async function runSmartsearch(options, runtime = {}) {
694
738
  notes.push(blockedReason);
695
739
  }
696
740
  else {
697
- const npm = await searchNpm(query, numResults, timeoutMs);
741
+ const exactPackage = parseNpmPackageScope(query);
742
+ const npm = exactPackage
743
+ ? await searchNpmPackage(exactPackage, timeoutMs)
744
+ : await searchNpm(query, numResults, timeoutMs);
698
745
  fallbacks.push("npm");
699
746
  if (npm.ok)
700
747
  return maybeRunCrawlHandoff({ engine: "npm", query, results: npm.results, fallbacks_tried: fallbacks, notes }, options, runtime);
@@ -716,39 +763,6 @@ export async function runSmartsearch(options, runtime = {}) {
716
763
  notes.push(wikipedia.note);
717
764
  }
718
765
  }
719
- if (exaEnabled()) {
720
- const exa = await searchExa(query, numResults, searchType, contextMaxCharacters, timeoutMs);
721
- fallbacks.push("exa");
722
- if (exa.ok)
723
- return maybeRunCrawlHandoff({ engine: "exa", query, results: exa.results, fallbacks_tried: fallbacks, notes }, options, runtime);
724
- if (exa.note)
725
- notes.push(exa.note);
726
- }
727
- else {
728
- notes.push("Exa disabled by configuration");
729
- }
730
- if (tavilyEnabled()) {
731
- const tavily = await searchTavily(query, numResults, searchType, timeoutMs);
732
- fallbacks.push("tavily");
733
- if (tavily.ok)
734
- return maybeRunCrawlHandoff({ engine: "tavily", query, results: tavily.results, fallbacks_tried: fallbacks, notes }, options, runtime);
735
- if (tavily.note)
736
- notes.push(tavily.note);
737
- }
738
- else {
739
- notes.push("Tavily disabled by configuration");
740
- }
741
- if (braveEnabled()) {
742
- const brave = await searchBrave(query, numResults, timeoutMs);
743
- fallbacks.push("brave");
744
- if (brave.ok)
745
- return maybeRunCrawlHandoff({ engine: "brave", query, results: brave.results, fallbacks_tried: fallbacks, notes }, options, runtime);
746
- if (brave.note)
747
- notes.push(brave.note);
748
- }
749
- else {
750
- notes.push("Brave disabled by configuration");
751
- }
752
766
  if (searxngEnabled() && searxngBaseUrl) {
753
767
  const privacySensitive = localOnlyMode() || privateProfileMode();
754
768
  if (privacySensitive && !await privacySafeSearxngBase(searxngBaseUrl)) {
@@ -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.jojo-labs/smart-web",
4
- "version": "0.29.0",
4
+ "version": "0.30.0",
5
5
  "packageManager": "npm@11.9.0",
6
6
  "description": "Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.",
7
7
  "homepage": "https://github.com/jojo-labs/smart-web",
@@ -50,9 +50,9 @@
50
50
  "benchmark:providers:live:naver-blog": "node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --json-file reports/provider-benchmark-live-naver-blog.json --report-file reports/provider-benchmark-live-naver-blog.md",
51
51
  "benchmark:providers:live:naver-map": "node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --json-file reports/provider-benchmark-live-naver-map.json --report-file reports/provider-benchmark-live-naver-map.md",
52
52
  "benchmark:providers:live:naver-cafe": "node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --json-file reports/provider-benchmark-live-naver-cafe.json --report-file reports/provider-benchmark-live-naver-cafe.md",
53
+ "benchmark:providers:live:x-twitter": "node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-jina-live-smoke --allow-competitive-programming-live-smoke --allow-browser-live-smoke --allow-youtube-live-smoke --allow-blocked-authwall-live-smoke --allow-naver-blog-live-smoke --allow-naver-map-live-smoke --allow-naver-cafe-live-smoke --allow-x-twitter-live-smoke --json-file reports/provider-benchmark-live-x-twitter.json --report-file reports/provider-benchmark-live-x-twitter.md",
53
54
  "benchmark:providers:live:no-secret": "node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --json-file reports/provider-benchmark-live-no-secret.json --report-file reports/provider-benchmark-live-no-secret.md",
54
55
  "benchmark:providers:live:no-secret:gaps": "node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-all-no-secret-live-smokes --gap-file reports/provider-benchmark-live-no-secret-gaps.json",
55
- "benchmark:providers:live:external-search": "node scripts/provider-benchmark.mjs --run-measurements --run-live-smokes --allow-external-search-live-smoke --json-file reports/provider-benchmark-live-external-search.json --report-file reports/provider-benchmark-live-external-search.md",
56
56
  "watchdog:partial-handoff": "npm run build && node scripts/partial-handoff-watchdog.mjs --json",
57
57
  "benchmark:providers:trend": "node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson",
58
58
  "changelog:generate": "node scripts/generate-changelog-entry.mjs",
@@ -1,19 +0,0 @@
1
- import type { SmartfetchContext, SmartfetchNormalization, SmartfetchProvider } from "../provider-types.js";
2
- /** Override fetch for testing. */
3
- export declare function setFirecrawlFetch(fn: typeof fetch): void;
4
- /**
5
- * Returns true when the Firecrawl integration is available (API key is set).
6
- * Callers should check this before using Firecrawl and fall back to existing
7
- * behavior when false.
8
- */
9
- export declare function firecrawlAvailable(): boolean;
10
- /**
11
- * Scrape a single URL using Firecrawl's scrape endpoint.
12
- * Returns normalized smart-web output or null if Firecrawl is unavailable.
13
- */
14
- export declare function firecrawlScrape(ctx: SmartfetchContext): Promise<SmartfetchNormalization | null>;
15
- /**
16
- * Firecrawl provider — used as a generic fallback when the API key is set.
17
- * It matches any URL since Firecrawl handles generic page scraping.
18
- */
19
- export declare const firecrawlProvider: SmartfetchProvider;
@@ -1,117 +0,0 @@
1
- const FIRECRAWL_BASE = "https://api.firecrawl.dev";
2
- let fetchFn = fetch;
3
- /** Override fetch for testing. */
4
- export function setFirecrawlFetch(fn) {
5
- fetchFn = fn;
6
- }
7
- function apiKey() {
8
- return process.env["FIRECRAWL_API_KEY"] ?? null;
9
- }
10
- /**
11
- * Returns true when the Firecrawl integration is available (API key is set).
12
- * Callers should check this before using Firecrawl and fall back to existing
13
- * behavior when false.
14
- */
15
- export function firecrawlAvailable() {
16
- return apiKey() !== null;
17
- }
18
- /**
19
- * Scrape a single URL using Firecrawl's scrape endpoint.
20
- * Returns normalized smart-web output or null if Firecrawl is unavailable.
21
- */
22
- export async function firecrawlScrape(ctx) {
23
- const key = apiKey();
24
- if (!key)
25
- return null;
26
- const params = {
27
- url: ctx.resolvedUrl || ctx.url,
28
- formats: ["markdown", "links"],
29
- onlyMainContent: true,
30
- timeout: Math.min(ctx.timeoutMs, 60000),
31
- };
32
- try {
33
- const res = await fetchFn(`${FIRECRAWL_BASE}/v1/scrape`, {
34
- method: "POST",
35
- headers: {
36
- "Authorization": `Bearer ${key}`,
37
- "Content-Type": "application/json",
38
- },
39
- body: JSON.stringify(params),
40
- signal: AbortSignal.timeout(Math.min(ctx.timeoutMs, 120000)),
41
- });
42
- if (!res.ok) {
43
- const text = await res.text().catch(() => "");
44
- return {
45
- post: null,
46
- thread: [],
47
- comments: [],
48
- outbound_links: [],
49
- partial: true,
50
- errors: [{ category: "block", code: `firecrawl_${res.status}`, message: `Firecrawl scrape returned ${res.status}: ${text.slice(0, 200)}` }],
51
- method: "firecrawl_scrape",
52
- };
53
- }
54
- const body = await res.json();
55
- if (!body.success || !body.data) {
56
- return {
57
- post: null,
58
- thread: [],
59
- comments: [],
60
- outbound_links: [],
61
- partial: true,
62
- errors: [{ category: "block", code: "firecrawl_no_data", message: body.error ?? "Firecrawl returned no data" }],
63
- method: "firecrawl_scrape",
64
- };
65
- }
66
- const { markdown, links, metadata } = body.data;
67
- return {
68
- post: markdown ? { text: markdown, title: metadata?.title ?? "", url: ctx.url } : null,
69
- thread: [],
70
- comments: [],
71
- outbound_links: links ?? [],
72
- partial: false,
73
- errors: [],
74
- method: "firecrawl_scrape",
75
- };
76
- }
77
- catch (err) {
78
- return {
79
- post: null,
80
- thread: [],
81
- comments: [],
82
- outbound_links: [],
83
- partial: true,
84
- errors: [{ category: "unavailable", code: "firecrawl_exception", message: `Firecrawl error: ${err instanceof Error ? err.message : String(err)}` }],
85
- method: "firecrawl_scrape",
86
- };
87
- }
88
- }
89
- /**
90
- * Firecrawl provider — used as a generic fallback when the API key is set.
91
- * It matches any URL since Firecrawl handles generic page scraping.
92
- */
93
- export const firecrawlProvider = {
94
- id: "firecrawl",
95
- targetFamily: "generic",
96
- priority: 15, // between generic(10) and arxiv(84) — runs as a mid-tier fallback
97
- capabilities: ["article_extract", "supports_assets"],
98
- policy: { crossOriginMode: "allow" },
99
- matches: (_url, _target) => firecrawlAvailable(),
100
- async normalize(ctx) {
101
- const result = await firecrawlScrape(ctx);
102
- if (!result) {
103
- // Firecrawl not available — return empty partial so pipeline falls through
104
- return {
105
- post: null,
106
- thread: [],
107
- comments: [],
108
- outbound_links: [],
109
- partial: true,
110
- errors: [],
111
- method: "firecrawl_unavailable",
112
- };
113
- }
114
- return result;
115
- },
116
- };
117
- //# sourceMappingURL=firecrawl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"firecrawl.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/firecrawl.ts"],"names":[],"mappings":"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"}