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.
Files changed (47) hide show
  1. package/dist/{-Q4ZCVQFI.js → -QVHGOOCR.js} +7 -7
  2. package/dist/{chunk-KA5AN73R.js → chunk-6BABRVOJ.js} +2 -2
  3. package/dist/{chunk-ZJXR4PWY.js → chunk-6PED5OOG.js} +5 -4
  4. package/dist/{chunk-ZJXR4PWY.js.map → chunk-6PED5OOG.js.map} +1 -1
  5. package/dist/{chunk-NIW7CZYX.cjs → chunk-6R5FY47W.cjs} +5 -4
  6. package/dist/chunk-6R5FY47W.cjs.map +1 -0
  7. package/dist/{chunk-TXNRIVWA.js → chunk-6WDPB4SN.js} +3 -3
  8. package/dist/{chunk-KSVLQ5BC.js → chunk-FKK4K53F.js} +5 -4
  9. package/dist/{chunk-KSVLQ5BC.js.map → chunk-FKK4K53F.js.map} +1 -1
  10. package/dist/{chunk-S3KGEEBQ.js → chunk-OMERK4AW.js} +3 -3
  11. package/dist/{chunk-DKMKJMR6.js → chunk-QK2G34WE.js} +2 -2
  12. package/dist/{chunk-MLNHZN32.js → chunk-Z6Q3YG22.js} +58 -15
  13. package/dist/chunk-Z6Q3YG22.js.map +1 -0
  14. package/dist/{chunk-2RIOXYGA.js → chunk-ZGMMLYAL.js} +2 -2
  15. package/dist/cli.js +13 -13
  16. package/dist/index.cjs +406 -363
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.d.cts +7 -1
  19. package/dist/index.d.ts +7 -1
  20. package/dist/index.js +53 -10
  21. package/dist/index.js.map +1 -1
  22. package/dist/mcp.js +10 -10
  23. package/dist/{parser-2ZUTCU2G.cjs → parser-2V5SPTU7.cjs} +14 -14
  24. package/dist/{parser-2ZUTCU2G.cjs.map → parser-2V5SPTU7.cjs.map} +1 -1
  25. package/dist/{parser-46JGSTPR.js → parser-3MAYZUJX.js} +3 -3
  26. package/dist/{parser-TLCC67W6.js → parser-YSHZC5FQ.js} +2 -2
  27. package/dist/{profile-io-MRVIJ5T4.js → profile-io-3EECPDHG.js} +3 -3
  28. package/dist/render-MJSQ4TG2.js +10 -0
  29. package/dist/seal-R3POFNOU.js +10 -0
  30. package/dist/{watch-NZNVJ4YD.js → watch-7MHSCKEQ.js} +7 -7
  31. package/package.json +1 -1
  32. package/dist/chunk-MLNHZN32.js.map +0 -1
  33. package/dist/chunk-NIW7CZYX.cjs.map +0 -1
  34. package/dist/render-TTOG6CHW.js +0 -10
  35. package/dist/seal-NMLZ3M3K.js +0 -10
  36. /package/dist/{-Q4ZCVQFI.js.map → -QVHGOOCR.js.map} +0 -0
  37. /package/dist/{chunk-KA5AN73R.js.map → chunk-6BABRVOJ.js.map} +0 -0
  38. /package/dist/{chunk-TXNRIVWA.js.map → chunk-6WDPB4SN.js.map} +0 -0
  39. /package/dist/{chunk-S3KGEEBQ.js.map → chunk-OMERK4AW.js.map} +0 -0
  40. /package/dist/{chunk-DKMKJMR6.js.map → chunk-QK2G34WE.js.map} +0 -0
  41. /package/dist/{chunk-2RIOXYGA.js.map → chunk-ZGMMLYAL.js.map} +0 -0
  42. /package/dist/{parser-46JGSTPR.js.map → parser-3MAYZUJX.js.map} +0 -0
  43. /package/dist/{parser-TLCC67W6.js.map → parser-YSHZC5FQ.js.map} +0 -0
  44. /package/dist/{profile-io-MRVIJ5T4.js.map → profile-io-3EECPDHG.js.map} +0 -0
  45. /package/dist/{render-TTOG6CHW.js.map → render-MJSQ4TG2.js.map} +0 -0
  46. /package/dist/{seal-NMLZ3M3K.js.map → seal-R3POFNOU.js.map} +0 -0
  47. /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-MLNHZN32.js";
34
+ } from "./chunk-Z6Q3YG22.js";
35
35
  import {
36
36
  blocksToMarkdown
37
- } from "./chunk-ZJXR4PWY.js";
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-TXNRIVWA.js";
44
- import "./chunk-S3KGEEBQ.js";
45
- import "./chunk-DKMKJMR6.js";
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-KA5AN73R.js";
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-46JGSTPR.js");
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-NMLZ3M3K.js");
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("./-Q4ZCVQFI.js");
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-MRVIJ5T4.js");
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 _chunkNIW7CZYXcjs = require('./chunk-NIW7CZYX.cjs');
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 = _chunkNIW7CZYXcjs.safeMax.call(void 0, gaps);
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 = _chunkNIW7CZYXcjs.safeMax.call(void 0, allItems.map((i) => i.x + i.w)) - _chunkNIW7CZYXcjs.safeMin.call(void 0, allItems.map((i) => i.x));
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 >= _chunkNIW7CZYXcjs.HEADING_RATIO_H1) level = 1;
2469
- else if (ratio >= _chunkNIW7CZYXcjs.HEADING_RATIO_H2) level = 2;
2470
- else if (ratio >= _chunkNIW7CZYXcjs.HEADING_RATIO_H3) level = 3;
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 = _chunkNIW7CZYXcjs.safeMax.call(void 0, allY) - _chunkNIW7CZYXcjs.safeMin.call(void 0, allY);
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 = _chunkNIW7CZYXcjs.safeMax.call(void 0, allY) - _chunkNIW7CZYXcjs.safeMin.call(void 0, allY);
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, _chunkNIW7CZYXcjs.KordocError)("PDF \uB85C\uB529 \uD0C0\uC784\uC544\uC6C3 (30\uCD08 \uCD08\uACFC)"));
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, _chunkNIW7CZYXcjs.KordocError)("PDF\uC5D0 \uD398\uC774\uC9C0\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.");
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, _chunkNIW7CZYXcjs.KordocError)("\uD14D\uC2A4\uD2B8 \uCD94\uCD9C \uD06C\uAE30 \uCD08\uACFC");
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 _chunkNIW7CZYXcjs.KordocError) throw pageErr;
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(_chunkNIW7CZYXcjs.blocksToMarkdown.call(void 0, blocks));
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-2ZUTCU2G.cjs.map
3679
+ //# sourceMappingURL=parser-2V5SPTU7.cjs.map