kordoc 4.24.2 → 4.24.3

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 (124) hide show
  1. package/README.md +12 -10
  2. package/dist/{-SRNEV7LS.js → -Q56U3KCA.js} +11 -11
  3. package/dist/{chunk-E7B5CXYI.js → chunk-33NZN73M.js} +2 -2
  4. package/dist/{chunk-NJ5RUDCW.js → chunk-3EWXRIPH.js} +3 -3
  5. package/dist/{chunk-NMFFIUI6.js → chunk-42FSKT7R.js} +2 -2
  6. package/dist/{chunk-M46PB75E.js → chunk-4X73CGIL.js} +2 -2
  7. package/dist/{chunk-PNSALBXH.cjs → chunk-6ZRZLV3J.cjs} +2 -2
  8. package/dist/{chunk-PNSALBXH.cjs.map → chunk-6ZRZLV3J.cjs.map} +1 -1
  9. package/dist/{chunk-W24TJJNN.js → chunk-AEEQN6L3.js} +2 -2
  10. package/dist/{chunk-TW3V6FSH.js → chunk-EEXIFCXC.js} +2 -2
  11. package/dist/{chunk-LMEF7FN5.js → chunk-EWCJCWTT.js} +2 -2
  12. package/dist/{chunk-MHNJOJQV.js → chunk-FZT34MUI.js} +4 -4
  13. package/dist/{chunk-WDSTW3BD.js → chunk-HNX2I7D6.js} +2 -2
  14. package/dist/{chunk-PNX5FYHC.cjs → chunk-HTG3VVET.cjs} +24 -24
  15. package/dist/{chunk-PNX5FYHC.cjs.map → chunk-HTG3VVET.cjs.map} +1 -1
  16. package/dist/{chunk-KUC5I5MB.js → chunk-HU7POUBS.js} +2 -2
  17. package/dist/{chunk-WJAFE3Z6.js → chunk-I2QETSZN.js} +2 -2
  18. package/dist/{chunk-DHMBPMKC.js → chunk-J45OVEUM.js} +139 -15
  19. package/dist/chunk-J45OVEUM.js.map +1 -0
  20. package/dist/{chunk-UNICY546.cjs → chunk-JILIA5EV.cjs} +23 -23
  21. package/dist/{chunk-UNICY546.cjs.map → chunk-JILIA5EV.cjs.map} +1 -1
  22. package/dist/{chunk-TDMBTG7U.js → chunk-KXHNIHLC.js} +2 -2
  23. package/dist/{chunk-JFUUFJZW.cjs → chunk-N65EY5BI.cjs} +6 -6
  24. package/dist/{chunk-JFUUFJZW.cjs.map → chunk-N65EY5BI.cjs.map} +1 -1
  25. package/dist/{chunk-4XC4O7FJ.js → chunk-NKDPCALC.js} +4 -4
  26. package/dist/{chunk-C6ZVB547.js → chunk-OAOM7IEI.js} +11 -11
  27. package/dist/{chunk-4745MFQU.js → chunk-PHZDAHZC.js} +3 -3
  28. package/dist/{chunk-RIRPLFPN.js → chunk-PMX5CPK5.js} +2 -2
  29. package/dist/{chunk-E6VBLBOO.js → chunk-Q2QKRE4P.js} +2 -2
  30. package/dist/{chunk-7NTMM6PO.js → chunk-TZ753B6A.js} +2 -2
  31. package/dist/{chunk-HLTPMSYW.cjs → chunk-VFEI2GIE.cjs} +3 -3
  32. package/dist/{chunk-HLTPMSYW.cjs.map → chunk-VFEI2GIE.cjs.map} +1 -1
  33. package/dist/{chunk-3HN65YAL.js → chunk-W6O7KBOD.js} +2 -2
  34. package/dist/{chunk-VPSF5LEM.js → chunk-XAZ5RGVG.js} +3 -3
  35. package/dist/{chunk-R2GIGE5H.js → chunk-XNNMMYFO.js} +2 -2
  36. package/dist/{chunk-JMOAMKAR.js → chunk-XZOAE2Q7.js} +4 -4
  37. package/dist/{chunk-IGG63DFK.cjs → chunk-YG4YOPK6.cjs} +3 -3
  38. package/dist/{chunk-IGG63DFK.cjs.map → chunk-YG4YOPK6.cjs.map} +1 -1
  39. package/dist/chunks-REYSCBPB.js +10 -0
  40. package/dist/cli.js +30 -30
  41. package/dist/{formula-HK2MNZ3Q.cjs → formula-2BPHF6O7.cjs} +9 -9
  42. package/dist/{formula-HK2MNZ3Q.cjs.map → formula-2BPHF6O7.cjs.map} +1 -1
  43. package/dist/{formula-DSB574H7.js → formula-EA5GDCUD.js} +4 -4
  44. package/dist/{formula-U2LZ67KI.js → formula-IREEAC4T.js} +3 -3
  45. package/dist/{image-ocr-QNIMVE5A.cjs → image-ocr-CCTE7HX3.cjs} +17 -17
  46. package/dist/{image-ocr-QNIMVE5A.cjs.map → image-ocr-CCTE7HX3.cjs.map} +1 -1
  47. package/dist/{image-ocr-J54Q3YWP.js → image-ocr-JQJC5HWK.js} +6 -6
  48. package/dist/{image-ocr-3QB2HLSI.js → image-ocr-LGOFUS3O.js} +9 -9
  49. package/dist/index.cjs +517 -393
  50. package/dist/index.cjs.map +1 -1
  51. package/dist/index.js +139 -15
  52. package/dist/index.js.map +1 -1
  53. package/dist/mcp.js +23 -23
  54. package/dist/{model-bundle-CGWU4ALC.js → model-bundle-YW62Y6UD.js} +5 -5
  55. package/dist/{models-A3TF3BDV.js → models-AAL3IS2R.js} +5 -5
  56. package/dist/{parse-worker-v2-MNUD4WAR.js → parse-worker-v2-3JAHV7NY.js} +12 -12
  57. package/dist/{parser-C3ARF26I.js → parser-4FCKKJ2N.js} +18 -14
  58. package/dist/parser-4FCKKJ2N.js.map +1 -0
  59. package/dist/{parser-RPAHN3OR.cjs → parser-HE45CCSG.cjs} +163 -159
  60. package/dist/parser-HE45CCSG.cjs.map +1 -0
  61. package/dist/{parser-OBGWEWSU.js → parser-ZBP5GOQK.js} +15 -11
  62. package/dist/parser-ZBP5GOQK.js.map +1 -0
  63. package/dist/pdf-ocr-7MDCLWAA.cjs +31 -0
  64. package/dist/{pdf-ocr-GA5QJFNK.cjs.map → pdf-ocr-7MDCLWAA.cjs.map} +1 -1
  65. package/dist/{pdf-ocr-K53REDNY.js → pdf-ocr-HFAEOA7W.js} +6 -6
  66. package/dist/{pdf-ocr-ENLVEEYL.js → pdf-ocr-Q4TPGDDI.js} +9 -9
  67. package/dist/{profile-io-ZGFEO7CB.js → profile-io-EDQTKLLL.js} +3 -3
  68. package/dist/{rasterize-QMC2SAUT.js → rasterize-VD2XGHUJ.js} +3 -3
  69. package/dist/{redact-doc-JH6RZZBE.js → redact-doc-TBIBQJCT.js} +11 -11
  70. package/dist/{render-ZGKQLKPJ.js → render-J5KAZAQH.js} +7 -7
  71. package/dist/seal-H2JNAZU7.js +10 -0
  72. package/dist/{setup-LAQGCYQ2.js → setup-5LYHCQRU.js} +3 -3
  73. package/dist/visual-7EO6GR3M.js +21 -0
  74. package/dist/{watch-7YPB4TKC.js → watch-YP4IWM75.js} +12 -12
  75. package/package.json +1 -1
  76. package/dist/chunk-DHMBPMKC.js.map +0 -1
  77. package/dist/chunks-AL4P5TO5.js +0 -10
  78. package/dist/parser-C3ARF26I.js.map +0 -1
  79. package/dist/parser-OBGWEWSU.js.map +0 -1
  80. package/dist/parser-RPAHN3OR.cjs.map +0 -1
  81. package/dist/pdf-ocr-GA5QJFNK.cjs +0 -31
  82. package/dist/seal-KMGYTJAV.js +0 -10
  83. package/dist/visual-4OYJFGXL.js +0 -21
  84. /package/dist/{-SRNEV7LS.js.map → -Q56U3KCA.js.map} +0 -0
  85. /package/dist/{chunk-E7B5CXYI.js.map → chunk-33NZN73M.js.map} +0 -0
  86. /package/dist/{chunk-NJ5RUDCW.js.map → chunk-3EWXRIPH.js.map} +0 -0
  87. /package/dist/{chunk-NMFFIUI6.js.map → chunk-42FSKT7R.js.map} +0 -0
  88. /package/dist/{chunk-M46PB75E.js.map → chunk-4X73CGIL.js.map} +0 -0
  89. /package/dist/{chunk-W24TJJNN.js.map → chunk-AEEQN6L3.js.map} +0 -0
  90. /package/dist/{chunk-TW3V6FSH.js.map → chunk-EEXIFCXC.js.map} +0 -0
  91. /package/dist/{chunk-LMEF7FN5.js.map → chunk-EWCJCWTT.js.map} +0 -0
  92. /package/dist/{chunk-MHNJOJQV.js.map → chunk-FZT34MUI.js.map} +0 -0
  93. /package/dist/{chunk-WDSTW3BD.js.map → chunk-HNX2I7D6.js.map} +0 -0
  94. /package/dist/{chunk-KUC5I5MB.js.map → chunk-HU7POUBS.js.map} +0 -0
  95. /package/dist/{chunk-WJAFE3Z6.js.map → chunk-I2QETSZN.js.map} +0 -0
  96. /package/dist/{chunk-TDMBTG7U.js.map → chunk-KXHNIHLC.js.map} +0 -0
  97. /package/dist/{chunk-4XC4O7FJ.js.map → chunk-NKDPCALC.js.map} +0 -0
  98. /package/dist/{chunk-C6ZVB547.js.map → chunk-OAOM7IEI.js.map} +0 -0
  99. /package/dist/{chunk-4745MFQU.js.map → chunk-PHZDAHZC.js.map} +0 -0
  100. /package/dist/{chunk-RIRPLFPN.js.map → chunk-PMX5CPK5.js.map} +0 -0
  101. /package/dist/{chunk-E6VBLBOO.js.map → chunk-Q2QKRE4P.js.map} +0 -0
  102. /package/dist/{chunk-7NTMM6PO.js.map → chunk-TZ753B6A.js.map} +0 -0
  103. /package/dist/{chunk-3HN65YAL.js.map → chunk-W6O7KBOD.js.map} +0 -0
  104. /package/dist/{chunk-VPSF5LEM.js.map → chunk-XAZ5RGVG.js.map} +0 -0
  105. /package/dist/{chunk-R2GIGE5H.js.map → chunk-XNNMMYFO.js.map} +0 -0
  106. /package/dist/{chunk-JMOAMKAR.js.map → chunk-XZOAE2Q7.js.map} +0 -0
  107. /package/dist/{chunks-AL4P5TO5.js.map → chunks-REYSCBPB.js.map} +0 -0
  108. /package/dist/{formula-DSB574H7.js.map → formula-EA5GDCUD.js.map} +0 -0
  109. /package/dist/{formula-U2LZ67KI.js.map → formula-IREEAC4T.js.map} +0 -0
  110. /package/dist/{image-ocr-J54Q3YWP.js.map → image-ocr-JQJC5HWK.js.map} +0 -0
  111. /package/dist/{image-ocr-3QB2HLSI.js.map → image-ocr-LGOFUS3O.js.map} +0 -0
  112. /package/dist/{model-bundle-CGWU4ALC.js.map → model-bundle-YW62Y6UD.js.map} +0 -0
  113. /package/dist/{models-A3TF3BDV.js.map → models-AAL3IS2R.js.map} +0 -0
  114. /package/dist/{parse-worker-v2-MNUD4WAR.js.map → parse-worker-v2-3JAHV7NY.js.map} +0 -0
  115. /package/dist/{pdf-ocr-ENLVEEYL.js.map → pdf-ocr-HFAEOA7W.js.map} +0 -0
  116. /package/dist/{pdf-ocr-K53REDNY.js.map → pdf-ocr-Q4TPGDDI.js.map} +0 -0
  117. /package/dist/{profile-io-ZGFEO7CB.js.map → profile-io-EDQTKLLL.js.map} +0 -0
  118. /package/dist/{rasterize-QMC2SAUT.js.map → rasterize-VD2XGHUJ.js.map} +0 -0
  119. /package/dist/{redact-doc-JH6RZZBE.js.map → redact-doc-TBIBQJCT.js.map} +0 -0
  120. /package/dist/{render-ZGKQLKPJ.js.map → render-J5KAZAQH.js.map} +0 -0
  121. /package/dist/{seal-KMGYTJAV.js.map → seal-H2JNAZU7.js.map} +0 -0
  122. /package/dist/{setup-LAQGCYQ2.js.map → setup-5LYHCQRU.js.map} +0 -0
  123. /package/dist/{visual-4OYJFGXL.js.map → visual-7EO6GR3M.js.map} +0 -0
  124. /package/dist/{watch-7YPB4TKC.js.map → watch-YP4IWM75.js.map} +0 -0
