kordoc 4.0.4 → 4.0.5
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/dist/{-Q4ZCVQFI.js → -QVHGOOCR.js} +7 -7
- package/dist/{chunk-KA5AN73R.js → chunk-6BABRVOJ.js} +2 -2
- package/dist/{chunk-ZJXR4PWY.js → chunk-6PED5OOG.js} +5 -4
- package/dist/{chunk-ZJXR4PWY.js.map → chunk-6PED5OOG.js.map} +1 -1
- package/dist/{chunk-NIW7CZYX.cjs → chunk-6R5FY47W.cjs} +5 -4
- package/dist/chunk-6R5FY47W.cjs.map +1 -0
- package/dist/{chunk-TXNRIVWA.js → chunk-6WDPB4SN.js} +3 -3
- package/dist/{chunk-KSVLQ5BC.js → chunk-FKK4K53F.js} +5 -4
- package/dist/{chunk-KSVLQ5BC.js.map → chunk-FKK4K53F.js.map} +1 -1
- package/dist/{chunk-S3KGEEBQ.js → chunk-OMERK4AW.js} +3 -3
- package/dist/{chunk-DKMKJMR6.js → chunk-QK2G34WE.js} +2 -2
- package/dist/{chunk-MLNHZN32.js → chunk-Z6Q3YG22.js} +58 -15
- package/dist/chunk-Z6Q3YG22.js.map +1 -0
- package/dist/{chunk-2RIOXYGA.js → chunk-ZGMMLYAL.js} +2 -2
- package/dist/cli.js +13 -13
- package/dist/index.cjs +406 -363
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.js +53 -10
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +10 -10
- package/dist/{parser-2ZUTCU2G.cjs → parser-2V5SPTU7.cjs} +14 -14
- package/dist/{parser-2ZUTCU2G.cjs.map → parser-2V5SPTU7.cjs.map} +1 -1
- package/dist/{parser-46JGSTPR.js → parser-3MAYZUJX.js} +3 -3
- package/dist/{parser-TLCC67W6.js → parser-YSHZC5FQ.js} +2 -2
- package/dist/{profile-io-MRVIJ5T4.js → profile-io-3EECPDHG.js} +3 -3
- package/dist/render-MJSQ4TG2.js +10 -0
- package/dist/seal-R3POFNOU.js +10 -0
- package/dist/{watch-NZNVJ4YD.js → watch-7MHSCKEQ.js} +7 -7
- package/package.json +1 -1
- package/dist/chunk-MLNHZN32.js.map +0 -1
- package/dist/chunk-NIW7CZYX.cjs.map +0 -1
- package/dist/render-TTOG6CHW.js +0 -10
- package/dist/seal-NMLZ3M3K.js +0 -10
- /package/dist/{-Q4ZCVQFI.js.map → -QVHGOOCR.js.map} +0 -0
- /package/dist/{chunk-KA5AN73R.js.map → chunk-6BABRVOJ.js.map} +0 -0
- /package/dist/{chunk-TXNRIVWA.js.map → chunk-6WDPB4SN.js.map} +0 -0
- /package/dist/{chunk-S3KGEEBQ.js.map → chunk-OMERK4AW.js.map} +0 -0
- /package/dist/{chunk-DKMKJMR6.js.map → chunk-QK2G34WE.js.map} +0 -0
- /package/dist/{chunk-2RIOXYGA.js.map → chunk-ZGMMLYAL.js.map} +0 -0
- /package/dist/{parser-46JGSTPR.js.map → parser-3MAYZUJX.js.map} +0 -0
- /package/dist/{parser-TLCC67W6.js.map → parser-YSHZC5FQ.js.map} +0 -0
- /package/dist/{profile-io-MRVIJ5T4.js.map → profile-io-3EECPDHG.js.map} +0 -0
- /package/dist/{render-TTOG6CHW.js.map → render-MJSQ4TG2.js.map} +0 -0
- /package/dist/{seal-NMLZ3M3K.js.map → seal-R3POFNOU.js.map} +0 -0
- /package/dist/{watch-NZNVJ4YD.js.map → watch-7MHSCKEQ.js.map} +0 -0
package/dist/mcp.js
CHANGED
|
@@ -31,24 +31,24 @@ import {
|
|
|
31
31
|
patchHwp,
|
|
32
32
|
patchHwpx,
|
|
33
33
|
unknownFontWarnings
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-Z6Q3YG22.js";
|
|
35
35
|
import {
|
|
36
36
|
blocksToMarkdown
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-6PED5OOG.js";
|
|
38
38
|
import {
|
|
39
39
|
detectFormat,
|
|
40
40
|
detectZipFormat
|
|
41
41
|
} from "./chunk-MEPHGCPQ.js";
|
|
42
42
|
import "./chunk-MOL7MDBG.js";
|
|
43
|
-
import "./chunk-
|
|
44
|
-
import "./chunk-
|
|
45
|
-
import "./chunk-
|
|
43
|
+
import "./chunk-6WDPB4SN.js";
|
|
44
|
+
import "./chunk-OMERK4AW.js";
|
|
45
|
+
import "./chunk-QK2G34WE.js";
|
|
46
46
|
import {
|
|
47
47
|
KordocError,
|
|
48
48
|
VERSION,
|
|
49
49
|
sanitizeError,
|
|
50
50
|
toArrayBuffer
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-6BABRVOJ.js";
|
|
52
52
|
|
|
53
53
|
// src/mcp.ts
|
|
54
54
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
@@ -224,7 +224,7 @@ server.tool(
|
|
|
224
224
|
break;
|
|
225
225
|
case "pdf":
|
|
226
226
|
try {
|
|
227
|
-
const { extractPdfMetadataOnly } = await import("./parser-
|
|
227
|
+
const { extractPdfMetadataOnly } = await import("./parser-3MAYZUJX.js");
|
|
228
228
|
metadata = await extractPdfMetadataOnly(buffer);
|
|
229
229
|
} catch {
|
|
230
230
|
metadata = void 0;
|
|
@@ -576,7 +576,7 @@ server.tool(
|
|
|
576
576
|
}
|
|
577
577
|
const image = new Uint8Array(readFileSync(imgResolved));
|
|
578
578
|
const ext = extname(image_path).slice(1).toLowerCase() || "png";
|
|
579
|
-
const { placeSealHwpx } = await import("./seal-
|
|
579
|
+
const { placeSealHwpx } = await import("./seal-R3POFNOU.js");
|
|
580
580
|
const result = await placeSealHwpx(buffer, [{
|
|
581
581
|
anchor,
|
|
582
582
|
occurrence,
|
|
@@ -671,7 +671,7 @@ server.tool(
|
|
|
671
671
|
async ({ hwpx_path, output_path }) => {
|
|
672
672
|
try {
|
|
673
673
|
const { buffer } = readValidatedFile(hwpx_path);
|
|
674
|
-
const { hwpxToProfile } = await import("./-
|
|
674
|
+
const { hwpxToProfile } = await import("./-QVHGOOCR.js");
|
|
675
675
|
const profile = await hwpxToProfile(buffer);
|
|
676
676
|
const out = resolve(output_path);
|
|
677
677
|
mkdirSync(dirname(out), { recursive: true });
|
|
@@ -755,7 +755,7 @@ server.tool(
|
|
|
755
755
|
}
|
|
756
756
|
let profile;
|
|
757
757
|
if (profile_path) {
|
|
758
|
-
const { parseFormatProfileJson } = await import("./profile-io-
|
|
758
|
+
const { parseFormatProfileJson } = await import("./profile-io-3EECPDHG.js");
|
|
759
759
|
profile = parseFormatProfileJson(readFileSync(resolve(profile_path), "utf-8"));
|
|
760
760
|
}
|
|
761
761
|
const buf = await markdownToHwpx(markdown, gongmun || profile ? { ...gongmun ? { gongmun } : {}, ...profile ? { profile } : {} } : void 0);
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunk6R5FY47Wcjs = require('./chunk-6R5FY47W.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
var _chunkDCZVOIEOcjs = require('./chunk-DCZVOIEO.cjs');
|
|
@@ -2236,14 +2236,14 @@ function isProseSpread(items) {
|
|
|
2236
2236
|
for (let i = 1; i < sorted.length; i++) {
|
|
2237
2237
|
gaps.push(sorted[i].x - (sorted[i - 1].x + sorted[i - 1].w));
|
|
2238
2238
|
}
|
|
2239
|
-
const maxGap =
|
|
2239
|
+
const maxGap = _chunk6R5FY47Wcjs.safeMax.call(void 0, gaps);
|
|
2240
2240
|
const avgLen = items.reduce((s, i) => s + i.text.length, 0) / items.length;
|
|
2241
2241
|
return maxGap < 40 && avgLen < 5;
|
|
2242
2242
|
}
|
|
2243
2243
|
function detectColumns(yLines) {
|
|
2244
2244
|
const allItems = yLines.flat();
|
|
2245
2245
|
if (allItems.length === 0) return null;
|
|
2246
|
-
const pageWidth =
|
|
2246
|
+
const pageWidth = _chunk6R5FY47Wcjs.safeMax.call(void 0, allItems.map((i) => i.x + i.w)) - _chunk6R5FY47Wcjs.safeMin.call(void 0, allItems.map((i) => i.x));
|
|
2247
2247
|
if (pageWidth < 100) return null;
|
|
2248
2248
|
let bigoLineIdx = -1;
|
|
2249
2249
|
for (let i = 0; i < yLines.length; i++) {
|
|
@@ -2465,9 +2465,9 @@ function detectHeadings(blocks, medianFontSize) {
|
|
|
2465
2465
|
if (/^\d+$/.test(text)) continue;
|
|
2466
2466
|
const ratio = block.style.fontSize / medianFontSize;
|
|
2467
2467
|
let level = 0;
|
|
2468
|
-
if (ratio >=
|
|
2469
|
-
else if (ratio >=
|
|
2470
|
-
else if (ratio >=
|
|
2468
|
+
if (ratio >= _chunk6R5FY47Wcjs.HEADING_RATIO_H1) level = 1;
|
|
2469
|
+
else if (ratio >= _chunk6R5FY47Wcjs.HEADING_RATIO_H2) level = 2;
|
|
2470
|
+
else if (ratio >= _chunk6R5FY47Wcjs.HEADING_RATIO_H3) level = 3;
|
|
2471
2471
|
if (level > 0) {
|
|
2472
2472
|
block.type = "heading";
|
|
2473
2473
|
block.level = level;
|
|
@@ -3043,7 +3043,7 @@ function extractBlocksWithGrids(items, pageNum, grids, horizontals, verticals) {
|
|
|
3043
3043
|
}
|
|
3044
3044
|
if (remaining.length > 0) {
|
|
3045
3045
|
const allY = remaining.map((i) => i.y);
|
|
3046
|
-
const pageH =
|
|
3046
|
+
const pageH = _chunk6R5FY47Wcjs.safeMax.call(void 0, allY) - _chunk6R5FY47Wcjs.safeMin.call(void 0, allY);
|
|
3047
3047
|
const groups = xyCutOrder(remaining, Math.max(15, pageH * 0.03));
|
|
3048
3048
|
const textBlocks = [];
|
|
3049
3049
|
for (const group of groups) {
|
|
@@ -3219,7 +3219,7 @@ function extractPageBlocksFallback(items, pageNum, fullPage = false) {
|
|
|
3219
3219
|
blocks.push({ type: "paragraph", text: tableText, pageNumber: pageNum, bbox, style: dominantStyle(items) });
|
|
3220
3220
|
} else {
|
|
3221
3221
|
const allY = items.map((i) => i.y);
|
|
3222
|
-
const pageHeight =
|
|
3222
|
+
const pageHeight = _chunk6R5FY47Wcjs.safeMax.call(void 0, allY) - _chunk6R5FY47Wcjs.safeMin.call(void 0, allY);
|
|
3223
3223
|
const gapThreshold = Math.max(15, pageHeight * 0.03);
|
|
3224
3224
|
const orderedGroups = proseCutX !== null ? splitTwoColumnProse(items, proseCutX) : xyCutOrder(items, gapThreshold);
|
|
3225
3225
|
for (const group of orderedGroups) {
|
|
@@ -3472,7 +3472,7 @@ async function loadPdfWithTimeout(buffer) {
|
|
|
3472
3472
|
new Promise((_, reject) => {
|
|
3473
3473
|
timer = setTimeout(() => {
|
|
3474
3474
|
loadingTask.destroy();
|
|
3475
|
-
reject(new (0,
|
|
3475
|
+
reject(new (0, _chunk6R5FY47Wcjs.KordocError)("PDF \uB85C\uB529 \uD0C0\uC784\uC544\uC6C3 (30\uCD08 \uCD08\uACFC)"));
|
|
3476
3476
|
}, PDF_LOAD_TIMEOUT_MS);
|
|
3477
3477
|
})
|
|
3478
3478
|
]);
|
|
@@ -3485,7 +3485,7 @@ async function parsePdfDocument(buffer, options) {
|
|
|
3485
3485
|
const doc = await loadPdfWithTimeout(buffer);
|
|
3486
3486
|
try {
|
|
3487
3487
|
const pageCount = doc.numPages;
|
|
3488
|
-
if (pageCount === 0) throw new (0,
|
|
3488
|
+
if (pageCount === 0) throw new (0, _chunk6R5FY47Wcjs.KordocError)("PDF\uC5D0 \uD398\uC774\uC9C0\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.");
|
|
3489
3489
|
const metadata = { pageCount };
|
|
3490
3490
|
await extractPdfMetadata(doc, metadata);
|
|
3491
3491
|
const blocks = [];
|
|
@@ -3545,11 +3545,11 @@ async function parsePdfDocument(buffer, options) {
|
|
|
3545
3545
|
pageText += pageText ? "\n" + t : t;
|
|
3546
3546
|
}
|
|
3547
3547
|
pageQuality.push(computePageQuality(i, pageText));
|
|
3548
|
-
if (totalTextBytes > MAX_TOTAL_TEXT) throw new (0,
|
|
3548
|
+
if (totalTextBytes > MAX_TOTAL_TEXT) throw new (0, _chunk6R5FY47Wcjs.KordocError)("\uD14D\uC2A4\uD2B8 \uCD94\uCD9C \uD06C\uAE30 \uCD08\uACFC");
|
|
3549
3549
|
parsedPages++;
|
|
3550
3550
|
_optionalChain([options, 'optionalAccess', _36 => _36.onProgress, 'optionalCall', _37 => _37(parsedPages, totalTarget)]);
|
|
3551
3551
|
} catch (pageErr) {
|
|
3552
|
-
if (pageErr instanceof
|
|
3552
|
+
if (pageErr instanceof _chunk6R5FY47Wcjs.KordocError) throw pageErr;
|
|
3553
3553
|
warnings.push({ page: i, message: `\uD398\uC774\uC9C0 ${i} \uD30C\uC2F1 \uC2E4\uD328: ${pageErr instanceof Error ? pageErr.message : "\uC54C \uC218 \uC5C6\uB294 \uC624\uB958"}`, code: "PARTIAL_PARSE" });
|
|
3554
3554
|
}
|
|
3555
3555
|
}
|
|
@@ -3617,7 +3617,7 @@ async function parsePdfDocument(buffer, options) {
|
|
|
3617
3617
|
detectKoreanListBlocks(blocks);
|
|
3618
3618
|
const outline = blocks.filter((b) => b.type === "heading" && b.level && b.text).map((b) => ({ level: b.level, text: b.text, pageNumber: b.pageNumber }));
|
|
3619
3619
|
sanitizeBlockControlChars(blocks);
|
|
3620
|
-
let markdown = cleanPdfText(
|
|
3620
|
+
let markdown = cleanPdfText(_chunk6R5FY47Wcjs.blocksToMarkdown.call(void 0, blocks));
|
|
3621
3621
|
return {
|
|
3622
3622
|
markdown,
|
|
3623
3623
|
blocks,
|
|
@@ -3676,4 +3676,4 @@ async function extractPdfMetadataOnly(buffer) {
|
|
|
3676
3676
|
|
|
3677
3677
|
|
|
3678
3678
|
exports.cleanPdfText = cleanPdfText; exports.detectKoreanListBlocks = detectKoreanListBlocks; exports.detectTableCaptions = detectTableCaptions; exports.extractPdfMetadataOnly = extractPdfMetadataOnly; exports.mergeCrossPageTables = mergeCrossPageTables; exports.parsePdfDocument = parsePdfDocument; exports.removeHeaderFooterBlocks = removeHeaderFooterBlocks;
|
|
3679
|
-
//# sourceMappingURL=parser-
|
|
3679
|
+
//# sourceMappingURL=parser-2V5SPTU7.cjs.map
|