smart-web-mcp 0.7.11 → 0.7.13

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.
@@ -0,0 +1,515 @@
1
+ import { asNumber, asString, dedupeUrls, extractTitleFromHtml, extractUrls, stripTags, } from "../../shared.js";
2
+ import { fetchProviderJson } from "../provider-policy.js";
3
+ const allowedSearchSorts = new Set(["id", "level", "title", "solved", "average_try", "random"]);
4
+ function isSolvedacHost(hostname) {
5
+ const normalized = String(hostname || "").toLowerCase();
6
+ return normalized === "solved.ac" || normalized.endsWith(".solved.ac");
7
+ }
8
+ function looksLikeSolvedacRoute(url) {
9
+ try {
10
+ const parsed = new URL(url);
11
+ if (!isSolvedacHost(parsed.hostname))
12
+ return false;
13
+ if (/^\/api\/v3\/(?:problem\/show|problem\/lookup|search\/problem)$/i.test(parsed.pathname))
14
+ return true;
15
+ if ((parsed.pathname === "/search" || parsed.pathname === "/problems") && parsed.searchParams.has("query"))
16
+ return true;
17
+ if (/^\/problems\/level\/\d+\/?$/i.test(parsed.pathname))
18
+ return true;
19
+ if (/^\/problems\/tags\/[^/]+\/?$/i.test(parsed.pathname))
20
+ return true;
21
+ }
22
+ catch {
23
+ return false;
24
+ }
25
+ return false;
26
+ }
27
+ function asRecord(value) {
28
+ return value && typeof value === "object" && !Array.isArray(value)
29
+ ? value
30
+ : null;
31
+ }
32
+ function asRecordList(value) {
33
+ return Array.isArray(value)
34
+ ? value.map((item) => asRecord(item)).filter((item) => item !== null)
35
+ : [];
36
+ }
37
+ function normalizeDirection(value) {
38
+ return String(value || "").toLowerCase() === "desc" ? "desc" : "asc";
39
+ }
40
+ function normalizeSort(value) {
41
+ const normalized = String(value || "").trim().toLowerCase();
42
+ return allowedSearchSorts.has(normalized) ? normalized : "id";
43
+ }
44
+ function normalizePage(value) {
45
+ const page = Math.max(1, Math.floor(asNumber(value)));
46
+ return page || 1;
47
+ }
48
+ function buildSearchApiUrl(origin, query, options) {
49
+ const url = new URL("/api/v3/search/problem", origin);
50
+ url.searchParams.set("query", query);
51
+ url.searchParams.set("sort", normalizeSort(options?.sort || "id"));
52
+ url.searchParams.set("direction", normalizeDirection(options?.direction || "asc"));
53
+ url.searchParams.set("page", String(normalizePage(String(options?.page || 1))));
54
+ return url.toString();
55
+ }
56
+ function buildProblemShowApiUrl(origin, problemId) {
57
+ const url = new URL("/api/v3/problem/show", origin);
58
+ url.searchParams.set("problemId", String(problemId));
59
+ return url.toString();
60
+ }
61
+ function buildProblemLookupApiUrl(origin, problemIds) {
62
+ const url = new URL("/api/v3/problem/lookup", origin);
63
+ url.searchParams.set("problemIds", problemIds.join(","));
64
+ return url.toString();
65
+ }
66
+ function parseProblemIds(value) {
67
+ return String(value || "")
68
+ .split(",")
69
+ .map((item) => Math.floor(asNumber(item.trim())))
70
+ .filter((item) => item > 0);
71
+ }
72
+ function resolveSolvedacRoute(url) {
73
+ try {
74
+ const parsed = new URL(url);
75
+ if (!isSolvedacHost(parsed.hostname))
76
+ return { kind: "unsupported", reason: "URL is not a solved.ac route" };
77
+ const origin = parsed.origin;
78
+ const path = parsed.pathname;
79
+ if (/^\/api\/v3\/problem\/show$/i.test(path)) {
80
+ const problemId = Math.floor(asNumber(parsed.searchParams.get("problemId")));
81
+ return problemId > 0
82
+ ? { kind: "problem", apiUrl: buildProblemShowApiUrl(origin, problemId), originalUrl: url, problemId }
83
+ : { kind: "unsupported", reason: "solved.ac problem/show URL is missing a valid problemId" };
84
+ }
85
+ if (/^\/api\/v3\/problem\/lookup$/i.test(path)) {
86
+ const problemIds = parseProblemIds(parsed.searchParams.get("problemIds") || "");
87
+ return problemIds.length > 0
88
+ ? { kind: "lookup", apiUrl: buildProblemLookupApiUrl(origin, problemIds), originalUrl: url, problemIds }
89
+ : { kind: "unsupported", reason: "solved.ac problem/lookup URL is missing valid problemIds" };
90
+ }
91
+ if (/^\/api\/v3\/search\/problem$/i.test(path)) {
92
+ const query = String(parsed.searchParams.get("query") || "").trim();
93
+ return query
94
+ ? {
95
+ kind: "search",
96
+ apiUrl: buildSearchApiUrl(origin, query, {
97
+ sort: parsed.searchParams.get("sort") || "id",
98
+ direction: parsed.searchParams.get("direction") || "asc",
99
+ page: normalizePage(parsed.searchParams.get("page") || "1"),
100
+ }),
101
+ originalUrl: url,
102
+ query,
103
+ sort: normalizeSort(parsed.searchParams.get("sort") || "id"),
104
+ direction: normalizeDirection(parsed.searchParams.get("direction") || "asc"),
105
+ page: normalizePage(parsed.searchParams.get("page") || "1"),
106
+ title: `solved.ac problem search: ${query}`,
107
+ }
108
+ : { kind: "unsupported", reason: "solved.ac search/problem URL is missing a query" };
109
+ }
110
+ if ((path === "/search" || path === "/problems") && parsed.searchParams.has("query")) {
111
+ const query = String(parsed.searchParams.get("query") || "").trim();
112
+ if (!query)
113
+ return { kind: "unsupported", reason: "solved.ac search page is missing a query" };
114
+ return {
115
+ kind: "search",
116
+ apiUrl: buildSearchApiUrl(origin, query, {
117
+ sort: parsed.searchParams.get("sort") || parsed.searchParams.get("sortby") || "id",
118
+ direction: parsed.searchParams.get("direction") || "asc",
119
+ page: normalizePage(parsed.searchParams.get("page") || "1"),
120
+ }),
121
+ originalUrl: url,
122
+ query,
123
+ sort: normalizeSort(parsed.searchParams.get("sort") || parsed.searchParams.get("sortby") || "id"),
124
+ direction: normalizeDirection(parsed.searchParams.get("direction") || "asc"),
125
+ page: normalizePage(parsed.searchParams.get("page") || "1"),
126
+ title: `solved.ac problem search: ${query}`,
127
+ };
128
+ }
129
+ const levelMatch = path.match(/^\/problems\/level\/(\d+)\/?$/i);
130
+ if (levelMatch?.[1]) {
131
+ const level = Math.floor(asNumber(levelMatch[1]));
132
+ if (level > 0 || level === 0) {
133
+ return {
134
+ kind: "search",
135
+ apiUrl: buildSearchApiUrl(origin, `*${level}`, {
136
+ sort: parsed.searchParams.get("sort") || parsed.searchParams.get("sortby") || "id",
137
+ direction: parsed.searchParams.get("direction") || "asc",
138
+ page: normalizePage(parsed.searchParams.get("page") || "1"),
139
+ }),
140
+ originalUrl: url,
141
+ query: `*${level}`,
142
+ sort: normalizeSort(parsed.searchParams.get("sort") || parsed.searchParams.get("sortby") || "id"),
143
+ direction: normalizeDirection(parsed.searchParams.get("direction") || "asc"),
144
+ page: normalizePage(parsed.searchParams.get("page") || "1"),
145
+ title: `solved.ac level ${level} problems`,
146
+ };
147
+ }
148
+ }
149
+ const tagMatch = path.match(/^\/problems\/tags\/([^/]+)\/?$/i);
150
+ if (tagMatch?.[1]) {
151
+ const tag = decodeURIComponent(tagMatch[1]).trim();
152
+ if (!tag)
153
+ return { kind: "unsupported", reason: "solved.ac tag page is missing a tag key" };
154
+ return {
155
+ kind: "search",
156
+ apiUrl: buildSearchApiUrl(origin, `#${tag}`, {
157
+ sort: parsed.searchParams.get("sort") || parsed.searchParams.get("sortby") || "id",
158
+ direction: parsed.searchParams.get("direction") || "asc",
159
+ page: normalizePage(parsed.searchParams.get("page") || "1"),
160
+ }),
161
+ originalUrl: url,
162
+ query: `#${tag}`,
163
+ sort: normalizeSort(parsed.searchParams.get("sort") || parsed.searchParams.get("sortby") || "id"),
164
+ direction: normalizeDirection(parsed.searchParams.get("direction") || "asc"),
165
+ page: normalizePage(parsed.searchParams.get("page") || "1"),
166
+ title: `solved.ac problems tagged #${tag}`,
167
+ };
168
+ }
169
+ }
170
+ catch {
171
+ return { kind: "unsupported", reason: "Invalid solved.ac URL" };
172
+ }
173
+ return { kind: "unsupported", reason: "solved.ac URL is not a supported problem/search route" };
174
+ }
175
+ function parseTitles(value) {
176
+ return asRecordList(value)
177
+ .map((item) => ({
178
+ language: asString(item.language),
179
+ title: asString(item.title),
180
+ isOriginal: Boolean(item.isOriginal),
181
+ }))
182
+ .filter((item) => item.title);
183
+ }
184
+ function parseTags(value) {
185
+ return asRecordList(value)
186
+ .map((item) => {
187
+ const key = asString(item.key);
188
+ const displayNames = asRecordList(item.displayNames);
189
+ const english = displayNames.find((name) => asString(name.language) === "en");
190
+ const first = displayNames[0];
191
+ const displayName = asString((english || first)?.name) || key;
192
+ return { key, displayName };
193
+ })
194
+ .filter((item) => item.key);
195
+ }
196
+ function parseProblem(value) {
197
+ const record = asRecord(value);
198
+ if (!record)
199
+ return null;
200
+ const problemId = Math.floor(asNumber(record.problemId));
201
+ if (problemId <= 0)
202
+ return null;
203
+ return {
204
+ problemId,
205
+ titleKo: asString(record.titleKo),
206
+ titles: parseTitles(record.titles),
207
+ isSolvable: Boolean(record.isSolvable),
208
+ isPartial: Boolean(record.isPartial),
209
+ acceptedUserCount: asNumber(record.acceptedUserCount),
210
+ level: asNumber(record.level),
211
+ votedUserCount: asNumber(record.votedUserCount),
212
+ sprout: Boolean(record.sprout),
213
+ givesNoRating: Boolean(record.givesNoRating),
214
+ isLevelLocked: Boolean(record.isLevelLocked),
215
+ averageTries: asNumber(record.averageTries),
216
+ official: Boolean(record.official),
217
+ tags: parseTags(record.tags),
218
+ };
219
+ }
220
+ function parseProblemArray(value) {
221
+ return Array.isArray(value)
222
+ ? value.map((item) => parseProblem(item)).filter((item) => item !== null)
223
+ : [];
224
+ }
225
+ function parseSearchResponse(value) {
226
+ const record = asRecord(value);
227
+ if (!record)
228
+ return { count: 0, items: [] };
229
+ return {
230
+ count: asNumber(record.count),
231
+ items: parseProblemArray(record.items),
232
+ };
233
+ }
234
+ function problemDisplayTitle(problem) {
235
+ return problem.titleKo || problem.titles[0]?.title || `Problem ${problem.problemId}`;
236
+ }
237
+ function problemBojUrl(problemId) {
238
+ return `https://www.acmicpc.net/problem/${problemId}`;
239
+ }
240
+ function formatCount(value) {
241
+ return Number.isFinite(value) ? value.toLocaleString("en-US") : "0";
242
+ }
243
+ function formatFloat(value) {
244
+ if (!Number.isFinite(value))
245
+ return "0";
246
+ return value.toFixed(4).replace(/0+$/g, "").replace(/\.$/g, "");
247
+ }
248
+ function problemSnippet(problem) {
249
+ const tags = problem.tags.slice(0, 4).map((item) => item.key).join(", ");
250
+ const parts = [
251
+ `level=${problem.level}`,
252
+ `solved=${formatCount(problem.acceptedUserCount)}`,
253
+ `average tries=${formatFloat(problem.averageTries)}`,
254
+ problem.official ? "official" : "unofficial",
255
+ tags ? `tags=${tags}` : "",
256
+ ].filter(Boolean);
257
+ return parts.join(" · ");
258
+ }
259
+ function problemSummary(problem) {
260
+ const titles = problem.titles.map((item) => `${item.language || "unknown"}:${item.title}`).join(", ");
261
+ const tags = problem.tags.map((item) => item.key).join(", ");
262
+ return [
263
+ `Problem ID: ${problem.problemId}`,
264
+ `BOJ problem: ${problemBojUrl(problem.problemId)}`,
265
+ `Level: ${problem.level}`,
266
+ `Solved by: ${formatCount(problem.acceptedUserCount)}`,
267
+ `Average tries: ${formatFloat(problem.averageTries)}`,
268
+ `Official: ${problem.official ? "yes" : "no"}`,
269
+ `Solvable: ${problem.isSolvable ? "yes" : "no"}`,
270
+ `Partial/problemset flag: ${problem.isPartial ? "yes" : "no"}`,
271
+ problem.sprout ? "Sprout: yes" : "",
272
+ problem.givesNoRating ? "No rating: yes" : "",
273
+ problem.isLevelLocked ? "Level locked: yes" : "",
274
+ titles ? `Titles: ${titles}` : "",
275
+ tags ? `Tags: ${tags}` : "",
276
+ ].filter(Boolean).join("\n");
277
+ }
278
+ function lookupSummary(problems) {
279
+ if (problems.length === 0)
280
+ return "No solved.ac problems matched the lookup request.";
281
+ return problems.slice(0, 12).map((problem, index) => `${index + 1}. #${problem.problemId} ${problemDisplayTitle(problem)} — ${problemSnippet(problem)}`).join("\n");
282
+ }
283
+ function searchSummary(route, count, problems) {
284
+ const lines = [
285
+ `Query: ${route.query}`,
286
+ `Sort: ${route.sort}`,
287
+ `Direction: ${route.direction}`,
288
+ `Page: ${route.page}`,
289
+ `Total matches: ${formatCount(count)}`,
290
+ ];
291
+ if (problems.length === 0) {
292
+ lines.push("No solved.ac problems matched the current query.");
293
+ return lines.join("\n");
294
+ }
295
+ lines.push("", ...problems.slice(0, 12).map((problem, index) => `${index + 1}. #${problem.problemId} ${problemDisplayTitle(problem)} — ${problemSnippet(problem)}`));
296
+ return lines.join("\n");
297
+ }
298
+ function threadItems(problems, origin) {
299
+ return problems.map((problem) => ({
300
+ title: `#${problem.problemId} ${problemDisplayTitle(problem)}`,
301
+ url: problemBojUrl(problem.problemId),
302
+ snippet: problemSnippet(problem),
303
+ canonical_url: buildProblemShowApiUrl(origin, problem.problemId),
304
+ level: problem.level,
305
+ accepted_user_count: problem.acceptedUserCount,
306
+ average_tries: problem.averageTries,
307
+ tags: problem.tags.map((item) => item.key),
308
+ }));
309
+ }
310
+ async function loadSolvedacData(route, context) {
311
+ const result = await fetchProviderJson(route.apiUrl, context.timeoutMs, {
312
+ headers: {
313
+ accept: "application/json,text/plain,*/*",
314
+ },
315
+ }, {
316
+ mode: "same-origin",
317
+ sourceUrl: context.url,
318
+ });
319
+ return result.ok
320
+ ? { ok: true, data: result.data }
321
+ : { ok: false, status: result.status, error: result.error };
322
+ }
323
+ function fallbackSolvedacPage(context, reason) {
324
+ const fallbackText = stripTags(context.active.content).slice(0, 20000);
325
+ return {
326
+ post: {
327
+ url: context.url,
328
+ title: extractTitleFromHtml(context.active.content) || "solved.ac page",
329
+ text: fallbackText || reason,
330
+ site: "solved.ac",
331
+ status: fallbackText ? "partial_text_only" : "blocked_or_unavailable",
332
+ extractor: context.active.method,
333
+ },
334
+ thread: [],
335
+ comments: [],
336
+ outbound_links: dedupeUrls([...context.active.links, ...extractUrls(context.active.content)]),
337
+ partial: true,
338
+ errors: [...context.errors, { category: "parse_error", code: "solvedac_route_unsupported", message: reason }],
339
+ method: context.active.method,
340
+ };
341
+ }
342
+ export const solvedacProvider = {
343
+ id: "solvedac",
344
+ targetFamily: "solvedac_problem",
345
+ priority: 90,
346
+ capabilities: ["seed_metadata", "canonical_url"],
347
+ policy: { preserveCanonicalUrl: true },
348
+ matches: (url, target) => target === "solvedac_problem" || (target === "generic" && looksLikeSolvedacRoute(url)),
349
+ async normalize(context) {
350
+ const route = resolveSolvedacRoute(context.url);
351
+ if (route.kind === "unsupported")
352
+ return fallbackSolvedacPage(context, route.reason);
353
+ const loaded = await loadSolvedacData(route, context);
354
+ const method = route.kind === "problem"
355
+ ? "solvedac_api_v3_problem_show"
356
+ : route.kind === "lookup"
357
+ ? "solvedac_api_v3_problem_lookup"
358
+ : "solvedac_api_v3_search_problem";
359
+ if (!loaded.ok) {
360
+ return {
361
+ post: {
362
+ url: context.url,
363
+ canonical_url: route.apiUrl,
364
+ title: route.kind === "problem"
365
+ ? `solved.ac problem ${route.problemId}`
366
+ : route.kind === "lookup"
367
+ ? "solved.ac problem lookup"
368
+ : route.title,
369
+ text: `Failed to load solved.ac API metadata for ${context.url}`,
370
+ site: "solved.ac",
371
+ status: "blocked_or_unavailable",
372
+ extractor: method,
373
+ },
374
+ thread: [],
375
+ comments: [],
376
+ outbound_links: dedupeUrls([context.url, route.apiUrl, ...context.active.links]),
377
+ partial: true,
378
+ errors: [...context.errors, loaded.error],
379
+ method,
380
+ };
381
+ }
382
+ const origin = new URL(route.apiUrl).origin;
383
+ if (route.kind === "problem") {
384
+ const problem = parseProblem(loaded.data);
385
+ if (!problem) {
386
+ return {
387
+ post: {
388
+ url: context.url,
389
+ canonical_url: route.apiUrl,
390
+ title: `solved.ac problem ${route.problemId}`,
391
+ text: `solved.ac returned an unreadable problem payload for problem ${route.problemId}`,
392
+ site: "solved.ac",
393
+ status: "blocked_or_unavailable",
394
+ extractor: method,
395
+ },
396
+ thread: [],
397
+ comments: [],
398
+ outbound_links: dedupeUrls([context.url, route.apiUrl, ...context.active.links]),
399
+ partial: true,
400
+ errors: [...context.errors, { category: "parse_error", code: "solvedac_problem_parse_failed", message: "solved.ac problem/show payload did not include a readable problem object" }],
401
+ method,
402
+ };
403
+ }
404
+ return {
405
+ post: {
406
+ url: context.url,
407
+ canonical_url: route.apiUrl,
408
+ problem_url: problemBojUrl(problem.problemId),
409
+ title: problemDisplayTitle(problem),
410
+ text: problemSummary(problem),
411
+ site: "solved.ac",
412
+ kind: "problem_metadata",
413
+ problem_id: problem.problemId,
414
+ title_ko: problem.titleKo,
415
+ titles: problem.titles,
416
+ level: problem.level,
417
+ accepted_user_count: problem.acceptedUserCount,
418
+ voted_user_count: problem.votedUserCount,
419
+ average_tries: problem.averageTries,
420
+ official: problem.official,
421
+ is_solvable: problem.isSolvable,
422
+ is_partial: problem.isPartial,
423
+ sprout: problem.sprout,
424
+ gives_no_rating: problem.givesNoRating,
425
+ is_level_locked: problem.isLevelLocked,
426
+ tags: problem.tags.map((item) => item.key),
427
+ extractor: method,
428
+ status: "ok",
429
+ },
430
+ thread: [],
431
+ comments: [],
432
+ outbound_links: dedupeUrls([context.url, route.apiUrl, problemBojUrl(problem.problemId), buildProblemShowApiUrl(origin, problem.problemId)]),
433
+ partial: false,
434
+ errors: context.errors,
435
+ method,
436
+ };
437
+ }
438
+ if (route.kind === "lookup") {
439
+ const problems = parseProblemArray(loaded.data);
440
+ if (problems.length === 1) {
441
+ const problem = problems[0];
442
+ return {
443
+ post: {
444
+ url: context.url,
445
+ canonical_url: route.apiUrl,
446
+ problem_url: problemBojUrl(problem.problemId),
447
+ title: problemDisplayTitle(problem),
448
+ text: problemSummary(problem),
449
+ site: "solved.ac",
450
+ kind: "problem_metadata",
451
+ problem_id: problem.problemId,
452
+ level: problem.level,
453
+ accepted_user_count: problem.acceptedUserCount,
454
+ average_tries: problem.averageTries,
455
+ tags: problem.tags.map((item) => item.key),
456
+ extractor: method,
457
+ status: "ok",
458
+ },
459
+ thread: [],
460
+ comments: [],
461
+ outbound_links: dedupeUrls([context.url, route.apiUrl, problemBojUrl(problem.problemId), buildProblemShowApiUrl(origin, problem.problemId)]),
462
+ partial: false,
463
+ errors: context.errors,
464
+ method,
465
+ };
466
+ }
467
+ return {
468
+ post: {
469
+ url: context.url,
470
+ canonical_url: route.apiUrl,
471
+ title: "solved.ac problem lookup",
472
+ text: lookupSummary(problems),
473
+ site: "solved.ac",
474
+ kind: "problem_lookup",
475
+ problem_ids: route.problemIds,
476
+ extractor: method,
477
+ status: problems.length > 0 ? "ok" : "blocked_or_unavailable",
478
+ },
479
+ thread: threadItems(problems, origin),
480
+ comments: [],
481
+ outbound_links: dedupeUrls([context.url, route.apiUrl, ...problems.flatMap((problem) => [problemBojUrl(problem.problemId), buildProblemShowApiUrl(origin, problem.problemId)])]),
482
+ partial: problems.length === 0,
483
+ errors: problems.length > 0
484
+ ? context.errors
485
+ : [...context.errors, { category: "parse_error", code: "solvedac_lookup_empty", message: "solved.ac lookup did not return any matching problems" }],
486
+ method,
487
+ };
488
+ }
489
+ const response = parseSearchResponse(loaded.data);
490
+ return {
491
+ post: {
492
+ url: route.originalUrl,
493
+ canonical_url: route.apiUrl,
494
+ title: route.title,
495
+ text: searchSummary(route, response.count, response.items),
496
+ site: "solved.ac",
497
+ kind: "problem_search",
498
+ query: route.query,
499
+ total_count: response.count,
500
+ sort: route.sort,
501
+ direction: route.direction,
502
+ page: route.page,
503
+ extractor: method,
504
+ status: "ok",
505
+ },
506
+ thread: threadItems(response.items, origin),
507
+ comments: [],
508
+ outbound_links: dedupeUrls([route.originalUrl, route.apiUrl, ...response.items.flatMap((problem) => [problemBojUrl(problem.problemId), buildProblemShowApiUrl(origin, problem.problemId)])]),
509
+ partial: false,
510
+ errors: context.errors,
511
+ method,
512
+ };
513
+ },
514
+ };
515
+ //# sourceMappingURL=solvedac.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solvedac.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/solvedac.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export declare function choosePlaywrightContent(page: {
7
7
  text?: string;
8
8
  }): string;
9
9
  export declare function shouldUseProviderSeed(target: Target, forceDynamic?: boolean): boolean;
10
+ export { planSmartfetchAcquire } from "./smartfetch/acquisition-plan.js";
10
11
  export type SmartfetchOptions = {
11
12
  url: string;
12
13
  target?: Target;