package/dist/mcp.js CHANGED
@@ -47,33 +47,33 @@ import {
47
47
  unknownFontWarnings,
48
48
  usesGaejosikMunche,
49
49
  usesLogicStructure
50
- } from "./chunk-C6ZVB547.js";
51
- import "./chunk-NMFFIUI6.js";
50
+ } from "./chunk-OAOM7IEI.js";
51
+ import "./chunk-42FSKT7R.js";
52
52
  import {
53
53
  detectFormat,
54
54
  detectOle2Format,
55
55
  detectZipFormat,
56
56
  extractHwp5MetadataOnly
57
- } from "./chunk-DHMBPMKC.js";
58
- import "./chunk-E6VBLBOO.js";
59
- import "./chunk-7NTMM6PO.js";
57
+ } from "./chunk-J45OVEUM.js";
58
+ import "./chunk-Q2QKRE4P.js";
59
+ import "./chunk-TZ753B6A.js";
60
60
  import "./chunk-VKVDMH7X.js";
61
61
  import "./chunk-VQFA55IC.js";
62
62
  import "./chunk-BYMPPVT3.js";
63
- import "./chunk-KUC5I5MB.js";
63
+ import "./chunk-HU7POUBS.js";
64
64
  import {
65
65
  blocksToMarkdown
66
- } from "./chunk-WDSTW3BD.js";
66
+ } from "./chunk-HNX2I7D6.js";
67
67
  import {
68
68
  assertWithinRoot,
69
69
  getAccessRoot,
70
70
  isOfflineMode
71
- } from "./chunk-TDMBTG7U.js";
71
+ } from "./chunk-KXHNIHLC.js";
72
72
  import {
73
73
  extractFormFields,
74
74
  fillWithUniqueGuard
75
- } from "./chunk-NJ5RUDCW.js";
76
- import "./chunk-RIRPLFPN.js";
75
+ } from "./chunk-3EWXRIPH.js";
76
+ import "./chunk-PMX5CPK5.js";
77
77
  import {
78
78
  KordocError,
79
79
  VERSION,
@@ -81,7 +81,7 @@ import {
81
81
  routeConsoleToStderr,
82
82
  sanitizeError,
83
83
  toArrayBuffer
84
- } from "./chunk-LMEF7FN5.js";
84
+ } from "./chunk-EWCJCWTT.js";
85
85
  import "./chunk-3WSNLH4B.js";
