smart-web-mcp 0.8.8 → 0.9.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 +72 -18
- package/README.md +23 -15
- package/dist/assessment.js +1 -1
- package/dist/assessment.js.map +1 -1
- package/dist/browser-session.d.ts +1 -0
- package/dist/browser-session.js +11 -11
- package/dist/browser-session.js.map +1 -1
- package/dist/cli.js +5 -1
- package/dist/cli.js.map +1 -1
- package/dist/dev-runtime.js +2 -1
- package/dist/dev-runtime.js.map +1 -1
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp-server.js +2 -2
- package/dist/mcp-server.js.map +1 -1
- package/dist/runtime-temp.d.ts +1 -1
- package/dist/runtime-temp.js +12 -17
- package/dist/runtime-temp.js.map +1 -1
- package/dist/settings.d.ts +25 -5
- package/dist/settings.js +55 -60
- package/dist/settings.js.map +1 -1
- package/dist/shared.d.ts +3 -3
- package/dist/shared.js +29 -9
- package/dist/shared.js.map +1 -1
- package/dist/smartcrawl.js +2 -2
- package/dist/smartcrawl.js.map +1 -1
- package/dist/smartfetch/academic-fallback.d.ts +7 -0
- package/dist/smartfetch/academic-fallback.js +777 -0
- package/dist/smartfetch/academic-fallback.js.map +1 -0
- package/dist/smartfetch/archive-fallback.js +7 -57
- package/dist/smartfetch/archive-fallback.js.map +1 -1
- package/dist/smartfetch/generic-fallbacks.d.ts +92 -0
- package/dist/smartfetch/generic-fallbacks.js +616 -0
- package/dist/smartfetch/generic-fallbacks.js.map +1 -0
- package/dist/smartfetch/jina-reader.js +62 -3
- package/dist/smartfetch/jina-reader.js.map +1 -1
- package/dist/smartfetch/paywall.d.ts +7 -0
- package/dist/smartfetch/paywall.js +77 -0
- package/dist/smartfetch/paywall.js.map +1 -0
- package/dist/smartfetch/pipeline.d.ts +1 -1
- package/dist/smartfetch/pipeline.js +4 -3
- package/dist/smartfetch/pipeline.js.map +1 -1
- package/dist/smartfetch/provider-policy.js +2 -2
- package/dist/smartfetch/provider-policy.js.map +1 -1
- package/dist/smartfetch/provider-types.d.ts +1 -0
- package/dist/smartfetch/providers/acmicpc.d.ts +2 -0
- package/dist/smartfetch/providers/acmicpc.js +57 -0
- package/dist/smartfetch/providers/acmicpc.js.map +1 -0
- package/dist/smartfetch/providers/article.d.ts +1 -2
- package/dist/smartfetch/providers/article.js +161 -1
- package/dist/smartfetch/providers/article.js.map +1 -1
- package/dist/smartfetch/providers/atcoder.d.ts +2 -0
- package/dist/smartfetch/providers/atcoder.js +54 -0
- package/dist/smartfetch/providers/atcoder.js.map +1 -0
- package/dist/smartfetch/providers/codeforces.d.ts +2 -0
- package/dist/smartfetch/providers/codeforces.js +54 -0
- package/dist/smartfetch/providers/codeforces.js.map +1 -0
- package/dist/smartfetch/providers/cp-common.d.ts +8 -0
- package/dist/smartfetch/providers/cp-common.js +62 -0
- package/dist/smartfetch/providers/cp-common.js.map +1 -0
- package/dist/smartfetch/providers/index.js +15 -1
- package/dist/smartfetch/providers/index.js.map +1 -1
- package/dist/smartfetch/providers/jungol.d.ts +2 -0
- package/dist/smartfetch/providers/jungol.js +43 -0
- package/dist/smartfetch/providers/jungol.js.map +1 -0
- package/dist/smartfetch/providers/kakao-map.d.ts +2 -0
- package/dist/smartfetch/providers/kakao-map.js +150 -0
- package/dist/smartfetch/providers/kakao-map.js.map +1 -0
- package/dist/smartfetch/providers/linkedin.js +5 -5
- package/dist/smartfetch/providers/linkedin.js.map +1 -1
- package/dist/smartfetch/providers/map-utils.d.ts +7 -0
- package/dist/smartfetch/providers/map-utils.js +56 -0
- package/dist/smartfetch/providers/map-utils.js.map +1 -0
- package/dist/smartfetch/providers/naver-map.d.ts +2 -0
- package/dist/smartfetch/providers/naver-map.js +183 -0
- package/dist/smartfetch/providers/naver-map.js.map +1 -0
- package/dist/smartfetch/providers/qoj.d.ts +2 -0
- package/dist/smartfetch/providers/qoj.js +54 -0
- package/dist/smartfetch/providers/qoj.js.map +1 -0
- package/dist/smartfetch/providers/reddit.js +2 -2
- package/dist/smartfetch/providers/reddit.js.map +1 -1
- package/dist/smartfetch/providers/solvedac.js +193 -2
- package/dist/smartfetch/providers/solvedac.js.map +1 -1
- package/dist/smartfetch/providers/x.js +4 -7
- package/dist/smartfetch/providers/x.js.map +1 -1
- package/dist/smartfetch/providers/youtube.js +2 -2
- package/dist/smartfetch/providers/youtube.js.map +1 -1
- package/dist/smartfetch.js +22 -9
- package/dist/smartfetch.js.map +1 -1
- package/dist/smartsearch.js +199 -26
- package/dist/smartsearch.js.map +1 -1
- package/dist/test-settings.d.ts +9 -0
- package/dist/test-settings.js +40 -0
- package/dist/test-settings.js.map +1 -0
- package/package.json +7 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"article.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/article.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAE9D,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAavI,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,mEAAmE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAA;AACtG,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAC5C,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;SACvB,OAAO,CAAC,2BAA2B,EAAE,IAAI,CAAC;SAC1C,OAAO,CAAC,0BAA0B,EAAE,IAAI,CAAC;SACzC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC;SAC3B,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;SACtB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;SACtB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;AAChC,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,uBAAuB,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;SAChD,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;SACtB,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC;SAC1B,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;SAC1B,IAAI,EAAE,CAAA;AACX,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC5E,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,CAAA;IAC5D,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAA;IAC3H,OAAO;QACL,KAAK;QACL,WAAW;QACX,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,mBAAmB;KAC/B,CAAA;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,OAAO,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;SACtB,OAAO,CAAC,qCAAqC,EAAE,GAAG,CAAC;SACnD,OAAO,CAAC,mCAAmC,EAAE,GAAG,CAAC;SACjD,OAAO,CAAC,yCAAyC,EAAE,GAAG,CAAC;SACvD,OAAO,CAAC,yCAAyC,EAAE,GAAG,CAAC;SACvD,OAAO,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAA;AACvC,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAY,EAAE,GAAW;IAClE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,QAAQ,CAAC,IAAI;YAAE,OAAO,QAAQ,CAAA;IACpC,CAAC;IAED,MAAM,aAAa,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;IACjD,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACzF,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAA;IACvG,MAAM,YAAY,GAAG,SAAS,CAAC,aAAa,CAAC,CAAA;IAE7C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,GAAG,EAAE;YACxD,sBAAsB,EAAE,GAAG;YAC3B,0BAA0B,EAAE,GAAG;SAChC,CAAC,CAAA;QACF,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACxE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,CAAA;QACvD,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAAA;QACrD,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,CAAA;QAC7D,OAAO;YACL,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,aAAa,CAAC,CAAC;YACzD,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,IAAI,mBAAmB,CAAC,CAAC;YAC3E,IAAI,EAAE,WAAW,IAAI,YAAY;YACjC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;SAClD,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,mBAAmB;YAChC,IAAI,EAAE,YAAY;YAClB,SAAS,EAAE,UAAU;SACtB,CAAA;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAA0B,EAAE,KAA+B;IACpG,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/E,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,OAAO;QACL,IAAI,EAAE;YACJ,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB;YAC5C,GAAG,KAAK;SACT;QACD,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,EAAE;QACZ,cAAc,EAAE,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7F,OAAO,EAAE,CAAC,EAAE;QACZ,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;KAC9B,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"article.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/article.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { normalizeContestPlatformPage } from "./cp-common.js";
|
|
2
|
+
function resolveAtcoderRoute(url) {
|
|
3
|
+
try {
|
|
4
|
+
const parsed = new URL(url);
|
|
5
|
+
const host = parsed.hostname.toLowerCase();
|
|
6
|
+
if (!(host === "atcoder.jp" || host.endsWith(".atcoder.jp")))
|
|
7
|
+
return null;
|
|
8
|
+
const path = parsed.pathname;
|
|
9
|
+
const taskMatch = path.match(/^\/contests\/([^/]+)\/tasks\/([^/]+)\/?$/);
|
|
10
|
+
if (taskMatch?.[1] && taskMatch[2]) {
|
|
11
|
+
return {
|
|
12
|
+
platform: "atcoder",
|
|
13
|
+
pageType: "problem",
|
|
14
|
+
title: `AtCoder task ${taskMatch[2]}`,
|
|
15
|
+
identifiers: { contest_id: taskMatch[1], task_id: taskMatch[2] },
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
const contestMatch = path.match(/^\/contests\/([^/]+)\/?$/);
|
|
19
|
+
if (contestMatch?.[1]) {
|
|
20
|
+
return {
|
|
21
|
+
platform: "atcoder",
|
|
22
|
+
pageType: "contest",
|
|
23
|
+
title: `AtCoder contest ${contestMatch[1]}`,
|
|
24
|
+
identifiers: { contest_id: contestMatch[1] },
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
const userMatch = path.match(/^\/users\/([^/]+)\/?$/);
|
|
28
|
+
if (userMatch?.[1]) {
|
|
29
|
+
return {
|
|
30
|
+
platform: "atcoder",
|
|
31
|
+
pageType: "profile",
|
|
32
|
+
title: `AtCoder user ${userMatch[1]}`,
|
|
33
|
+
identifiers: { handle: userMatch[1] },
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
export const atcoderProvider = {
|
|
43
|
+
id: "atcoder",
|
|
44
|
+
matches: (url, target) => target === "generic" && resolveAtcoderRoute(url) !== null,
|
|
45
|
+
async normalize(context) {
|
|
46
|
+
const route = resolveAtcoderRoute(context.url);
|
|
47
|
+
return normalizeContestPlatformPage(context, route || {
|
|
48
|
+
platform: "atcoder",
|
|
49
|
+
pageType: "page",
|
|
50
|
+
title: "AtCoder page",
|
|
51
|
+
});
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=atcoder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atcoder.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/atcoder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAA6B,MAAM,gBAAgB,CAAA;AAExF,SAAS,mBAAmB,CAAC,GAAW;IACtC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;QAC1C,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;QACzE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;QACxE,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,OAAO;gBACL,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,gBAAgB,SAAS,CAAC,CAAC,CAAC,EAAE;gBACrC,WAAW,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE;aACjE,CAAA;QACH,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC3D,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO;gBACL,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,mBAAmB,YAAY,CAAC,CAAC,CAAC,EAAE;gBAC3C,WAAW,EAAE,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE;aAC7C,CAAA;QACH,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;QACrD,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnB,OAAO;gBACL,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,gBAAgB,SAAS,CAAC,CAAC,CAAC,EAAE;gBACrC,WAAW,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE;aACtC,CAAA;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAuB;IACjD,EAAE,EAAE,SAAS;IACb,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,mBAAmB,CAAC,GAAG,CAAC,KAAK,IAAI;IACnF,KAAK,CAAC,SAAS,CAAC,OAAO;QACrB,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC9C,OAAO,4BAA4B,CAAC,OAAO,EAAE,KAAK,IAAI;YACpD,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,cAAc;SACtB,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { normalizeContestPlatformPage } from "./cp-common.js";
|
|
2
|
+
function resolveCodeforcesRoute(url) {
|
|
3
|
+
try {
|
|
4
|
+
const parsed = new URL(url);
|
|
5
|
+
const host = parsed.hostname.toLowerCase();
|
|
6
|
+
if (!(host === "codeforces.com" || host.endsWith(".codeforces.com") || host === "mirror.codeforces.com"))
|
|
7
|
+
return null;
|
|
8
|
+
const path = parsed.pathname;
|
|
9
|
+
const problemsetMatch = path.match(/^\/problemset\/problem\/(\d+)\/([A-Za-z0-9]+)\/?$/);
|
|
10
|
+
if (problemsetMatch?.[1] && problemsetMatch[2]) {
|
|
11
|
+
return {
|
|
12
|
+
platform: "codeforces",
|
|
13
|
+
pageType: "problem",
|
|
14
|
+
title: `Codeforces ${problemsetMatch[1]}${problemsetMatch[2]}`,
|
|
15
|
+
identifiers: { contest_id: problemsetMatch[1], problem_index: problemsetMatch[2] },
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
const contestMatch = path.match(/^\/(?:contest|gym)\/(\d+)\/problem\/([A-Za-z0-9]+)\/?$/);
|
|
19
|
+
if (contestMatch?.[1] && contestMatch[2]) {
|
|
20
|
+
return {
|
|
21
|
+
platform: "codeforces",
|
|
22
|
+
pageType: "problem",
|
|
23
|
+
title: `Codeforces ${contestMatch[1]}${contestMatch[2]}`,
|
|
24
|
+
identifiers: { contest_id: contestMatch[1], problem_index: contestMatch[2] },
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
const profileMatch = path.match(/^\/profile\/([^/]+)\/?$/);
|
|
28
|
+
if (profileMatch?.[1]) {
|
|
29
|
+
return {
|
|
30
|
+
platform: "codeforces",
|
|
31
|
+
pageType: "profile",
|
|
32
|
+
title: `Codeforces user ${profileMatch[1]}`,
|
|
33
|
+
identifiers: { handle: profileMatch[1] },
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
export const codeforcesProvider = {
|
|
43
|
+
id: "codeforces",
|
|
44
|
+
matches: (url, target) => target === "generic" && resolveCodeforcesRoute(url) !== null,
|
|
45
|
+
async normalize(context) {
|
|
46
|
+
const route = resolveCodeforcesRoute(context.url);
|
|
47
|
+
return normalizeContestPlatformPage(context, route || {
|
|
48
|
+
platform: "codeforces",
|
|
49
|
+
pageType: "page",
|
|
50
|
+
title: "Codeforces page",
|
|
51
|
+
});
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=codeforces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codeforces.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/codeforces.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAA6B,MAAM,gBAAgB,CAAA;AAExF,SAAS,sBAAsB,CAAC,GAAW;IACzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;QAC1C,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,IAAI,KAAK,uBAAuB,CAAC;YAAE,OAAO,IAAI,CAAA;QACrH,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAA;QACvF,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,OAAO;gBACL,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,cAAc,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE;gBAC9D,WAAW,EAAE,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE;aACnF,CAAA;QACH,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAA;QACzF,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,OAAO;gBACL,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,cAAc,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE;gBACxD,WAAW,EAAE,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE;aAC7E,CAAA;QACH,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC1D,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO;gBACL,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,mBAAmB,YAAY,CAAC,CAAC,CAAC,EAAE;gBAC3C,WAAW,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE;aACzC,CAAA;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAuB;IACpD,EAAE,EAAE,YAAY;IAChB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,sBAAsB,CAAC,GAAG,CAAC,KAAK,IAAI;IACtF,KAAK,CAAC,SAAS,CAAC,OAAO;QACrB,MAAM,KAAK,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACjD,OAAO,4BAA4B,CAAC,OAAO,EAAE,KAAK,IAAI;YACpD,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,iBAAiB;SACzB,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SmartfetchContext, SmartfetchNormalization } from "../provider-types.js";
|
|
2
|
+
export type ContestPlatformRoute = {
|
|
3
|
+
platform: "boj" | "codeforces" | "atcoder" | "qoj" | "jungol";
|
|
4
|
+
pageType: "problem" | "profile" | "workbook" | "contest" | "editorial" | "page";
|
|
5
|
+
title: string;
|
|
6
|
+
identifiers?: Record<string, string>;
|
|
7
|
+
};
|
|
8
|
+
export declare function normalizeContestPlatformPage(context: SmartfetchContext, route: ContestPlatformRoute): Promise<SmartfetchNormalization>;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { dedupeUrls, extractTitleFromHtml, extractUrls, stripTags } from "../../shared.js";
|
|
2
|
+
import { extractArticleFields } from "./article.js";
|
|
3
|
+
function cleanText(value) {
|
|
4
|
+
return String(value || "").replace(/\s+/g, " ").trim();
|
|
5
|
+
}
|
|
6
|
+
function truncate(value, maxChars) {
|
|
7
|
+
const text = cleanText(value);
|
|
8
|
+
if (text.length <= maxChars)
|
|
9
|
+
return text;
|
|
10
|
+
return `${text.slice(0, maxChars - 1).trimEnd()}…`;
|
|
11
|
+
}
|
|
12
|
+
function platformLabel(platform) {
|
|
13
|
+
switch (platform) {
|
|
14
|
+
case "boj":
|
|
15
|
+
return "BOJ";
|
|
16
|
+
case "codeforces":
|
|
17
|
+
return "Codeforces";
|
|
18
|
+
case "atcoder":
|
|
19
|
+
return "AtCoder";
|
|
20
|
+
case "qoj":
|
|
21
|
+
return "QOJ";
|
|
22
|
+
case "jungol":
|
|
23
|
+
return "Jungol";
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function routeSummary(route, title, text) {
|
|
27
|
+
return [
|
|
28
|
+
`Platform: ${platformLabel(route.platform)}`,
|
|
29
|
+
`Page type: ${route.pageType}`,
|
|
30
|
+
...Object.entries(route.identifiers || {}).map(([key, value]) => `${key}: ${value}`),
|
|
31
|
+
title ? `Title: ${title}` : "",
|
|
32
|
+
text ? `Preview: ${truncate(text, 1200)}` : "",
|
|
33
|
+
].filter(Boolean).join("\n");
|
|
34
|
+
}
|
|
35
|
+
export async function normalizeContestPlatformPage(context, route) {
|
|
36
|
+
const article = await extractArticleFields(context.active.content, context.resolvedUrl || context.url);
|
|
37
|
+
const fallbackText = stripTags(context.active.content);
|
|
38
|
+
const title = cleanText(article.title || route.title || extractTitleFromHtml(context.active.content)) || route.title;
|
|
39
|
+
const text = cleanText(article.text || fallbackText);
|
|
40
|
+
return {
|
|
41
|
+
post: {
|
|
42
|
+
url: context.url,
|
|
43
|
+
canonical_url: context.resolvedUrl || context.url,
|
|
44
|
+
title,
|
|
45
|
+
text: routeSummary(route, title, text),
|
|
46
|
+
site: platformLabel(route.platform),
|
|
47
|
+
platform: route.platform,
|
|
48
|
+
kind: route.pageType,
|
|
49
|
+
description: truncate(cleanText(article.description), 300),
|
|
50
|
+
extractor: context.active.method,
|
|
51
|
+
status: text ? "ok" : "partial_text_only",
|
|
52
|
+
...(route.identifiers || {}),
|
|
53
|
+
},
|
|
54
|
+
thread: [],
|
|
55
|
+
comments: [],
|
|
56
|
+
outbound_links: dedupeUrls([context.url, context.resolvedUrl, ...context.active.links, ...extractUrls(context.active.content)].filter(Boolean)),
|
|
57
|
+
partial: !text,
|
|
58
|
+
errors: context.errors,
|
|
59
|
+
method: context.active.method,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=cp-common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cp-common.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/cp-common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
import { algumonProvider } from "./algumon.js";
|
|
2
|
+
import { acmicpcProvider } from "./acmicpc.js";
|
|
2
3
|
import { archiveProvider } from "./archive.js";
|
|
3
4
|
import { arxivProvider } from "./arxiv.js";
|
|
5
|
+
import { atcoderProvider } from "./atcoder.js";
|
|
4
6
|
import { commerceProvider } from "./commerce.js";
|
|
7
|
+
import { codeforcesProvider } from "./codeforces.js";
|
|
5
8
|
import { dcinsideProvider } from "./dcinside.js";
|
|
6
9
|
import { genericProvider } from "./generic.js";
|
|
7
10
|
import { hackernewsProvider } from "./hackernews.js";
|
|
8
11
|
import { instagramProvider } from "./instagram.js";
|
|
12
|
+
import { jungolProvider } from "./jungol.js";
|
|
13
|
+
import { kakaoMapProvider } from "./kakao-map.js";
|
|
9
14
|
import { linkedinProvider } from "./linkedin.js";
|
|
10
15
|
import { naverBlogProvider } from "./naver-blog.js";
|
|
11
16
|
import { naverCafeProvider } from "./naver-cafe.js";
|
|
17
|
+
import { naverMapProvider } from "./naver-map.js";
|
|
12
18
|
import { namuwikiProvider } from "./namuwiki.js";
|
|
19
|
+
import { qojProvider } from "./qoj.js";
|
|
13
20
|
import { redditProvider } from "./reddit.js";
|
|
14
21
|
import { sciencedirectProvider } from "./sciencedirect.js";
|
|
15
22
|
import { solvedacProvider } from "./solvedac.js";
|
|
@@ -20,7 +27,7 @@ import { velogProvider } from "./velog.js";
|
|
|
20
27
|
import { wikipediaProvider } from "./wikipedia.js";
|
|
21
28
|
import { xProvider } from "./x.js";
|
|
22
29
|
import { youtubeProvider } from "./youtube.js";
|
|
23
|
-
const providers = [hackernewsProvider, redditProvider, xProvider, threadsProvider, instagramProvider, telegramProvider, dcinsideProvider, youtubeProvider, naverBlogProvider, naverCafeProvider, tistoryProvider, velogProvider, linkedinProvider, algumonProvider, namuwikiProvider, wikipediaProvider, solvedacProvider, arxivProvider, archiveProvider, sciencedirectProvider, commerceProvider, genericProvider];
|
|
30
|
+
const providers = [hackernewsProvider, redditProvider, xProvider, threadsProvider, instagramProvider, telegramProvider, dcinsideProvider, youtubeProvider, naverMapProvider, kakaoMapProvider, naverBlogProvider, naverCafeProvider, tistoryProvider, velogProvider, linkedinProvider, algumonProvider, namuwikiProvider, wikipediaProvider, solvedacProvider, acmicpcProvider, codeforcesProvider, atcoderProvider, qojProvider, jungolProvider, arxivProvider, archiveProvider, sciencedirectProvider, commerceProvider, genericProvider];
|
|
24
31
|
const providerDefaults = {
|
|
25
32
|
hackernews: { targetFamily: "hackernews_post", priority: 90, capabilities: ["community_post", "supports_assets"], policy: { crossOriginMode: "allow" } },
|
|
26
33
|
reddit: { targetFamily: "reddit_post", priority: 90, capabilities: ["community_post", "supports_assets", "canonical_url"], policy: { crossOriginMode: "allow", preserveCanonicalUrl: true } },
|
|
@@ -30,6 +37,8 @@ const providerDefaults = {
|
|
|
30
37
|
telegram: { targetFamily: "telegram_post", priority: 90, capabilities: ["community_post", "supports_assets", "canonical_url"], policy: { crossOriginMode: "allow", preserveCanonicalUrl: true } },
|
|
31
38
|
dcinside: { targetFamily: "dcinside_post", priority: 90, capabilities: ["community_post", "requires_browser"], policy: { crossOriginMode: "same_origin" } },
|
|
32
39
|
youtube: { targetFamily: "youtube_video", priority: 95, capabilities: ["seed_metadata", "supports_assets", "canonical_url"], policy: { crossOriginMode: "allow", preserveCanonicalUrl: true } },
|
|
40
|
+
"naver-map": { targetFamily: "naver_map_place", priority: 92, capabilities: ["requires_browser", "supports_assets", "canonical_url"], policy: { preserveCanonicalUrl: true } },
|
|
41
|
+
"kakao-map": { targetFamily: "kakao_map_place", priority: 91, capabilities: ["requires_browser", "supports_assets", "canonical_url"], policy: { preserveCanonicalUrl: true } },
|
|
33
42
|
"naver-blog": { targetFamily: "naver_blog", priority: 90, capabilities: ["article_extract", "requires_browser", "canonical_url"], policy: { crossOriginMode: "same_origin", preserveCanonicalUrl: true } },
|
|
34
43
|
"naver-cafe": { targetFamily: "naver_cafe_post", priority: 90, capabilities: ["community_post", "requires_browser", "auth_likely"], policy: { crossOriginMode: "same_origin", likelyAuthwall: true } },
|
|
35
44
|
tistory: { targetFamily: "tistory_post", priority: 85, capabilities: ["article_extract", "canonical_url"], policy: { preserveCanonicalUrl: true } },
|
|
@@ -39,6 +48,11 @@ const providerDefaults = {
|
|
|
39
48
|
namuwiki: { targetFamily: "namuwiki_article", priority: 85, capabilities: ["article_extract", "canonical_url"], policy: { preserveCanonicalUrl: true } },
|
|
40
49
|
wikipedia: { targetFamily: "wikipedia_article", priority: 85, capabilities: ["article_extract", "canonical_url"], policy: { preserveCanonicalUrl: true } },
|
|
41
50
|
solvedac: { targetFamily: "solvedac_problem", priority: 90, capabilities: ["seed_metadata", "canonical_url"], policy: { preserveCanonicalUrl: true } },
|
|
51
|
+
acmicpc: { targetFamily: "generic", priority: 88, capabilities: ["article_extract", "canonical_url"], policy: { preserveCanonicalUrl: true } },
|
|
52
|
+
codeforces: { targetFamily: "generic", priority: 88, capabilities: ["article_extract", "canonical_url"], policy: { preserveCanonicalUrl: true } },
|
|
53
|
+
atcoder: { targetFamily: "generic", priority: 88, capabilities: ["article_extract", "canonical_url"], policy: { preserveCanonicalUrl: true } },
|
|
54
|
+
qoj: { targetFamily: "generic", priority: 88, capabilities: ["article_extract", "canonical_url"], policy: { preserveCanonicalUrl: true } },
|
|
55
|
+
jungol: { targetFamily: "generic", priority: 87, capabilities: ["article_extract", "canonical_url"], policy: { preserveCanonicalUrl: true } },
|
|
42
56
|
arxiv: { targetFamily: "generic", priority: 84, capabilities: ["article_extract", "supports_assets", "canonical_url"], policy: { preserveCanonicalUrl: true } },
|
|
43
57
|
archive: { targetFamily: "generic", priority: 84, capabilities: ["article_extract", "canonical_url"], policy: { preserveCanonicalUrl: true } },
|
|
44
58
|
sciencedirect: { targetFamily: "generic", priority: 84, capabilities: ["article_extract", "supports_assets", "canonical_url"], policy: { preserveCanonicalUrl: true } },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,MAAM,SAAS,GAAyB,CAAC,kBAAkB,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { normalizeContestPlatformPage } from "./cp-common.js";
|
|
2
|
+
function resolveJungolRoute(url) {
|
|
3
|
+
try {
|
|
4
|
+
const parsed = new URL(url);
|
|
5
|
+
const host = parsed.hostname.toLowerCase();
|
|
6
|
+
if (!(host === "jungol.co.kr" || host.endsWith(".jungol.co.kr")))
|
|
7
|
+
return null;
|
|
8
|
+
const path = parsed.pathname;
|
|
9
|
+
if (/^\/problem\/\d+\/?$/i.test(path) || /^\/bbs\/board\.php$/i.test(path) || /^\/pbank\/problem\.php$/i.test(path)) {
|
|
10
|
+
return {
|
|
11
|
+
platform: "jungol",
|
|
12
|
+
pageType: "problem",
|
|
13
|
+
title: "Jungol problem",
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
const userMatch = path.match(/^\/member\/([^/]+)\/?$/);
|
|
17
|
+
if (userMatch?.[1]) {
|
|
18
|
+
return {
|
|
19
|
+
platform: "jungol",
|
|
20
|
+
pageType: "profile",
|
|
21
|
+
title: `Jungol user ${userMatch[1]}`,
|
|
22
|
+
identifiers: { handle: userMatch[1] },
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
export const jungolProvider = {
|
|
32
|
+
id: "jungol",
|
|
33
|
+
matches: (url, target) => target === "generic" && resolveJungolRoute(url) !== null,
|
|
34
|
+
async normalize(context) {
|
|
35
|
+
const route = resolveJungolRoute(context.url);
|
|
36
|
+
return normalizeContestPlatformPage(context, route || {
|
|
37
|
+
platform: "jungol",
|
|
38
|
+
pageType: "page",
|
|
39
|
+
title: "Jungol page",
|
|
40
|
+
});
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=jungol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jungol.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/jungol.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAA6B,MAAM,gBAAgB,CAAA;AAExF,SAAS,kBAAkB,CAAC,GAAW;IACrC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;QAC1C,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;QAC7E,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC5B,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpH,OAAO;gBACL,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,gBAAgB;aACxB,CAAA;QACH,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;QACtD,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnB,OAAO;gBACL,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,eAAe,SAAS,CAAC,CAAC,CAAC,EAAE;gBACpC,WAAW,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE;aACtC,CAAA;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAuB;IAChD,EAAE,EAAE,QAAQ;IACZ,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,IAAI;IAClF,KAAK,CAAC,SAAS,CAAC,OAAO;QACrB,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC7C,OAAO,4BAA4B,CAAC,OAAO,EAAE,KAAK,IAAI;YACpD,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,aAAa;SACrB,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { absolutizeUrl, dedupeUrls, extractMetaDescription, extractMetaName, extractMetaProperty, extractTitleFromHtml, extractUrls, } from "../../shared.js";
|
|
2
|
+
import { extractCount, extractFloat, firstLine, htmlToLines, lineAfter, normalizeSpace, sectionAfter } from "./map-utils.js";
|
|
3
|
+
function cleanTitle(value) {
|
|
4
|
+
return normalizeSpace(value).replace(/\s*\|\s*카카오맵$/u, "");
|
|
5
|
+
}
|
|
6
|
+
function placeIdFromUrl(url) {
|
|
7
|
+
try {
|
|
8
|
+
const parsed = new URL(url);
|
|
9
|
+
return parsed.pathname.match(/^\/(\d+)\/?$/u)?.[1]
|
|
10
|
+
|| parsed.pathname.match(/^\/link\/map\/(\d+)\/?$/u)?.[1]
|
|
11
|
+
|| parsed.searchParams.get("itemId")
|
|
12
|
+
|| "";
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return "";
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function canonicalPlaceUrl(placeId) {
|
|
19
|
+
return placeId ? `https://place.map.kakao.com/${placeId}` : "";
|
|
20
|
+
}
|
|
21
|
+
function cleanAddress(value) {
|
|
22
|
+
return normalizeSpace(value.replace(/(?:복사|펼치기|상세보기|더보기).*$/u, ""));
|
|
23
|
+
}
|
|
24
|
+
function cleanPhone(value) {
|
|
25
|
+
const match = normalizeSpace(value).match(/(\d{2,4}-\d{3,4}(?:-\d{4})?)/);
|
|
26
|
+
return match?.[1] || "";
|
|
27
|
+
}
|
|
28
|
+
function parseCoordinates(html) {
|
|
29
|
+
const match = html.match(/staticmap\/og\?[^"']*m=([0-9.+-]+)%2C([0-9.+-]+)/i);
|
|
30
|
+
if (!match?.[1] || !match?.[2])
|
|
31
|
+
return {};
|
|
32
|
+
const longitude = Number.parseFloat(match[1]);
|
|
33
|
+
const latitude = Number.parseFloat(match[2]);
|
|
34
|
+
return Number.isFinite(latitude) && Number.isFinite(longitude)
|
|
35
|
+
? { latitude, longitude }
|
|
36
|
+
: {};
|
|
37
|
+
}
|
|
38
|
+
async function hydratePlace(context, placeId, currentLines) {
|
|
39
|
+
if (!placeId || !context.runBrowserSession) {
|
|
40
|
+
return {
|
|
41
|
+
html: context.active.content,
|
|
42
|
+
links: context.active.links,
|
|
43
|
+
method: "kakao_map_place",
|
|
44
|
+
resolvedUrl: context.resolvedUrl,
|
|
45
|
+
hydrated: false,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
const hasPlaceContent = currentLines.includes("장소명") && currentLines.includes("주소");
|
|
49
|
+
if (hasPlaceContent) {
|
|
50
|
+
return {
|
|
51
|
+
html: context.active.content,
|
|
52
|
+
links: context.active.links,
|
|
53
|
+
method: "kakao_map_place",
|
|
54
|
+
resolvedUrl: context.resolvedUrl,
|
|
55
|
+
hydrated: false,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
const targetUrl = canonicalPlaceUrl(placeId);
|
|
59
|
+
const result = await context.runBrowserSession({ url: targetUrl, timeoutMs: context.timeoutMs, waitUntil: "networkidle" });
|
|
60
|
+
if (!result.ok) {
|
|
61
|
+
context.errors.push(result.error);
|
|
62
|
+
return {
|
|
63
|
+
html: context.active.content,
|
|
64
|
+
links: context.active.links,
|
|
65
|
+
method: "kakao_map_place",
|
|
66
|
+
resolvedUrl: context.resolvedUrl,
|
|
67
|
+
hydrated: false,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
html: result.html,
|
|
72
|
+
links: result.links,
|
|
73
|
+
method: "kakao_map_place_browser",
|
|
74
|
+
resolvedUrl: result.final_url || targetUrl,
|
|
75
|
+
hydrated: true,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export const kakaoMapProvider = {
|
|
79
|
+
id: "kakao-map",
|
|
80
|
+
matches: (_url, target) => target === "kakao_map_place",
|
|
81
|
+
async normalize(context) {
|
|
82
|
+
const placeId = placeIdFromUrl(context.resolvedUrl || context.url) || placeIdFromUrl(context.url);
|
|
83
|
+
const hydrated = await hydratePlace(context, placeId, htmlToLines(context.active.content));
|
|
84
|
+
const html = hydrated.html;
|
|
85
|
+
const lines = htmlToLines(html);
|
|
86
|
+
const joined = lines.join(" ");
|
|
87
|
+
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);
|
|
90
|
+
const rating = extractFloat(joined, /별점\s*([0-9.]+)/u);
|
|
91
|
+
const reviewCount = extractCount(joined, /후기\s*([0-9][0-9,]*)\s*개?/u);
|
|
92
|
+
const hours = firstLine(lines, /영업\s*(?:중|종료|전)|24시간/u);
|
|
93
|
+
const website = lineAfter(lines, /^URL$/u);
|
|
94
|
+
const address = cleanAddress(lineAfter(lines, /^주소$/u));
|
|
95
|
+
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] || ""));
|
|
97
|
+
const facilities = sectionAfter(lines, /^시설정보$/u, [/^태그$/u, /^시간별 방문자 데이터/u, /^전체 후기\/평점$/u, /^후기 목록$/u, /^이 지역 친구공유 랭킹$/u], 8);
|
|
98
|
+
const tags = sectionAfter(lines, /^태그$/u, [/^시간별 방문자 데이터/u, /^전체 후기\/평점$/u, /^후기 목록$/u, /^이 지역 친구공유 랭킹$/u], 6)
|
|
99
|
+
.flatMap((line) => line.match(/#[^\s#]+/gu) || []);
|
|
100
|
+
const image = absolutizeUrl(extractMetaProperty(html, "og:image") || extractMetaName(html, "twitter:image"), canonicalUrl);
|
|
101
|
+
const description = normalizeSpace(extractMetaProperty(html, "og:description")
|
|
102
|
+
|| extractMetaDescription(html)
|
|
103
|
+
|| [category, rating !== null ? `별점 ${rating}` : "", reviewCount !== null ? `후기 ${reviewCount}` : ""].filter(Boolean).join(" · "));
|
|
104
|
+
const text = [
|
|
105
|
+
category ? `분류: ${category}` : "",
|
|
106
|
+
rating !== null ? `별점: ${rating}` : "",
|
|
107
|
+
reviewCount !== null ? `후기: ${reviewCount}` : "",
|
|
108
|
+
hours ? `영업정보: ${hours}` : "",
|
|
109
|
+
website ? `홈페이지: ${website}` : "",
|
|
110
|
+
address ? `주소: ${address}` : "",
|
|
111
|
+
transit ? `교통: ${transit}` : "",
|
|
112
|
+
phone ? `전화: ${phone}` : "",
|
|
113
|
+
facilities.length > 0 ? `시설: ${facilities.join(", ")}` : "",
|
|
114
|
+
tags.length > 0 ? `태그: ${tags.join(" ")}` : "",
|
|
115
|
+
].filter(Boolean).join("\n");
|
|
116
|
+
const post = {
|
|
117
|
+
url: canonicalUrl,
|
|
118
|
+
canonical_url: canonicalUrl,
|
|
119
|
+
title,
|
|
120
|
+
description,
|
|
121
|
+
text,
|
|
122
|
+
kind: "map_place",
|
|
123
|
+
site: "kakao_map",
|
|
124
|
+
...(placeId ? { place_id: placeId } : {}),
|
|
125
|
+
...(category ? { category } : {}),
|
|
126
|
+
...(rating !== null ? { rating } : {}),
|
|
127
|
+
...(reviewCount !== null ? { review_count: reviewCount } : {}),
|
|
128
|
+
...(hours ? { business_hours: hours } : {}),
|
|
129
|
+
...(website ? { website } : {}),
|
|
130
|
+
...(address ? { address } : {}),
|
|
131
|
+
...(transit ? { transit } : {}),
|
|
132
|
+
...(phone ? { phone } : {}),
|
|
133
|
+
...(facilities.length > 0 ? { facilities } : {}),
|
|
134
|
+
...(tags.length > 0 ? { tags } : {}),
|
|
135
|
+
...(image ? { image } : {}),
|
|
136
|
+
...parseCoordinates(html),
|
|
137
|
+
status: title || address || phone ? "ok" : "blocked_or_unavailable",
|
|
138
|
+
};
|
|
139
|
+
return {
|
|
140
|
+
post,
|
|
141
|
+
thread: [],
|
|
142
|
+
comments: [],
|
|
143
|
+
outbound_links: dedupeUrls([canonicalUrl, website, ...hydrated.links, ...extractUrls(html)].filter(Boolean)),
|
|
144
|
+
partial: !(title && (address || description || phone)),
|
|
145
|
+
errors: context.errors,
|
|
146
|
+
method: hydrated.method,
|
|
147
|
+
};
|
|
148
|
+
},
|
|
149
|
+
};
|
|
150
|
+
//# sourceMappingURL=kakao-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kakao-map.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/kakao-map.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { extractLinkedInActivityId, extractLinkedInPostData, isLinkedInPostUrl, isLinkedInProfileUrl, looksLikeLinkedInAuthwallPage, } from "../../linkedin.js";
|
|
2
|
-
import {
|
|
2
|
+
import { configEnabled, dedupeUrls, extractUrls } from "../../shared.js";
|
|
3
3
|
import { runSmartsearch } from "../../smartsearch.js";
|
|
4
4
|
import { fetchProviderJson, fetchProviderText } from "../provider-policy.js";
|
|
5
5
|
const USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36";
|
|
@@ -23,16 +23,16 @@ function profileLabel(url) {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
function archiveFallbackEnabled() {
|
|
26
|
-
return
|
|
26
|
+
return configEnabled("fetch.enableArchiveFallback", true);
|
|
27
27
|
}
|
|
28
28
|
function waybackEnabled() {
|
|
29
|
-
return
|
|
29
|
+
return configEnabled("fetch.enableWayback", true);
|
|
30
30
|
}
|
|
31
31
|
function archiveMdEnabled() {
|
|
32
|
-
return
|
|
32
|
+
return configEnabled("fetch.enableArchiveMd", true);
|
|
33
33
|
}
|
|
34
34
|
function jinaReaderEnabled() {
|
|
35
|
-
return
|
|
35
|
+
return configEnabled("fetch.enableJinaReader", false, { private: false });
|
|
36
36
|
}
|
|
37
37
|
function cleanMarkdownText(value) {
|
|
38
38
|
return String(value || "")
|