smart-web-mcp 0.31.0 → 0.33.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
|
@@ -46,6 +46,7 @@ The format is based on Keep a Changelog[^1] and this project uses SemVer.
|
|
|
46
46
|
- Added `--json-file <path>` and an npm alias for provider benchmark JSON artifacts without stdout capture.
|
|
47
47
|
- Added `--gap-file <path>` and `benchmark:providers:gaps` for compact provider evidence gap JSON artifacts.
|
|
48
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.
|
|
49
|
+
- Added `--compare-external` and `benchmark:providers:compare` for no-secret/local comparative provider records, including optional Crawl4AI command skip diagnostics when `crawl4ai` is absent.
|
|
49
50
|
- 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.
|
|
50
51
|
- 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.
|
|
51
52
|
- 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.
|
|
@@ -53,12 +54,14 @@ The format is based on Keep a Changelog[^1] and this project uses SemVer.
|
|
|
53
54
|
- Added `expectPartialHandoff` checks to the partial/handoff watchdog so representative authwall/unavailable cases fail when they silently become non-partial/skipped instead of only checking already-suspect outputs.
|
|
54
55
|
- Added a compact text-size ceiling to the partial/handoff watchdog so authwall/unavailable drift fails when `content[0].text` becomes verbose even without chrome/script leakage.
|
|
55
56
|
- Added `scripts/no-secret-surface-watchdog.mjs` and `npm run watchdog:no-secret` as a deterministic no-secret current-surface gate for empty provider gaps, hosted API-key provider markers, and the partial/handoff compact-output ceiling.
|
|
57
|
+
- Added `npm run watchdog:no-secret:live` and a scheduled/manual GitHub Actions workflow for no-secret live regression smokes that refresh the compact gap artifact and fail on non-empty provider gaps without secrets.
|
|
56
58
|
- Added BOJ unavailable/shutdown output to the partial/handoff watchdog representative set.
|
|
57
59
|
- Added LinkedIn profile authwall output to the partial/handoff watchdog representative set.
|
|
58
60
|
- Added Naver Blog unavailable/deleted post output to the partial/handoff watchdog representative set.
|
|
59
61
|
- Added Threads unavailable/join-login output to the partial/handoff watchdog representative set.
|
|
60
62
|
- Added Instagram unavailable/login output to the partial/handoff watchdog representative set.
|
|
61
63
|
- Added X/Twitter and Reddit unavailable/authwall outputs to the partial/handoff watchdog representative set.
|
|
64
|
+
- Added no-secret Kakao Map place-panel fallback hydration for weak static place shells with stable title, category, address, phone, website, and coordinates when the public place ID is available.
|
|
62
65
|
- Added no-secret X/Twitter profile/timeline syndication handling with explicit blocked/rate-limited guidance when the public endpoint is unavailable.
|
|
63
66
|
- 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
67
|
- Added DCInside unavailable/deleted post output to the partial/handoff watchdog representative set.
|
|
@@ -145,6 +148,25 @@ The format is based on Keep a Changelog[^1] and this project uses SemVer.
|
|
|
145
148
|
- Korean public API helpers now validate outbound URLs and redirects before fetching, blocking localhost, private, and reserved targets unless `network.allowPrivateHosts` is explicitly enabled.
|
|
146
149
|
- 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.
|
|
147
150
|
|
|
151
|
+
## [0.33.0](https://github.com/jojo-labs/smart-web/compare/v0.32.0...v0.33.0) (2026-06-22)
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
### Features
|
|
155
|
+
|
|
156
|
+
* **benchmark:** add no-secret comparison ([#373](https://github.com/jojo-labs/smart-web/issues/373)) ([90a26c9](https://github.com/jojo-labs/smart-web/commit/90a26c9921dfa2ce75df69dbf36fc33eb26595f8))
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
### CI / Release
|
|
160
|
+
|
|
161
|
+
* add no-secret live watchdog ([#372](https://github.com/jojo-labs/smart-web/issues/372)) ([a8c0975](https://github.com/jojo-labs/smart-web/commit/a8c09759f88d76ec6709d56a64ab7a3b1508b929))
|
|
162
|
+
|
|
163
|
+
## [0.32.0](https://github.com/jojo-labs/smart-web/compare/v0.31.0...v0.32.0) (2026-06-22)
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
### Features
|
|
167
|
+
|
|
168
|
+
* **kakao-map:** add panel fallback ([#371](https://github.com/jojo-labs/smart-web/issues/371)) ([23fbd7f](https://github.com/jojo-labs/smart-web/commit/23fbd7f6cf37aafbf90b805bf345c423803716a2))
|
|
169
|
+
|
|
148
170
|
## [0.31.0](https://github.com/jojo-labs/smart-web/compare/v0.30.1...v0.31.0) (2026-06-22)
|
|
149
171
|
|
|
150
172
|
|
package/README.md
CHANGED
|
@@ -477,6 +477,7 @@ Use the provider benchmark when deciding whether to build, wrap, or replace retr
|
|
|
477
477
|
```bash
|
|
478
478
|
npm run benchmark:providers
|
|
479
479
|
npm run benchmark:providers:measure
|
|
480
|
+
npm run benchmark:providers:compare
|
|
480
481
|
npm run --silent benchmark:providers:json
|
|
481
482
|
npm run benchmark:providers:json-file
|
|
482
483
|
npm run benchmark:providers:report
|
|
@@ -493,6 +494,7 @@ npm run benchmark:providers:live:naver-cafe
|
|
|
493
494
|
npm run benchmark:providers:live:x-twitter
|
|
494
495
|
npm run benchmark:providers:live:no-secret
|
|
495
496
|
npm run benchmark:providers:live:no-secret:gaps
|
|
497
|
+
npm run watchdog:no-secret:live
|
|
496
498
|
npm run benchmark:providers:trend
|
|
497
499
|
npm run benchmark:smartsearch
|
|
498
500
|
npm run --silent benchmark:smartsearch:json
|
|
@@ -502,6 +504,8 @@ npm run watchdog:partial-handoff
|
|
|
502
504
|
|
|
503
505
|
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.
|
|
504
506
|
|
|
507
|
+
Use `--compare-external` (`npm run benchmark:providers:compare`) to add an `externalComparisons` section that compares current smart-web fixture evidence against optional no-secret/local candidates. The comparison includes the local Crawl4AI command lane, the public Jina Reader relay fixture, and available direct/Playwright baselines. If `crawl4ai` is not installed, the Crawl4AI row is `skipped` with `action: "install-local-prerequisite"` and `prerequisite.command: "crawl4ai"`; this is an expected setup signal, not a benchmark failure or required dependency.
|
|
508
|
+
|
|
505
509
|
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.
|
|
506
510
|
|
|
507
511
|
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.
|
|
@@ -518,6 +522,8 @@ See `reports/README.md` for the curated report archive index. It identifies `pro
|
|
|
518
522
|
|
|
519
523
|
`npm run watchdog:no-secret` is the deterministic current-surface gate for no-secret maintenance. It fails when `reports/provider-benchmark-live-no-secret-gaps.json` contains current gaps, when runtime/docs/examples/scripts reintroduce hosted API-key provider markers for Exa, Tavily, Firecrawl, Browserless, or Brave Search API, or when the partial/handoff watchdog no longer has a compact text ceiling. It intentionally ignores historical `CHANGELOG.md` entries and archived `reports/` output, and does not run live network smokes.
|
|
520
524
|
|
|
525
|
+
`npm run watchdog:no-secret:live` is the live regression gate for no-secret maintenance. It first refreshes `reports/provider-benchmark-live-no-secret-gaps.json` with `npm run benchmark:providers:live:no-secret:gaps`, then runs `npm run watchdog:no-secret` so non-empty live provider gaps fail locally or in CI. The scheduled/manual GitHub Actions workflow `.github/workflows/no-secret-live-watchdog.yml` runs the same alias weekly with read-only permissions, no secrets, and a short-retention gap artifact.
|
|
526
|
+
|
|
521
527
|
`npm run watchdog:partial-handoff` builds the package and runs a compact no-secret drift watchdog over representative partial/blocked/handoff `smartfetch` outputs (httpbin authwall, LinkedIn profile authwall, Naver Blog unavailable/deleted posts, Threads unavailable/join-login output, DCInside unavailable/deleted posts, Telegram missing/private posts, a non-existent Wikidocs article, Naver Cafe, Naver Map search, and BOJ unavailable/shutdown output). It exits non-zero when expected handoff cases are silently reclassified as non-partial, when partial/handoff `content[0].text` grows beyond the compact watchdog ceiling, or when compact text or structured links/assets leak chrome URLs, script globals, or style-shell tokens, and prints a `partial-handoff-watchdog.v1` JSON report without raw page dumps or credentials. For runner artifacts without JSON stdout, run `node scripts/partial-handoff-watchdog.mjs --report-file <path>` after `npm run build`; the command keeps stdout human-readable and writes the full JSON report to the requested path. Fixture cases can set `expectPartialHandoff: true` to make classifier drift fail even if the output would otherwise be skipped.
|
|
522
528
|
|
|
523
529
|
## Quick verification
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
import { absolutizeUrl, dedupeUrls, extractMetaDescription, extractMetaName, extractMetaProperty, extractTitleFromHtml, extractUrls, } from "../../shared.js";
|
|
2
2
|
import { extractCount, extractFloat, firstLine, htmlToLines, lineAfter, normalizeSpace, sectionAfter } from "./map-utils.js";
|
|
3
|
+
const KAKAO_PLACE_PANEL_URL_BASE = "https://place-api.map.kakao.com/places/panel3";
|
|
4
|
+
const KAKAO_PLACE_PANEL_HEADERS = {
|
|
5
|
+
accept: "application/json, text/plain, */*",
|
|
6
|
+
"accept-language": "ko,en-US;q=0.9,en;q=0.8",
|
|
7
|
+
"user-agent": "Mozilla/5.0 (compatible; smart-web/kakao-map)",
|
|
8
|
+
appVersion: "6.6.0",
|
|
9
|
+
origin: "https://place.map.kakao.com",
|
|
10
|
+
pf: "PC",
|
|
11
|
+
referer: "https://place.map.kakao.com/",
|
|
12
|
+
"sec-fetch-dest": "empty",
|
|
13
|
+
"sec-fetch-mode": "cors",
|
|
14
|
+
"sec-fetch-site": "same-site",
|
|
15
|
+
};
|
|
3
16
|
function cleanTitle(value) {
|
|
4
17
|
return normalizeSpace(value).replace(/\s*\|\s*카카오맵$/u, "");
|
|
5
18
|
}
|
|
@@ -35,8 +48,62 @@ function parseCoordinates(html) {
|
|
|
35
48
|
? { latitude, longitude }
|
|
36
49
|
: {};
|
|
37
50
|
}
|
|
51
|
+
function asRecord(value) {
|
|
52
|
+
return value && typeof value === "object" && !Array.isArray(value) ? value : {};
|
|
53
|
+
}
|
|
54
|
+
function asText(value) {
|
|
55
|
+
return typeof value === "string" || typeof value === "number" ? normalizeSpace(String(value)) : "";
|
|
56
|
+
}
|
|
57
|
+
function asFiniteNumber(value) {
|
|
58
|
+
const parsed = Number(String(value ?? "").replace(/,/g, ""));
|
|
59
|
+
return Number.isFinite(parsed) ? parsed : undefined;
|
|
60
|
+
}
|
|
61
|
+
function firstPanelPhone(value) {
|
|
62
|
+
if (!Array.isArray(value))
|
|
63
|
+
return "";
|
|
64
|
+
for (const item of value) {
|
|
65
|
+
const record = asRecord(item);
|
|
66
|
+
const phone = cleanPhone(asText(record.tel) || asText(record.phone) || asText(record.number));
|
|
67
|
+
if (phone)
|
|
68
|
+
return phone;
|
|
69
|
+
}
|
|
70
|
+
return "";
|
|
71
|
+
}
|
|
72
|
+
function normalizeKakaoPlacePanel(payload) {
|
|
73
|
+
const root = asRecord(payload);
|
|
74
|
+
const summary = asRecord(root.summary || root.basicInfo);
|
|
75
|
+
const category = asRecord(summary.category);
|
|
76
|
+
const address = asRecord(summary.address);
|
|
77
|
+
const point = asRecord(summary.point);
|
|
78
|
+
const latitude = asFiniteNumber(point.lat || summary.latitude || summary.y);
|
|
79
|
+
const longitude = asFiniteNumber(point.lon || summary.longitude || summary.x);
|
|
80
|
+
const panel = {
|
|
81
|
+
title: asText(summary.name || summary.placenamefull || summary.placeName),
|
|
82
|
+
category: asText(category.name3 || category.name2 || category.name1 || summary.categoryName),
|
|
83
|
+
address: cleanAddress(asText(address.disp || address.address || summary.addressName || summary.roadAddressName)),
|
|
84
|
+
phone: firstPanelPhone(summary.phone_numbers) || cleanPhone(asText(summary.phone)),
|
|
85
|
+
website: asText(summary.homepage || summary.homepageUrl || summary.url),
|
|
86
|
+
...(latitude !== undefined ? { latitude } : {}),
|
|
87
|
+
...(longitude !== undefined ? { longitude } : {}),
|
|
88
|
+
};
|
|
89
|
+
return panel.title || panel.address || panel.phone || latitude !== undefined || longitude !== undefined ? panel : null;
|
|
90
|
+
}
|
|
91
|
+
async function fetchPlacePanel(placeId) {
|
|
92
|
+
if (!placeId || typeof fetch !== "function")
|
|
93
|
+
return null;
|
|
94
|
+
try {
|
|
95
|
+
const response = await fetch(`${KAKAO_PLACE_PANEL_URL_BASE}/${placeId}`, { headers: KAKAO_PLACE_PANEL_HEADERS });
|
|
96
|
+
if (!response.ok)
|
|
97
|
+
return null;
|
|
98
|
+
return normalizeKakaoPlacePanel(await response.json());
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
38
104
|
async function hydratePlace(context, placeId, currentLines) {
|
|
39
|
-
|
|
105
|
+
const hasPlaceContent = currentLines.includes("장소명") && currentLines.includes("주소");
|
|
106
|
+
if (hasPlaceContent) {
|
|
40
107
|
return {
|
|
41
108
|
html: context.active.content,
|
|
42
109
|
links: context.active.links,
|
|
@@ -45,8 +112,18 @@ async function hydratePlace(context, placeId, currentLines) {
|
|
|
45
112
|
hydrated: false,
|
|
46
113
|
};
|
|
47
114
|
}
|
|
48
|
-
|
|
49
|
-
|
|
115
|
+
if (!placeId || !context.runBrowserSession) {
|
|
116
|
+
const panel = placeId ? await fetchPlacePanel(placeId) : null;
|
|
117
|
+
if (panel) {
|
|
118
|
+
return {
|
|
119
|
+
html: context.active.content,
|
|
120
|
+
links: context.active.links,
|
|
121
|
+
method: "kakao_map_place_panel",
|
|
122
|
+
resolvedUrl: canonicalPlaceUrl(placeId) || context.resolvedUrl,
|
|
123
|
+
hydrated: true,
|
|
124
|
+
panel,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
50
127
|
return {
|
|
51
128
|
html: context.active.content,
|
|
52
129
|
links: context.active.links,
|
|
@@ -59,6 +136,17 @@ async function hydratePlace(context, placeId, currentLines) {
|
|
|
59
136
|
const result = await context.runBrowserSession({ url: targetUrl, timeoutMs: context.timeoutMs, waitUntil: "networkidle" });
|
|
60
137
|
if (!result.ok) {
|
|
61
138
|
context.errors.push(result.error);
|
|
139
|
+
const panel = await fetchPlacePanel(placeId);
|
|
140
|
+
if (panel) {
|
|
141
|
+
return {
|
|
142
|
+
html: context.active.content,
|
|
143
|
+
links: context.active.links,
|
|
144
|
+
method: "kakao_map_place_panel",
|
|
145
|
+
resolvedUrl: targetUrl,
|
|
146
|
+
hydrated: true,
|
|
147
|
+
panel,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
62
150
|
return {
|
|
63
151
|
html: context.active.content,
|
|
64
152
|
links: context.active.links,
|
|
@@ -84,16 +172,17 @@ export const kakaoMapProvider = {
|
|
|
84
172
|
const html = hydrated.html;
|
|
85
173
|
const lines = htmlToLines(html);
|
|
86
174
|
const joined = lines.join(" ");
|
|
175
|
+
const panel = hydrated.panel;
|
|
87
176
|
const canonicalUrl = extractMetaProperty(html, "og:url") || hydrated.resolvedUrl || canonicalPlaceUrl(placeId) || context.resolvedUrl || context.url;
|
|
88
|
-
const title = cleanTitle(lineAfter(lines, /^장소명$/u) || extractMetaProperty(html, "og:title") || extractTitleFromHtml(html));
|
|
89
|
-
const category = lineAfter(lines, /^장소 카테고리$/u);
|
|
177
|
+
const title = cleanTitle(lineAfter(lines, /^장소명$/u) || panel?.title || extractMetaProperty(html, "og:title") || extractTitleFromHtml(html));
|
|
178
|
+
const category = lineAfter(lines, /^장소 카테고리$/u) || panel?.category || "";
|
|
90
179
|
const rating = extractFloat(joined, /별점\s*([0-9.]+)/u);
|
|
91
180
|
const reviewCount = extractCount(joined, /후기\s*([0-9][0-9,]*)\s*개?/u);
|
|
92
181
|
const hours = firstLine(lines, /영업\s*(?:중|종료|전)|24시간/u);
|
|
93
|
-
const website = lineAfter(lines, /^URL$/u);
|
|
94
|
-
const address = cleanAddress(lineAfter(lines, /^주소$/u));
|
|
182
|
+
const website = lineAfter(lines, /^URL$/u) || panel?.website || "";
|
|
183
|
+
const address = cleanAddress(lineAfter(lines, /^주소$/u) || panel?.address || "");
|
|
95
184
|
const transit = lineAfter(lines, /^출구정보$/u);
|
|
96
|
-
const phone = cleanPhone(lineAfter(lines, /^전화$/u) || (joined.match(/전화\s*(\d{2,4}-\d{3,4}-\d{4})/u)?.[0] || ""));
|
|
185
|
+
const phone = cleanPhone(lineAfter(lines, /^전화$/u) || panel?.phone || (joined.match(/전화\s*(\d{2,4}-\d{3,4}-\d{4})/u)?.[0] || ""));
|
|
97
186
|
const facilities = sectionAfter(lines, /^시설정보$/u, [/^태그$/u, /^시간별 방문자 데이터/u, /^전체 후기\/평점$/u, /^후기 목록$/u, /^이 지역 친구공유 랭킹$/u], 8);
|
|
98
187
|
const tags = sectionAfter(lines, /^태그$/u, [/^시간별 방문자 데이터/u, /^전체 후기\/평점$/u, /^후기 목록$/u, /^이 지역 친구공유 랭킹$/u], 6)
|
|
99
188
|
.flatMap((line) => line.match(/#[^\s#]+/gu) || []);
|
|
@@ -134,6 +223,8 @@ export const kakaoMapProvider = {
|
|
|
134
223
|
...(tags.length > 0 ? { tags } : {}),
|
|
135
224
|
...(image ? { image } : {}),
|
|
136
225
|
...parseCoordinates(html),
|
|
226
|
+
...(panel?.latitude !== undefined ? { latitude: panel.latitude } : {}),
|
|
227
|
+
...(panel?.longitude !== undefined ? { longitude: panel.longitude } : {}),
|
|
137
228
|
status: title || address || phone ? "ok" : "blocked_or_unavailable",
|
|
138
229
|
};
|
|
139
230
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kakao-map.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/kakao-map.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kakao-map.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/kakao-map.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.
|
|
4
|
+
"version": "0.33.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",
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"build": "rm -rf dist && tsc -p tsconfig.json && node scripts/ensure-bin-executable.mjs",
|
|
38
38
|
"benchmark:providers": "node scripts/provider-benchmark.mjs",
|
|
39
39
|
"benchmark:providers:measure": "node scripts/provider-benchmark.mjs --run-measurements",
|
|
40
|
+
"benchmark:providers:compare": "node scripts/provider-benchmark.mjs --run-measurements --compare-external",
|
|
40
41
|
"benchmark:providers:json": "node scripts/provider-benchmark.mjs --run-measurements --json",
|
|
41
42
|
"benchmark:providers:json-file": "node scripts/provider-benchmark.mjs --run-measurements --json-file reports/provider-benchmark.json",
|
|
42
43
|
"benchmark:providers:report": "node scripts/provider-benchmark.mjs --run-measurements --report-file reports/provider-benchmark.md",
|
|
@@ -56,6 +57,7 @@
|
|
|
56
57
|
"benchmark:smartsearch": "node --import tsx scripts/smartsearch-quality-benchmark.mjs",
|
|
57
58
|
"benchmark:smartsearch:json": "node --import tsx scripts/smartsearch-quality-benchmark.mjs --json",
|
|
58
59
|
"watchdog:no-secret": "node scripts/no-secret-surface-watchdog.mjs --json",
|
|
60
|
+
"watchdog:no-secret:live": "npm run benchmark:providers:live:no-secret:gaps && npm run watchdog:no-secret",
|
|
59
61
|
"watchdog:partial-handoff": "npm run build && node scripts/partial-handoff-watchdog.mjs --json",
|
|
60
62
|
"benchmark:providers:trend": "node scripts/provider-benchmark.mjs --run-measurements --trend-file reports/provider-benchmark.ndjson",
|
|
61
63
|
"changelog:generate": "node scripts/generate-changelog-entry.mjs",
|