86
86
 
87
87
  // src/mcp.ts
@@ -396,7 +396,7 @@ ${markdown}`);
396
396
  break;
397
397
  case "pdf":
398
398
  try {
399
- const { extractPdfMetadataOnly } = await import("./parser-C3ARF26I.js");
399
+ const { extractPdfMetadataOnly } = await import("./parser-4FCKKJ2N.js");
400
400
  metadata = await extractPdfMetadataOnly(buffer);
401
401
  } catch {
402
402
  metadata = void 0;
@@ -573,7 +573,7 @@ ${tableMarkdown}` }]
573
573
  if (!parsed.success) {
574
574
  return { content: [{ type: "text", text: `\uD30C\uC2F1 \uC2E4\uD328: ${parsed.error}` }], isError: true };
575
575
  }
576
- const { blocksToChunks } = await import("./chunks-AL4P5TO5.js");
576
+ const { blocksToChunks } = await import("./chunks-REYSCBPB.js");
577
577
  const chunks = blocksToChunks(parsed.blocks, { granularity, includeTableCells: include_table_cells });
578
578
  return { content: [{ type: "text", text: capResponseText(JSON.stringify(chunks, null, 2)) }] };
579
579
  } catch (err) {
@@ -834,7 +834,7 @@ ${previewMd}` }]
834
834
  }
835
835
  const image = new Uint8Array(await readFile2(imgResolved));
836
836
  const ext = extname2(imgResolved).slice(1).toLowerCase();
837
- const { placeSealHwpx } = await import("./seal-KMGYTJAV.js");
837
+ const { placeSealHwpx } = await import("./seal-H2JNAZU7.js");
838
838
  const result = await placeSealHwpx(buffer, [{
839
839
  anchor,
840
840
  occurrence,
@@ -953,7 +953,7 @@ ${previewMd}` }]
953
953
  if (outPath && await isSameFile(outPath, resolved)) {
954
954
  return { content: [{ type: "text", text: "output_path\uAC00 \uC785\uB825 \uD30C\uC77C\uACFC \uAC19\uC2B5\uB2C8\uB2E4 \u2014 \uC6D0\uBCF8\uC744 \uB36E\uC5B4\uC4F0\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uB2E4\uB978 \uACBD\uB85C\uB97C \uC9C0\uC815\uD558\uC138\uC694." }], isError: true };
955
955
  }
