smart-web-mcp 0.19.0 → 0.20.1
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 +172 -0
- package/README.md +55 -5
- package/dist/cli.js +0 -0
- package/dist/dev.js +0 -0
- package/dist/index.js +0 -0
- package/dist/korea/coupang.js +116 -32
- package/dist/korea/coupang.js.map +1 -1
- package/dist/korea/fine-dust.d.ts +7 -0
- package/dist/korea/fine-dust.js +49 -1
- package/dist/korea/fine-dust.js.map +1 -1
- package/dist/korea/food-safety.d.ts +4 -1
- package/dist/korea/food-safety.js +119 -13
- package/dist/korea/food-safety.js.map +1 -1
- package/dist/korea/geeknews.js +2 -1
- package/dist/korea/geeknews.js.map +1 -1
- package/dist/korea/law.d.ts +8 -0
- package/dist/korea/law.js +53 -3
- package/dist/korea/law.js.map +1 -1
- package/dist/korea/proxy-client.d.ts +1 -0
- package/dist/korea/proxy-client.js +103 -8
- package/dist/korea/proxy-client.js.map +1 -1
- package/dist/korea/public-restroom.d.ts +7 -4
- package/dist/korea/public-restroom.js +71 -12
- package/dist/korea/public-restroom.js.map +1 -1
- package/dist/korea/real-estate.d.ts +7 -0
- package/dist/korea/real-estate.js +72 -5
- package/dist/korea/real-estate.js.map +1 -1
- package/dist/korea/stock.js +49 -20
- package/dist/korea/stock.js.map +1 -1
- package/dist/korea/weather.js +5 -0
- package/dist/korea/weather.js.map +1 -1
- package/dist/mcp-server.js +16 -10
- package/dist/mcp-server.js.map +1 -1
- package/dist/settings.d.ts +2 -0
- package/dist/settings.js +1 -0
- package/dist/settings.js.map +1 -1
- package/dist/smartcrawl-export.d.ts +36 -0
- package/dist/smartcrawl-export.js +74 -7
- package/dist/smartcrawl-export.js.map +1 -1
- package/dist/smartcrawl.js +19 -1
- package/dist/smartcrawl.js.map +1 -1
- package/dist/smartfetch/archive-fallback.js +18 -0
- package/dist/smartfetch/archive-fallback.js.map +1 -1
- package/dist/smartfetch/pipeline.js +5 -3
- package/dist/smartfetch/pipeline.js.map +1 -1
- package/dist/smartfetch/providers/cp-common.js +16 -3
- package/dist/smartfetch/providers/cp-common.js.map +1 -1
- package/dist/smartfetch/providers/naver-blog.js +49 -7
- package/dist/smartfetch/providers/naver-blog.js.map +1 -1
- package/dist/smartfetch/providers/naver-cafe.js +26 -7
- package/dist/smartfetch/providers/naver-cafe.js.map +1 -1
- package/dist/smartfetch/providers/wikidocs.js +42 -11
- package/dist/smartfetch/providers/wikidocs.js.map +1 -1
- package/dist/smartfetch.js +5 -2
- package/dist/smartfetch.js.map +1 -1
- package/dist/smartsearch.js +59 -0
- package/dist/smartsearch.js.map +1 -1
- package/package.json +20 -2
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
* Fine dust / air quality (에어코리아) via k-skill-proxy
|
|
3
3
|
* Proxy endpoint: GET /v1/fine-dust/report?regionHint=서울 강남구
|
|
4
4
|
*/
|
|
5
|
+
export type FineDustDataError = {
|
|
6
|
+
code: string;
|
|
7
|
+
status: number;
|
|
8
|
+
message: string;
|
|
9
|
+
};
|
|
5
10
|
export type FineDustResult = {
|
|
6
11
|
source: "fine-dust";
|
|
7
12
|
station: string;
|
|
@@ -15,6 +20,8 @@ export type FineDustResult = {
|
|
|
15
20
|
retrieval_method: string;
|
|
16
21
|
candidate_stations?: string[];
|
|
17
22
|
ambiguous?: boolean;
|
|
23
|
+
warning?: string;
|
|
24
|
+
data_error?: FineDustDataError;
|
|
18
25
|
};
|
|
19
26
|
export declare function runFineDust(options: {
|
|
20
27
|
regionHint?: string;
|
package/dist/korea/fine-dust.js
CHANGED
|
@@ -17,6 +17,24 @@ function gradeLabel(raw) {
|
|
|
17
17
|
const s = String(raw ?? "");
|
|
18
18
|
return GRADE_MAP[s] ?? s;
|
|
19
19
|
}
|
|
20
|
+
function compactDiagnosticMessage(message) {
|
|
21
|
+
try {
|
|
22
|
+
const parsed = JSON.parse(message);
|
|
23
|
+
if (parsed && typeof parsed === "object" && "message" in parsed) {
|
|
24
|
+
const nested = parsed.message;
|
|
25
|
+
if (typeof nested === "string" && nested.trim())
|
|
26
|
+
return compactDiagnosticMessage(nested);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
// Fall through to generic compaction.
|
|
31
|
+
}
|
|
32
|
+
return message
|
|
33
|
+
.replace(/<[^>]+>/g, " ")
|
|
34
|
+
.replace(/\s+/g, " ")
|
|
35
|
+
.trim()
|
|
36
|
+
.slice(0, 220);
|
|
37
|
+
}
|
|
20
38
|
export async function runFineDust(options) {
|
|
21
39
|
const { regionHint, stationName, timeoutMs = 15000 } = options;
|
|
22
40
|
const params = {};
|
|
@@ -31,7 +49,24 @@ export async function runFineDust(options) {
|
|
|
31
49
|
}
|
|
32
50
|
const result = await proxyGet("/v1/fine-dust/report", params, timeoutMs);
|
|
33
51
|
if (!result.ok) {
|
|
34
|
-
return {
|
|
52
|
+
return {
|
|
53
|
+
source: "fine-dust",
|
|
54
|
+
station: stationName ?? "",
|
|
55
|
+
region_hint: regionHint ?? stationName ?? "",
|
|
56
|
+
queried_at: new Date().toISOString(),
|
|
57
|
+
pm10: "",
|
|
58
|
+
pm10_grade: "",
|
|
59
|
+
pm25: "",
|
|
60
|
+
pm25_grade: "",
|
|
61
|
+
overall_grade: "",
|
|
62
|
+
retrieval_method: "proxy",
|
|
63
|
+
warning: "에어코리아 미세먼지 데이터를 지금 불러올 수 없습니다. 잠시 후 다시 시도하세요.",
|
|
64
|
+
data_error: {
|
|
65
|
+
code: result.code,
|
|
66
|
+
status: result.status,
|
|
67
|
+
message: compactDiagnosticMessage(result.message),
|
|
68
|
+
},
|
|
69
|
+
};
|
|
35
70
|
}
|
|
36
71
|
const d = result.data;
|
|
37
72
|
// Ambiguous location — multiple candidates returned
|
|
@@ -66,6 +101,19 @@ export async function runFineDust(options) {
|
|
|
66
101
|
};
|
|
67
102
|
}
|
|
68
103
|
export function renderFineDust(result) {
|
|
104
|
+
if (result.warning) {
|
|
105
|
+
const status = result.data_error?.status ? ` / HTTP ${result.data_error.status}` : "";
|
|
106
|
+
const lines = [
|
|
107
|
+
`# 미세먼지 — ${result.station || result.region_hint || "조회 불가"}`,
|
|
108
|
+
result.warning,
|
|
109
|
+
"",
|
|
110
|
+
"k-skill-proxy 또는 에어코리아 상류 서비스가 호출 한도나 일시적인 프록시 오류를 반환했을 수 있습니다. 잠시 후 다시 시도하거나 지역/측정소 이름을 확인해 주세요.",
|
|
111
|
+
];
|
|
112
|
+
if (result.data_error) {
|
|
113
|
+
lines.push(`진단: ${result.data_error.code}${status} - ${result.data_error.message}`);
|
|
114
|
+
}
|
|
115
|
+
return lines.join("\n");
|
|
116
|
+
}
|
|
69
117
|
if (result.ambiguous) {
|
|
70
118
|
const lines = [`# 미세먼지 — 위치 확인 필요`, `"${result.region_hint}"에 해당하는 측정소가 여러 개입니다.`, ""];
|
|
71
119
|
lines.push("측정소 후보:");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fine-dust.js","sourceRoot":"","sources":["../../src/korea/fine-dust.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"fine-dust.js","sourceRoot":"","sources":["../../src/korea/fine-dust.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Food safety info (식약처/식품안전나라) via k-skill-proxy
|
|
3
|
-
* Endpoints: /v1/mfds/food-safety/
|
|
3
|
+
* Endpoints: /v1/mfds/food-safety/search, /v1/mfds/food-safety/inspection-fail, /v1/mfds/food-safety/health-food-ingredient
|
|
4
4
|
*/
|
|
5
5
|
export type FoodSafetyResult = {
|
|
6
6
|
source: "food-safety";
|
|
@@ -8,6 +8,9 @@ export type FoodSafetyResult = {
|
|
|
8
8
|
query: string;
|
|
9
9
|
total: number;
|
|
10
10
|
items: Record<string, unknown>[];
|
|
11
|
+
warnings?: string[];
|
|
12
|
+
note?: string;
|
|
13
|
+
proxy?: unknown;
|
|
11
14
|
};
|
|
12
15
|
export declare function runFoodSafety(options: {
|
|
13
16
|
action: "recall" | "unfit" | "functional-ingredient";
|
|
@@ -1,24 +1,35 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Food safety info (식약처/식품안전나라) via k-skill-proxy
|
|
3
|
-
* Endpoints: /v1/mfds/food-safety/
|
|
3
|
+
* Endpoints: /v1/mfds/food-safety/search, /v1/mfds/food-safety/inspection-fail, /v1/mfds/food-safety/health-food-ingredient
|
|
4
4
|
*/
|
|
5
5
|
import { proxyGet } from "./proxy-client.js";
|
|
6
6
|
export async function runFoodSafety(options) {
|
|
7
7
|
const { action, query, limit = 20, timeoutMs = 20000 } = options;
|
|
8
8
|
const pathMap = {
|
|
9
|
-
recall: "/v1/mfds/food-safety/
|
|
10
|
-
unfit: "/v1/mfds/food-safety/
|
|
11
|
-
"functional-ingredient": "/v1/mfds/food-safety/
|
|
9
|
+
recall: "/v1/mfds/food-safety/search",
|
|
10
|
+
unfit: "/v1/mfds/food-safety/inspection-fail",
|
|
11
|
+
"functional-ingredient": "/v1/mfds/food-safety/health-food-ingredient",
|
|
12
12
|
};
|
|
13
13
|
const path = pathMap[action];
|
|
14
14
|
if (!path)
|
|
15
15
|
return { ok: false, message: `Unknown action: ${action}` };
|
|
16
|
-
const result = await proxyGet(path, {
|
|
16
|
+
const result = await proxyGet(path, { query, limit: String(limit) }, timeoutMs);
|
|
17
17
|
if (!result.ok)
|
|
18
18
|
return { ok: false, message: `Food safety lookup failed: ${result.message}` };
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
|
|
19
|
+
const rawItems = toRecordArray(result.data["items"]);
|
|
20
|
+
const items = action === "recall" ? preferRecallSource(rawItems) : rawItems;
|
|
21
|
+
const total = typeof result.data["total"] === "number" && items.length === rawItems.length ? result.data["total"] : items.length;
|
|
22
|
+
const warnings = toStringArray(result.data["warnings"]);
|
|
23
|
+
const note = asText(result.data["note"]);
|
|
24
|
+
const proxy = result.data["proxy"];
|
|
25
|
+
const foodSafetyResult = { source: "food-safety", action, query, total, items };
|
|
26
|
+
if (warnings)
|
|
27
|
+
foodSafetyResult.warnings = warnings;
|
|
28
|
+
if (note)
|
|
29
|
+
foodSafetyResult.note = note;
|
|
30
|
+
if (proxy !== undefined)
|
|
31
|
+
foodSafetyResult.proxy = proxy;
|
|
32
|
+
return foodSafetyResult;
|
|
22
33
|
}
|
|
23
34
|
export function renderFoodSafety(result) {
|
|
24
35
|
const actionLabel = {
|
|
@@ -33,18 +44,113 @@ export function renderFoodSafety(result) {
|
|
|
33
44
|
`검색어: "${result.query}" | 총 ${result.total}건`,
|
|
34
45
|
"",
|
|
35
46
|
];
|
|
47
|
+
if (result.warnings && result.warnings.length > 0)
|
|
48
|
+
lines.push(`주의: ${result.warnings.join("; ")}`);
|
|
49
|
+
if (result.note)
|
|
50
|
+
lines.push(`참고: ${result.note}`);
|
|
51
|
+
if ((result.warnings && result.warnings.length > 0) || result.note)
|
|
52
|
+
lines.push("");
|
|
36
53
|
if (result.items.length === 0) {
|
|
37
54
|
lines.push("조회 결과가 없습니다.");
|
|
38
55
|
return lines.join("\n");
|
|
39
56
|
}
|
|
40
57
|
for (const item of result.items.slice(0, 20)) {
|
|
41
|
-
|
|
42
|
-
const maker = String(item["bssh_nm"] ?? item["entp_name"] ?? item["ENTP_NM"] ?? "");
|
|
43
|
-
const reason = String(item["recalls_reason"] ?? item["unfit_reason"] ?? item["reason"] ?? item["RECALL_REASON"] ?? "");
|
|
44
|
-
const date = String(item["recalls_dt"] ?? item["dt"] ?? item["DATE"] ?? "");
|
|
45
|
-
lines.push(`- **${name}**${maker ? ` (${maker})` : ""}${reason ? ` — ${reason}` : ""}${date ? ` [${date}]` : ""}`);
|
|
58
|
+
lines.push(renderFoodSafetyItem(result.action, item));
|
|
46
59
|
}
|
|
47
60
|
lines.push("\n_식약처/식품안전나라 공식 데이터 기준_");
|
|
48
61
|
return lines.join("\n");
|
|
49
62
|
}
|
|
63
|
+
function toRecordArray(value) {
|
|
64
|
+
if (!Array.isArray(value))
|
|
65
|
+
return [];
|
|
66
|
+
return value.filter((item) => typeof item === "object" && item !== null && !Array.isArray(item));
|
|
67
|
+
}
|
|
68
|
+
function toStringArray(value) {
|
|
69
|
+
if (!Array.isArray(value))
|
|
70
|
+
return undefined;
|
|
71
|
+
const strings = value.map((item) => asText(item)).filter((item) => item.length > 0);
|
|
72
|
+
return strings.length > 0 ? strings : undefined;
|
|
73
|
+
}
|
|
74
|
+
function preferRecallSource(items) {
|
|
75
|
+
const recallItems = items.filter((item) => {
|
|
76
|
+
const source = asText(item["source"]).toLowerCase();
|
|
77
|
+
return source.includes("recall") || source.includes("회수");
|
|
78
|
+
});
|
|
79
|
+
return recallItems.length > 0 ? recallItems : items;
|
|
80
|
+
}
|
|
81
|
+
function renderFoodSafetyItem(action, item) {
|
|
82
|
+
if (action === "unfit")
|
|
83
|
+
return renderUnfitItem(item);
|
|
84
|
+
if (action === "functional-ingredient")
|
|
85
|
+
return renderFunctionalIngredientItem(item);
|
|
86
|
+
return renderRecallItem(item);
|
|
87
|
+
}
|
|
88
|
+
function renderRecallItem(item) {
|
|
89
|
+
const name = field(item, ["product_name", "prdlst_nm", "item_name", "name", "PRDUCT_NM"]) || "?";
|
|
90
|
+
const company = field(item, ["company_name", "bssh_nm", "entp_name", "ENTP_NM"]);
|
|
91
|
+
const reason = field(item, ["reason", "recalls_reason", "unfit_reason", "RECALL_REASON"]);
|
|
92
|
+
const date = field(item, ["created_at", "recalls_dt", "dt", "DATE"]);
|
|
93
|
+
const category = field(item, ["category", "product_category", "prdlst_report_no"]);
|
|
94
|
+
const distributionDeadline = field(item, ["distribution_deadline", "consume_by", "expiration_date"]);
|
|
95
|
+
const details = [
|
|
96
|
+
reason,
|
|
97
|
+
labeled("분류", category),
|
|
98
|
+
labeled("유통기한", distributionDeadline),
|
|
99
|
+
].filter(Boolean);
|
|
100
|
+
return `- **${name}**${company ? ` (${company})` : ""}${details.length > 0 ? ` — ${details.join("; ")}` : ""}${date ? ` [${date}]` : ""}`;
|
|
101
|
+
}
|
|
102
|
+
function renderUnfitItem(item) {
|
|
103
|
+
const name = field(item, ["product_name", "prdlst_nm", "item_name", "name", "PRDUCT_NM"]) || "?";
|
|
104
|
+
const category = field(item, ["product_category", "category"]);
|
|
105
|
+
const company = field(item, ["company_name", "bssh_nm", "entp_name", "ENTP_NM"]);
|
|
106
|
+
const failItem = field(item, ["fail_item", "unfit_item", "test_item"]);
|
|
107
|
+
const standard = field(item, ["standard", "criteria", "std"]);
|
|
108
|
+
const testResult = field(item, ["test_result", "result"]);
|
|
109
|
+
const date = field(item, ["created_at", "dt", "DATE"]);
|
|
110
|
+
const inspectionAgency = field(item, ["inspection_agency", "agency"]);
|
|
111
|
+
const context = [category, company].filter(Boolean).join(", ");
|
|
112
|
+
const details = [
|
|
113
|
+
labeled("부적합항목", failItem),
|
|
114
|
+
labeled("기준", standard),
|
|
115
|
+
labeled("결과", testResult),
|
|
116
|
+
labeled("기관", inspectionAgency),
|
|
117
|
+
].filter(Boolean);
|
|
118
|
+
return `- **${name}**${context ? ` (${context})` : ""}${details.length > 0 ? ` — ${details.join("; ")}` : ""}${date ? ` [${date}]` : ""}`;
|
|
119
|
+
}
|
|
120
|
+
function renderFunctionalIngredientItem(item) {
|
|
121
|
+
const name = field(item, ["ingredient_name", "raw_material_name", "name"]) || "?";
|
|
122
|
+
const approvalNumber = field(item, ["approval_number", "recognition_number", "report_no"]);
|
|
123
|
+
const functionality = field(item, ["functionality", "function", "functional_content"]);
|
|
124
|
+
const dailyIntake = field(item, ["daily_intake", "daily_intake_amount", "intake_amount"]) || rangeField(item, "daily_intake_low", "daily_intake_high") || rangeField(item, "daily_intake_min", "daily_intake_max");
|
|
125
|
+
const precautions = field(item, ["precautions", "intake_precautions", "caution"]);
|
|
126
|
+
const details = [
|
|
127
|
+
functionality,
|
|
128
|
+
labeled("일일섭취량", dailyIntake),
|
|
129
|
+
labeled("주의", precautions),
|
|
130
|
+
].filter(Boolean);
|
|
131
|
+
return `- **${name}**${approvalNumber ? ` (${approvalNumber})` : ""}${details.length > 0 ? ` — ${details.join("; ")}` : ""}`;
|
|
132
|
+
}
|
|
133
|
+
function field(item, keys) {
|
|
134
|
+
for (const key of keys) {
|
|
135
|
+
const value = asText(item[key]);
|
|
136
|
+
if (value)
|
|
137
|
+
return value;
|
|
138
|
+
}
|
|
139
|
+
return "";
|
|
140
|
+
}
|
|
141
|
+
function rangeField(item, minKey, maxKey) {
|
|
142
|
+
const min = asText(item[minKey]);
|
|
143
|
+
const max = asText(item[maxKey]);
|
|
144
|
+
if (min && max)
|
|
145
|
+
return `${min}~${max}`;
|
|
146
|
+
return min || max;
|
|
147
|
+
}
|
|
148
|
+
function labeled(label, value) {
|
|
149
|
+
return value ? `${label}: ${value}` : "";
|
|
150
|
+
}
|
|
151
|
+
function asText(value) {
|
|
152
|
+
if (value === null || value === undefined)
|
|
153
|
+
return "";
|
|
154
|
+
return String(value).trim();
|
|
155
|
+
}
|
|
50
156
|
//# sourceMappingURL=food-safety.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"food-safety.js","sourceRoot":"","sources":["../../src/korea/food-safety.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"food-safety.js","sourceRoot":"","sources":["../../src/korea/food-safety.ts"],"names":[],"mappings":"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"}
|
package/dist/korea/geeknews.js
CHANGED
|
@@ -124,7 +124,8 @@ export async function runGeeknews(options) {
|
|
|
124
124
|
};
|
|
125
125
|
}
|
|
126
126
|
export function renderGeeknews(result) {
|
|
127
|
-
const
|
|
127
|
+
const countLabel = result.items.length < result.total ? `${result.items.length} of ${result.total}` : `${result.total}`;
|
|
128
|
+
const lines = [`# GeekNews (${countLabel} items)`];
|
|
128
129
|
if (result.query)
|
|
129
130
|
lines.push(`Query: ${result.query}`);
|
|
130
131
|
lines.push("");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geeknews.js","sourceRoot":"","sources":["../../src/korea/geeknews.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"geeknews.js","sourceRoot":"","sources":["../../src/korea/geeknews.ts"],"names":[],"mappings":"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"}
|
package/dist/korea/law.d.ts
CHANGED
|
@@ -18,6 +18,13 @@ export type LawArticle = {
|
|
|
18
18
|
article: string;
|
|
19
19
|
content: string;
|
|
20
20
|
};
|
|
21
|
+
export type LawUnavailable = {
|
|
22
|
+
code: "beopmang_origin_unavailable";
|
|
23
|
+
status: number;
|
|
24
|
+
reason: "origin_530";
|
|
25
|
+
message: string;
|
|
26
|
+
next_action: string;
|
|
27
|
+
};
|
|
21
28
|
export type LawSearchResult = {
|
|
22
29
|
source: "korean-law";
|
|
23
30
|
action: "search" | "get-text" | "search-precedents";
|
|
@@ -26,6 +33,7 @@ export type LawSearchResult = {
|
|
|
26
33
|
items?: LawItem[];
|
|
27
34
|
article?: LawArticle;
|
|
28
35
|
precedents?: Record<string, unknown>[];
|
|
36
|
+
unavailable?: LawUnavailable;
|
|
29
37
|
};
|
|
30
38
|
export declare function runLaw(options: {
|
|
31
39
|
action: "search" | "get-text" | "search-precedents";
|
package/dist/korea/law.js
CHANGED
|
@@ -5,13 +5,46 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { httpGet } from "./proxy-client.js";
|
|
7
7
|
const BEOPMANG_BASE = "https://api.beopmang.org/api/v4";
|
|
8
|
+
function isOriginUnavailable(error) {
|
|
9
|
+
return error.status === 530 ||
|
|
10
|
+
error.code === "http_530" ||
|
|
11
|
+
/error code:\s*1033/i.test(error.message) ||
|
|
12
|
+
/(?:upstream[- ]origin|origin)\s*530/i.test(error.message);
|
|
13
|
+
}
|
|
14
|
+
function unavailableResult(action, query, error) {
|
|
15
|
+
return {
|
|
16
|
+
source: "korean-law",
|
|
17
|
+
action,
|
|
18
|
+
query,
|
|
19
|
+
total: 0,
|
|
20
|
+
unavailable: {
|
|
21
|
+
code: "beopmang_origin_unavailable",
|
|
22
|
+
status: error.status,
|
|
23
|
+
reason: "origin_530",
|
|
24
|
+
message: "법망 upstream origin is temporarily unavailable.",
|
|
25
|
+
next_action: "잠시 후 재시도하거나, api.beopmang.org 복구 전까지 다른 공식 한국 법령 정보 출처를 사용하세요.",
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function normalizePrecedent(item) {
|
|
30
|
+
return {
|
|
31
|
+
id: String(item["case_id"] ?? item["precedent_id"] ?? item["id"] ?? ""),
|
|
32
|
+
title: String(item["title"] ?? item["case_title"] ?? item["case_name"] ?? item["name"] ?? ""),
|
|
33
|
+
case_number: String(item["case_number"] ?? item["case_no"] ?? item["number"] ?? ""),
|
|
34
|
+
court: String(item["court"] ?? item["court_name"] ?? ""),
|
|
35
|
+
date: String(item["date"] ?? item["judgment_date"] ?? item["judgement_date"] ?? ""),
|
|
36
|
+
summary: String(item["summary"] ?? item["snippet"] ?? item["abstract"] ?? ""),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
8
39
|
export async function runLaw(options) {
|
|
9
40
|
const { action, query, law_id, article, limit = 10, timeoutMs = 20000 } = options;
|
|
10
41
|
if (action === "search") {
|
|
11
42
|
if (!query)
|
|
12
43
|
return { ok: false, message: "검색어(query)가 필요합니다." };
|
|
13
|
-
const url = `${BEOPMANG_BASE}/law?action=search&q=${encodeURIComponent(query)}&limit=${limit}`;
|
|
44
|
+
const url = `${BEOPMANG_BASE}/law?action=search&mode=keyword&q=${encodeURIComponent(query)}&limit=${limit}`;
|
|
14
45
|
const result = await httpGet(url, {}, timeoutMs);
|
|
46
|
+
if (!result.ok && isOriginUnavailable(result))
|
|
47
|
+
return unavailableResult(action, query, result);
|
|
15
48
|
if (!result.ok)
|
|
16
49
|
return { ok: false, message: `Law search failed: ${result.message}` };
|
|
17
50
|
const items = (result.data["laws"] ?? result.data["items"] ?? result.data["results"] ?? [])
|
|
@@ -33,6 +66,8 @@ export async function runLaw(options) {
|
|
|
33
66
|
params.set("article", article);
|
|
34
67
|
const url = `${BEOPMANG_BASE}/law?${params.toString()}`;
|
|
35
68
|
const result = await httpGet(url, {}, timeoutMs);
|
|
69
|
+
if (!result.ok && isOriginUnavailable(result))
|
|
70
|
+
return unavailableResult(action, article ?? "전문", result);
|
|
36
71
|
if (!result.ok)
|
|
37
72
|
return { ok: false, message: `Law text lookup failed: ${result.message}` };
|
|
38
73
|
const d = result.data;
|
|
@@ -47,14 +82,29 @@ export async function runLaw(options) {
|
|
|
47
82
|
// search-precedents
|
|
48
83
|
if (!query)
|
|
49
84
|
return { ok: false, message: "검색어(query)가 필요합니다." };
|
|
50
|
-
const url = `${BEOPMANG_BASE}/
|
|
85
|
+
const url = `${BEOPMANG_BASE}/case?action=search&q=${encodeURIComponent(query)}&limit=${limit}`;
|
|
51
86
|
const result = await httpGet(url, {}, timeoutMs);
|
|
87
|
+
if (!result.ok && isOriginUnavailable(result))
|
|
88
|
+
return unavailableResult(action, query, result);
|
|
52
89
|
if (!result.ok)
|
|
53
90
|
return { ok: false, message: `Precedent search failed: ${result.message}` };
|
|
54
|
-
const precedents = (result.data["precedents"] ?? result.data["items"] ?? [])
|
|
91
|
+
const precedents = (result.data["cases"] ?? result.data["precedents"] ?? result.data["items"] ?? result.data["results"] ?? [])
|
|
92
|
+
.map(normalizePrecedent);
|
|
55
93
|
return { source: "korean-law", action: "search-precedents", query, total: precedents.length, precedents };
|
|
56
94
|
}
|
|
57
95
|
export function renderLaw(result) {
|
|
96
|
+
if (result.unavailable) {
|
|
97
|
+
const label = result.action === "search-precedents" ? "판례 검색" : result.action === "get-text" ? "법령 본문 조회" : "법령 검색";
|
|
98
|
+
return [
|
|
99
|
+
`# ${label} — "${result.query}"`,
|
|
100
|
+
"",
|
|
101
|
+
"법망(api.beopmang.org)을 일시적으로 사용할 수 없습니다.",
|
|
102
|
+
`원인: ${result.unavailable.reason} (${result.unavailable.code})`,
|
|
103
|
+
`권장 다음 조치: ${result.unavailable.next_action}`,
|
|
104
|
+
"",
|
|
105
|
+
"_법망(api.beopmang.org) upstream 상태 기준_",
|
|
106
|
+
].join("\n");
|
|
107
|
+
}
|
|
58
108
|
if (result.action === "search") {
|
|
59
109
|
const lines = [`# 법령 검색 — "${result.query}"`, `${result.total}건`, ""];
|
|
60
110
|
for (const item of result.items ?? []) {
|
package/dist/korea/law.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"law.js","sourceRoot":"","sources":["../../src/korea/law.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE3C,MAAM,aAAa,GAAG,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"law.js","sourceRoot":"","sources":["../../src/korea/law.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ export type KrResult<T> = {
|
|
|
15
15
|
} | KrError;
|
|
16
16
|
export declare function proxyGet<T = unknown>(path: string, params?: Record<string, string>, timeoutMs?: number): Promise<KrResult<T>>;
|
|
17
17
|
export declare function httpGetText(url: string, headers?: Record<string, string>, timeoutMs?: number): Promise<KrResult<string>>;
|
|
18
|
+
export declare function httpGetDecodedText(url: string, headers?: Record<string, string>, timeoutMs?: number, encodings?: string[]): Promise<KrResult<string>>;
|
|
18
19
|
export declare function httpGet<T = unknown>(url: string, headers?: Record<string, string>, timeoutMs?: number): Promise<KrResult<T>>;
|
|
19
20
|
export declare function httpPost<T = unknown>(url: string, body: string, headers?: Record<string, string>, timeoutMs?: number): Promise<KrResult<T>>;
|
|
20
21
|
export declare function formatError(err: KrError): string;
|