956
- const { redactDocument } = await import("./redact-doc-JH6RZZBE.js");
956
+ const { redactDocument } = await import("./redact-doc-TBIBQJCT.js");
957
957
  const r = await redactDocument(buffer, { rules, maskChar: mask_char, filePath: file_path, dryRun: dry_run });
958
958
  const MAX_LINES = 50;
959
959
  const listed = r.fileHits.length > 0 ? r.fileHits.map((h) => ` - [${h.rule}] ${h.masked} (${h.where} @ ${h.part})`) : r.markdownHits.map((h) => ` - [${h.rule}] ${h.masked}`);
@@ -1027,7 +1027,7 @@ function registerRenderTools(server2) {
1027
1027
  const { buffer, resolved } = await readValidatedFile(file_path, MAX_FILE_SIZE, /* @__PURE__ */ new Set([".hwpx", ".hwp"]));
1028
1028
  const isHwp5 = resolved.toLowerCase().endsWith(".hwp");
1029
1029
  if (!isHwp5 && !pages && (format === "png" || format === "svg")) {
1030
- const { renderHwpxToSvg } = await import("./render-ZGKQLKPJ.js");
1030
+ const { renderHwpxToSvg } = await import("./render-J5KAZAQH.js");
1031
1031
  const result = await renderHwpxToSvg(buffer, { highlights, reflow: true, reflowMode: reflow_mode });
1032
1032
  const summary2 = [
1033
1033
  `\uB80C\uB354 \uC644\uB8CC: ${result.pageCount}\uD398\uC774\uC9C0, ${Math.round(result.width)}x${Math.round(result.height)}pt (\uD14D\uC2A4\uD2B8 ${result.stats.texts}\xB7\uC774\uBBF8\uC9C0 ${result.stats.images}\xB7\uD45C ${result.stats.tables})`,
@@ -1039,7 +1039,7 @@ function registerRenderTools(server2) {
1039
1039
  summary2.push(`\uC800\uC7A5: ${outPath}`);
1040
1040
  return { content: [{ type: "text", text: summary2.join("\n") }] };
1041
1041
  }
1042
- const { rasterizeSvg } = await import("./rasterize-QMC2SAUT.js");
1042
+ const { rasterizeSvg } = await import("./rasterize-VD2XGHUJ.js");
1043
1043
  const raster = await rasterizeSvg(result.svg, result.width, result.height, max_width_px ? { maxWidthPx: max_width_px } : void 0);
1044
1044
  if (outPath) {
1045
1045
  await mkdir2(dirname3(outPath), { recursive: true });
@@ -1054,7 +1054,7 @@ function registerRenderTools(server2) {
1054
1054
  ]
1055
1055
  };
1056
1056
  }
1057
- const { renderDocument } = await import("./render-ZGKQLKPJ.js");
1057
+ const { renderDocument } = await import("./render-J5KAZAQH.js");
1058
1058
  const { scene, assets } = await renderDocument(buffer, { format, pages, highlights, reflow: true, reflowMode: reflow_mode, maxWidthPx: max_width_px });
1059
1059
  const summary = [
1060
1060
  `\uB80C\uB354 \uC644\uB8CC: \uBB38\uC11C ${scene.pages.length}\uD398\uC774\uC9C0 \uC911 ${assets.filter((a) => a.page !== void 0).length || 1}\uAC74 (\uD14D\uC2A4\uD2B8 ${scene.stats.texts}\xB7\uC774\uBBF8\uC9C0 ${scene.stats.images}\xB7\uD45C ${scene.stats.tables}\xB7\uB3C4\uD615 ${scene.stats.shapes})`,
@@ -1104,7 +1104,7 @@ function registerRenderTools(server2) {
1104
1104
  try {
1105
1105
  const { buffer } = await readValidatedFile(file_path, MAX_FILE_SIZE, /* @__PURE__ */ new Set([".hwpx", ".hwp"]));
1106
1106
  const dir = safeOutputPath(join2(output_dir, "regions.json"), /* @__PURE__ */ new Set([".json"])).replace(/[\\/]regions\.json$/, "");
1107
- const { extractRenderedRegions } = await import("./render-ZGKQLKPJ.js");
1107
+ const { extractRenderedRegions } = await import("./render-J5KAZAQH.js");
1108
1108
  const regions = await extractRenderedRegions(buffer, { types: target, format, pages, paddingPt: padding_pt, reflow: true });
1109
1109
  await mkdir2(dir, { recursive: true });
1110
1110
  const ext = format === "jpeg" ? "jpg" : "png";
@@ -1140,7 +1140,7 @@ function registerRenderTools(server2) {
1140
1140
  }
1141
1141
  const { buffer } = await readValidatedFile(file_path, MAX_FILE_SIZE, /* @__PURE__ */ new Set([".hwpx", ".hwp"]));
1142
1142
  const dir = output_dir ? safeOutputPath(join2(output_dir, "tables.json"), /* @__PURE__ */ new Set([".json"])).replace(/[\\/]tables\.json$/, "") : void 0;
1143
- const { extractTables } = await import("./visual-4OYJFGXL.js");
1143
+ const { extractTables } = await import("./visual-7EO6GR3M.js");
1144
1144
  const tables = await extractTables(buffer, { policy: visual, format, paddingPt: padding_pt });
1145
1145
  if (dir) await mkdir2(dir, { recursive: true });
1146
1146
  const ext = format === "jpeg" ? "jpg" : "png";
@@ -1197,7 +1197,7 @@ function registerGenerateTools(server2) {
1197
1197
  try {
1198
1198
  const out = safeOutputPath(output_path, PROFILE_EXTENSIONS);
1199
1199
  const { buffer } = await readValidatedFile(hwpx_path);
1200
- const { hwpxToProfile } = await import("./-SRNEV7LS.js");
1200
+ const { hwpxToProfile } = await import("./-Q56U3KCA.js");
1201
1201
  const profile = await hwpxToProfile(buffer);
1202
1202
  await mkdir3(dirname4(out), { recursive: true });
1203
1203
  await writeOutputFile(out, JSON.stringify(profile, null, 2));
@@ -1344,7 +1344,7 @@ ${g.blocking.map((f) => `- ${formatGateFinding(f)}`).join("\n")}` }],
1344
1344
  }
1345
1345
  let profile;
1346
1346
  if (profile_path) {
1347
- const { parseFormatProfileJson } = await import("./profile-io-ZGFEO7CB.js");
1347
+ const { parseFormatProfileJson } = await import("./profile-io-EDQTKLLL.js");
1348
1348
  profile = parseFormatProfileJson(await readFile3(safePath(profile_path, PROFILE_EXTENSIONS), "utf-8"));
1349
1349
  }
1350
1350
  const out = safeOutputPath(output_path, /* @__PURE__ */ new Set([".hwpx"]));
@@ -1448,7 +1448,7 @@ function registerLintTools(server2) {
1448
1448
  let irBlocks;
1449
1449
  if (file_path !== void 0) {
1450
1450
  const { buffer, resolved } = await readValidatedFile(file_path, MAX_FILE_SIZE, ALLOWED_EXTENSIONS);
1451
- const { parse: parse2 } = await import("./-SRNEV7LS.js");
1451
+ const { parse: parse2 } = await import("./-Q56U3KCA.js");
1452
1452
  const parsed = await parse2(buffer, { filePath: resolved });
1453
1453
  if (!parsed.success) throw new KordocError(`\uBB38\uC11C\uB97C \uC77D\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4 \u2014 ${parsed.error}`);
1454
1454
  body = parsed.markdown;
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ALL_OCR_MODELS
4
- } from "./chunk-R2GIGE5H.js";
4
+ } from "./chunk-XNNMMYFO.js";
5
5
  import {
6
6
  ALL_FORMULA_MODELS,
7
7
  getModelStatusIn,
8
8
  getModelsDir
9
- } from "./chunk-W24TJJNN.js";
10
- import "./chunk-TDMBTG7U.js";
11
- import "./chunk-LMEF7FN5.js";
9
+ } from "./chunk-AEEQN6L3.js";
10
+ import "./chunk-KXHNIHLC.js";
11
+ import "./chunk-EWCJCWTT.js";
12
12
 
13
13
  // src/shared/model-bundle.ts
14
14
  import { copyFile, mkdir } from "fs/promises";
@@ -101,4 +101,4 @@ export {
101
101
  importModels,
102
102
  modelCacheStatus
103
103
  };
104
- //# sourceMappingURL=model-bundle-CGWU4ALC.js.map
104
+ //# sourceMappingURL=model-bundle-YW62Y6UD.js.map
@@ -17,10 +17,10 @@ import {
17
17
  ocrSourcePath,
18
18
  parseCharacterDict,
19
19
  resolveOcrModels
20
- } from "./chunk-R2GIGE5H.js";
21
- import "./chunk-W24TJJNN.js";
22
- import "./chunk-TDMBTG7U.js";
23
- import "./chunk-LMEF7FN5.js";
20
+ } from "./chunk-XNNMMYFO.js";
21
+ import "./chunk-AEEQN6L3.js";
22
+ import "./chunk-KXHNIHLC.js";
23
+ import "./chunk-EWCJCWTT.js";
24
24
  export {
25
25
  ALL_OCR_MODELS,
26
26
  DEFAULT_OCR_MODELS,
@@ -40,4 +40,4 @@ export {
40
40
  parseCharacterDict,
41
41
  resolveOcrModels
42
42
  };
43
- //# sourceMappingURL=models-A3TF3BDV.js.map
43
+ //# sourceMappingURL=models-AAL3IS2R.js.map
@@ -1,28 +1,28 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  parseWorkerFile
4
- } from "./chunk-4745MFQU.js";
4
+ } from "./chunk-PHZDAHZC.js";
5
5
  import {
6
6
  PRESET_ALIAS,
7
7
  lintBlocks
8
- } from "./chunk-C6ZVB547.js";
9
- import "./chunk-NMFFIUI6.js";
10
- import "./chunk-DHMBPMKC.js";
11
- import "./chunk-E6VBLBOO.js";
12
- import "./chunk-7NTMM6PO.js";
8
+ } from "./chunk-OAOM7IEI.js";
9
+ import "./chunk-42FSKT7R.js";
10
+ import "./chunk-J45OVEUM.js";
11
+ import "./chunk-Q2QKRE4P.js";
12
+ import "./chunk-TZ753B6A.js";
13
13
  import "./chunk-VKVDMH7X.js";
14
14
  import "./chunk-VQFA55IC.js";
15
15
  import {
16
16
  validateOcrOptions
17
17
  } from "./chunk-BYMPPVT3.js";
18
- import "./chunk-KUC5I5MB.js";
19
- import "./chunk-WDSTW3BD.js";
20
- import "./chunk-NJ5RUDCW.js";
21
- import "./chunk-RIRPLFPN.js";
18
+ import "./chunk-HU7POUBS.js";
19
+ import "./chunk-HNX2I7D6.js";
20
+ import "./chunk-3EWXRIPH.js";
21
+ import "./chunk-PMX5CPK5.js";
22
22
  import {
23
23
  VERSION,
24
24
  sanitizeError
25
- } from "./chunk-LMEF7FN5.js";
25
+ } from "./chunk-EWCJCWTT.js";
26
26
  import "./chunk-3WSNLH4B.js";
27
27
 
28
28
  // src/cli/parse-worker-v2.ts
@@ -354,4 +354,4 @@ export {
354
354
  runParseWorkerV2,
355
355
  toParseOptions
356
356
  };
357
- //# sourceMappingURL=parse-worker-v2-MNUD4WAR.js.map
357
+ //# sourceMappingURL=parse-worker-v2-3JAHV7NY.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  blocksToPages
4
- } from "./chunk-7NTMM6PO.js";
4
+ } from "./chunk-TZ753B6A.js";
5
5
  import {
6
6
  encodePng
7
7
  } from "./chunk-VKVDMH7X.js";
@@ -62,7 +62,7 @@ import {
62
62
  stripAbsorbedRunningLines,
63
63
  trimTrailingEmptyTableCols,
64
64
  wrapJoiner
65
- } from "./chunk-VPSF5LEM.js";
65
+ } from "./chunk-XAZ5RGVG.js";
66
66
  import {
67
67
  validateOcrOptions
68
68
  } from "./chunk-BYMPPVT3.js";
@@ -74,7 +74,7 @@ import {
74
74
  escapeLiteralTags,
75
75
  stripScriptTags,
76
76
  unframeLayoutTables
77
- } from "./chunk-KUC5I5MB.js";
77
+ } from "./chunk-HU7POUBS.js";
78
78
  import {
79
79
  WINGDINGS,
80
80
  assignTableIds,
@@ -83,17 +83,17 @@ import {
83
83
  escapeLiteralDollar,
84
84
  mapPuaText,
85
85
  pairedNumber
86
- } from "./chunk-WDSTW3BD.js";
86
+ } from "./chunk-HNX2I7D6.js";
87
87
  import {
88
88
  ocrModelsCached,
89
89
  resolveOcrModels
90
- } from "./chunk-R2GIGE5H.js";
91
- import "./chunk-W24TJJNN.js";
92
- import "./chunk-TDMBTG7U.js";
90
+ } from "./chunk-XNNMMYFO.js";
91
+ import "./chunk-AEEQN6L3.js";
92
+ import "./chunk-KXHNIHLC.js";
93
93
  import {
94
94
  KordocError,
95
95
  sanitizeHref
96
- } from "./chunk-LMEF7FN5.js";
96
+ } from "./chunk-EWCJCWTT.js";
97
97
 
98
98
  // src/pdf/image-extract.ts
99
99
  import { createHash } from "crypto";
@@ -1193,9 +1193,13 @@ function joinSplitParts(prev, pcx, curr, ccx, dx = 0, prevBottom, lex) {
1193
1193
  const cols = U.length - 1;
1194
1194
  if (cols < 1) return null;
1195
1195
  const pa = anchorsOf(prev), ca = anchorsOf(curr);
1196
+ const cutOpen = (() => {
1197
+ const u = ROW_RULES.get(prev), d = ROW_RULES.get(curr);
1198
+ return !!u && !!d && !u.bottom && !d.top;
1199
+ })();
1196
1200
  let skip = 0, head = 0;
1197
- while (skip < Math.min(3, curr.rows - 1, prev.rows) && rowText(ca, skip) !== "" && rowText(ca, skip) === rowText(pa, skip)) skip++;
1198
- for (let h = 1; h <= 2 && !skip; h++) {
1201
+ while (!cutOpen && skip < Math.min(3, curr.rows - 1, prev.rows) && rowText(ca, skip) !== "" && rowText(ca, skip) === rowText(pa, skip)) skip++;
1202
+ for (let h = 1; h <= 2 && !skip && !cutOpen; h++) {
1199
1203
  head = h;
1200
1204
  while (skip < Math.min(3, curr.rows - 1, prev.rows - h) && hasText(rowText(ca, skip)) && rowText(ca, skip) === rowText(pa, h + skip)) skip++;
1201
1205
  }
@@ -4013,7 +4017,7 @@ function mergeLinkRuns(markdown) {
4013
4017
 
4014
4018
  // src/pdf/formula-ocr.ts
4015
4019
  async function applyFormulaOcr(buffer, blocks, pageFilter, effectivePageCount, warnings, _onProgress) {
4016
- const formulaMod = await import("./formula-DSB574H7.js");
4020
+ const formulaMod = await import("./formula-EA5GDCUD.js");
4017
4021
  const { FormulaPipeline, ensureFormulaModels } = formulaMod;
4018
4022
  await ensureFormulaModels((p) => {
4019
4023
  if (p.phase === "download" && p.total) {
@@ -4440,10 +4444,10 @@ async function parsePdfDocument(buffer, options) {
4440
4444
  }
4441
4445
  if (targets.size > 0) {
4442
4446
  try {
4443
- const { runPdfOcr } = await import("./pdf-ocr-ENLVEEYL.js");
4447
+ const { runPdfOcr } = await import("./pdf-ocr-Q4TPGDDI.js");
4444
4448
  const mode = typeof options?.ocr === "function" ? options.ocr : "builtin";
4445
4449
  const regionPages = new Map([...ocrRegions].filter(([p]) => options?.ocr !== "force" && !isImageBased && !pageQuality.find((q) => q.page === p)?.needsOcr));
4446
- const { builtinOcrConfig } = await import("./pdf-ocr-ENLVEEYL.js");
4450
+ const { builtinOcrConfig } = await import("./pdf-ocr-Q4TPGDDI.js");
4447
4451
  const ocrPageBlocks = await runPdfOcr(ocrBuffer, targets, mode, warnings, options?.onProgress, options?.tables !== false, vectorPageOps, regionPages, builtinOcrConfig(options), ocrLinesOut);
4448
4452
  for (const obs of ocrPageBlocks.values()) stripScriptTags({ blocks: obs });
4449
4453
  if (ocrPageBlocks.size > 0) {
@@ -4688,4 +4692,4 @@ export {
4688
4692
  parsePdfDocument,
4689
4693
  removeHeaderFooterBlocks
4690
4694
  };
4691
- //# sourceMappingURL=parser-C3ARF26I.js.map
4695
+ //# sourceMappingURL=parser-4FCKKJ2N.js.map