kordoc 4.24.1 → 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 (137) hide show
  1. package/README.md +12 -10
  2. package/dist/{-TSN4SWFV.js → -Q56U3KCA.js} +11 -11
  3. package/dist/{chunk-LEUS275C.js → chunk-33NZN73M.js} +2 -2
  4. package/dist/{chunk-5EP6VFP5.js → chunk-3EWXRIPH.js} +3 -3
  5. package/dist/{chunk-MI25BZSU.js → chunk-42FSKT7R.js} +2 -2
  6. package/dist/{chunk-NAPPGU3W.js → chunk-4X73CGIL.js} +2 -2
  7. package/dist/{chunk-TYXXTWPH.cjs → chunk-6ZRZLV3J.cjs} +2 -2
  8. package/dist/chunk-6ZRZLV3J.cjs.map +1 -0
  9. package/dist/{chunk-6H7D4QTM.js → chunk-AEEQN6L3.js} +2 -2
  10. package/dist/{chunk-G7SKCXQG.js → chunk-EEXIFCXC.js} +2 -2
  11. package/dist/{chunk-YE4T2P6F.js → chunk-EWCJCWTT.js} +2 -2
  12. package/dist/{chunk-AJ3DJSO6.js → chunk-FZT34MUI.js} +4 -4
  13. package/dist/chunk-GS7T56RP.cjs.map +1 -1
  14. package/dist/{chunk-BIVO2GMU.js → chunk-HNX2I7D6.js} +2 -2
  15. package/dist/{chunk-JSI5T77E.cjs → chunk-HTG3VVET.cjs} +24 -24
  16. package/dist/chunk-HTG3VVET.cjs.map +1 -0
  17. package/dist/{chunk-W4P3QPSB.js → chunk-HU7POUBS.js} +2 -2
  18. package/dist/{chunk-RVKOFZAT.js → chunk-I2QETSZN.js} +2 -2
  19. package/dist/{chunk-LBPUPT6S.js → chunk-J45OVEUM.js} +203 -35
  20. package/dist/chunk-J45OVEUM.js.map +1 -0
  21. package/dist/chunk-J55UQC5H.cjs.map +1 -1
  22. package/dist/{chunk-4VNIEHWM.cjs → chunk-JILIA5EV.cjs} +23 -23
  23. package/dist/chunk-JILIA5EV.cjs.map +1 -0
  24. package/dist/{chunk-WYYUWBTS.js → chunk-KXHNIHLC.js} +2 -2
  25. package/dist/{chunk-5QBTJ4LA.cjs → chunk-N65EY5BI.cjs} +6 -6
  26. package/dist/chunk-N65EY5BI.cjs.map +1 -0
  27. package/dist/{chunk-2SMANR76.js → chunk-NKDPCALC.js} +4 -4
  28. package/dist/{chunk-4BCQ3FQS.js → chunk-OAOM7IEI.js} +11 -11
  29. package/dist/{chunk-SWCO5NP6.js → chunk-PHZDAHZC.js} +3 -3
  30. package/dist/{chunk-L2OJUIII.js → chunk-PMX5CPK5.js} +2 -2
  31. package/dist/{chunk-LEL5UBGR.js → chunk-Q2QKRE4P.js} +2 -2
  32. package/dist/chunk-TK3FDAEE.cjs.map +1 -1
  33. package/dist/{chunk-RS2Q64N5.js → chunk-TZ753B6A.js} +2 -2
  34. package/dist/{chunk-RIQVVWVF.cjs → chunk-VFEI2GIE.cjs} +3 -3
  35. package/dist/chunk-VFEI2GIE.cjs.map +1 -0
  36. package/dist/{chunk-B77K6J3U.js → chunk-W6O7KBOD.js} +2 -2
  37. package/dist/{chunk-ZR3BPESP.js → chunk-XAZ5RGVG.js} +3 -3
  38. package/dist/{chunk-V2GW3M2F.js → chunk-XNNMMYFO.js} +2 -2
  39. package/dist/{chunk-HP24FYLJ.js → chunk-XZOAE2Q7.js} +4 -4
  40. package/dist/{chunk-KGOVG47P.cjs → chunk-YG4YOPK6.cjs} +3 -3
  41. package/dist/chunk-YG4YOPK6.cjs.map +1 -0
  42. package/dist/chunks-REYSCBPB.js +10 -0
  43. package/dist/cli.js +30 -30
  44. package/dist/{formula-5DGAZK6N.cjs → formula-2BPHF6O7.cjs} +9 -9
  45. package/dist/formula-2BPHF6O7.cjs.map +1 -0
  46. package/dist/{formula-6J26PNHL.js → formula-EA5GDCUD.js} +4 -4
  47. package/dist/{formula-PNZX2ZAZ.js → formula-IREEAC4T.js} +3 -3
  48. package/dist/{image-ocr-I4PGBAJ7.cjs → image-ocr-CCTE7HX3.cjs} +17 -17
  49. package/dist/image-ocr-CCTE7HX3.cjs.map +1 -0
  50. package/dist/{image-ocr-RPHNFU7I.js → image-ocr-JQJC5HWK.js} +6 -6
  51. package/dist/{image-ocr-UNTKJLQL.js → image-ocr-LGOFUS3O.js} +9 -9
  52. package/dist/index.cjs +601 -433
  53. package/dist/index.cjs.map +1 -1
  54. package/dist/index.js +203 -35
  55. package/dist/index.js.map +1 -1
  56. package/dist/mcp.js +23 -23
  57. package/dist/{model-bundle-ZSDEJFA7.js → model-bundle-YW62Y6UD.js} +5 -5
  58. package/dist/{models-JS66XYKO.js → models-AAL3IS2R.js} +5 -5
  59. package/dist/page-range-QHHFTL7X.cjs.map +1 -1
  60. package/dist/{parse-worker-v2-JHPEY3MI.js → parse-worker-v2-3JAHV7NY.js} +12 -12
  61. package/dist/{parser-YKATDDQV.js → parser-4FCKKJ2N.js} +18 -14
  62. package/dist/parser-4FCKKJ2N.js.map +1 -0
  63. package/dist/{parser-NMV5GTKC.cjs → parser-HE45CCSG.cjs} +163 -159
  64. package/dist/parser-HE45CCSG.cjs.map +1 -0
  65. package/dist/{parser-N64TUIWU.js → parser-ZBP5GOQK.js} +15 -11
  66. package/dist/parser-ZBP5GOQK.js.map +1 -0
  67. package/dist/pdf-ocr-7MDCLWAA.cjs +31 -0
  68. package/dist/pdf-ocr-7MDCLWAA.cjs.map +1 -0
  69. package/dist/{pdf-ocr-W3LDJYCA.js → pdf-ocr-HFAEOA7W.js} +6 -6
  70. package/dist/{pdf-ocr-KTKR2JQH.js → pdf-ocr-Q4TPGDDI.js} +9 -9
  71. package/dist/{profile-io-JRODOL7A.js → profile-io-EDQTKLLL.js} +3 -3
  72. package/dist/{rasterize-2DMR7RGP.js → rasterize-VD2XGHUJ.js} +3 -3
  73. package/dist/{redact-doc-TC6QSTPM.js → redact-doc-TBIBQJCT.js} +11 -11
  74. package/dist/{render-WEUU5EDS.js → render-J5KAZAQH.js} +7 -7
  75. package/dist/seal-H2JNAZU7.js +10 -0
  76. package/dist/{setup-LKJKGMKJ.js → setup-5LYHCQRU.js} +3 -3
  77. package/dist/visual-7EO6GR3M.js +21 -0
  78. package/dist/{watch-HHFVXB3G.js → watch-YP4IWM75.js} +12 -12
  79. package/package.json +1 -1
  80. package/dist/chunk-4VNIEHWM.cjs.map +0 -1
  81. package/dist/chunk-5QBTJ4LA.cjs.map +0 -1
  82. package/dist/chunk-JSI5T77E.cjs.map +0 -1
  83. package/dist/chunk-KGOVG47P.cjs.map +0 -1
  84. package/dist/chunk-LBPUPT6S.js.map +0 -1
  85. package/dist/chunk-RIQVVWVF.cjs.map +0 -1
  86. package/dist/chunk-TYXXTWPH.cjs.map +0 -1
  87. package/dist/chunks-HPPVNSBT.js +0 -10
  88. package/dist/formula-5DGAZK6N.cjs.map +0 -1
  89. package/dist/image-ocr-I4PGBAJ7.cjs.map +0 -1
  90. package/dist/parser-N64TUIWU.js.map +0 -1
  91. package/dist/parser-NMV5GTKC.cjs.map +0 -1
  92. package/dist/parser-YKATDDQV.js.map +0 -1
  93. package/dist/pdf-ocr-JXK752RC.cjs +0 -31
  94. package/dist/pdf-ocr-JXK752RC.cjs.map +0 -1
  95. package/dist/seal-LSALFURW.js +0 -10
  96. package/dist/visual-PHZHJRY5.js +0 -21
  97. /package/dist/{-TSN4SWFV.js.map → -Q56U3KCA.js.map} +0 -0
  98. /package/dist/{chunk-LEUS275C.js.map → chunk-33NZN73M.js.map} +0 -0
  99. /package/dist/{chunk-5EP6VFP5.js.map → chunk-3EWXRIPH.js.map} +0 -0
  100. /package/dist/{chunk-MI25BZSU.js.map → chunk-42FSKT7R.js.map} +0 -0
  101. /package/dist/{chunk-NAPPGU3W.js.map → chunk-4X73CGIL.js.map} +0 -0
  102. /package/dist/{chunk-6H7D4QTM.js.map → chunk-AEEQN6L3.js.map} +0 -0
  103. /package/dist/{chunk-G7SKCXQG.js.map → chunk-EEXIFCXC.js.map} +0 -0
  104. /package/dist/{chunk-YE4T2P6F.js.map → chunk-EWCJCWTT.js.map} +0 -0
  105. /package/dist/{chunk-AJ3DJSO6.js.map → chunk-FZT34MUI.js.map} +0 -0
  106. /package/dist/{chunk-BIVO2GMU.js.map → chunk-HNX2I7D6.js.map} +0 -0
  107. /package/dist/{chunk-W4P3QPSB.js.map → chunk-HU7POUBS.js.map} +0 -0
  108. /package/dist/{chunk-RVKOFZAT.js.map → chunk-I2QETSZN.js.map} +0 -0
  109. /package/dist/{chunk-WYYUWBTS.js.map → chunk-KXHNIHLC.js.map} +0 -0
  110. /package/dist/{chunk-2SMANR76.js.map → chunk-NKDPCALC.js.map} +0 -0
  111. /package/dist/{chunk-4BCQ3FQS.js.map → chunk-OAOM7IEI.js.map} +0 -0
  112. /package/dist/{chunk-SWCO5NP6.js.map → chunk-PHZDAHZC.js.map} +0 -0
  113. /package/dist/{chunk-L2OJUIII.js.map → chunk-PMX5CPK5.js.map} +0 -0
  114. /package/dist/{chunk-LEL5UBGR.js.map → chunk-Q2QKRE4P.js.map} +0 -0
  115. /package/dist/{chunk-RS2Q64N5.js.map → chunk-TZ753B6A.js.map} +0 -0
  116. /package/dist/{chunk-B77K6J3U.js.map → chunk-W6O7KBOD.js.map} +0 -0
  117. /package/dist/{chunk-ZR3BPESP.js.map → chunk-XAZ5RGVG.js.map} +0 -0
  118. /package/dist/{chunk-V2GW3M2F.js.map → chunk-XNNMMYFO.js.map} +0 -0
  119. /package/dist/{chunk-HP24FYLJ.js.map → chunk-XZOAE2Q7.js.map} +0 -0
  120. /package/dist/{chunks-HPPVNSBT.js.map → chunks-REYSCBPB.js.map} +0 -0
  121. /package/dist/{formula-6J26PNHL.js.map → formula-EA5GDCUD.js.map} +0 -0
  122. /package/dist/{formula-PNZX2ZAZ.js.map → formula-IREEAC4T.js.map} +0 -0
  123. /package/dist/{image-ocr-RPHNFU7I.js.map → image-ocr-JQJC5HWK.js.map} +0 -0
  124. /package/dist/{image-ocr-UNTKJLQL.js.map → image-ocr-LGOFUS3O.js.map} +0 -0
  125. /package/dist/{model-bundle-ZSDEJFA7.js.map → model-bundle-YW62Y6UD.js.map} +0 -0
  126. /package/dist/{models-JS66XYKO.js.map → models-AAL3IS2R.js.map} +0 -0
  127. /package/dist/{parse-worker-v2-JHPEY3MI.js.map → parse-worker-v2-3JAHV7NY.js.map} +0 -0
  128. /package/dist/{pdf-ocr-KTKR2JQH.js.map → pdf-ocr-HFAEOA7W.js.map} +0 -0
  129. /package/dist/{pdf-ocr-W3LDJYCA.js.map → pdf-ocr-Q4TPGDDI.js.map} +0 -0
  130. /package/dist/{profile-io-JRODOL7A.js.map → profile-io-EDQTKLLL.js.map} +0 -0
  131. /package/dist/{rasterize-2DMR7RGP.js.map → rasterize-VD2XGHUJ.js.map} +0 -0
  132. /package/dist/{redact-doc-TC6QSTPM.js.map → redact-doc-TBIBQJCT.js.map} +0 -0
  133. /package/dist/{render-WEUU5EDS.js.map → render-J5KAZAQH.js.map} +0 -0
  134. /package/dist/{seal-LSALFURW.js.map → seal-H2JNAZU7.js.map} +0 -0
  135. /package/dist/{setup-LKJKGMKJ.js.map → setup-5LYHCQRU.js.map} +0 -0
  136. /package/dist/{visual-PHZHJRY5.js.map → visual-7EO6GR3M.js.map} +0 -0
  137. /package/dist/{watch-HHFVXB3G.js.map → watch-YP4IWM75.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/chris_gomdori/workspace/kordoc/dist/chunk-J55UQC5H.cjs","../src/page-range.ts"],"names":[],"mappings":"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","file":"/Users/chris_gomdori/workspace/kordoc/dist/chunk-J55UQC5H.cjs","sourcesContent":[null,"/** 페이지/섹션 범위 파싱 유틸리티 */\n\n/**\n * 페이지 범위 지정을 1-based Set<number>로 변환.\n *\n * @param spec - [1,2,3] 또는 \"1-3\" 또는 \"1,3,5-7\"\n * @param maxPages - 최대 페이지 수 (클램핑 상한)\n * @returns 1-based 페이지 번호 Set\n */\nexport function parsePageRange(spec: number[] | string, maxPages: number): Set<number> {\n const result = new Set<number>()\n if (maxPages <= 0) return result\n\n if (Array.isArray(spec)) {\n for (const n of spec) {\n const page = Math.round(n)\n if (page >= 1 && page <= maxPages) result.add(page)\n }\n return result\n }\n\n if (typeof spec !== \"string\" || spec.trim() === \"\") return result\n\n const parts = spec.split(\",\")\n for (const part of parts) {\n const trimmed = part.trim()\n if (!trimmed) continue\n\n const rangeMatch = trimmed.match(/^(\\d+)\\s*-\\s*(\\d+)$/)\n if (rangeMatch) {\n const start = Math.max(1, parseInt(rangeMatch[1], 10))\n const end = Math.min(maxPages, parseInt(rangeMatch[2], 10))\n for (let i = start; i <= end; i++) result.add(i)\n } else {\n const page = parseInt(trimmed, 10)\n if (!isNaN(page) && page >= 1 && page <= maxPages) result.add(page)\n }\n }\n\n return result\n}\n\n/**\n * 파싱 상한 이후에 실제 문서 범위에 속하는 요청이 있는가. 경고용으로 전체 범위를 Set에 펼치면\n * 페이지 상한을 우회해 거대한 범위만큼 메모리를 쓰므로 구간 교차만 검사한다.\n * 배열의 Math.round, 단일 문자열의 parseInt 등 parsePageRange의 기존 문법은 그대로 유지한다.\n */\nexport function hasRequestedPagesAfter(spec: number[] | string, maxParsed: number, total: number): boolean {\n if (total <= 0 || total <= maxParsed) return false\n const beyond = (page: number): boolean => page >= 1 && page <= total && page > maxParsed\n if (Array.isArray(spec)) return spec.some(n => beyond(Math.round(n)))\n if (typeof spec !== \"string\" || spec.trim() === \"\") return false\n\n for (const part of spec.split(\",\")) {\n const trimmed = part.trim()\n if (!trimmed) continue\n const rangeMatch = trimmed.match(/^(\\d+)\\s*-\\s*(\\d+)$/)\n if (rangeMatch) {\n const start = Math.max(1, parseInt(rangeMatch[1], 10), Math.floor(maxParsed) + 1)\n const end = Math.min(total, parseInt(rangeMatch[2], 10))\n if (start <= end) return true\n } else if (beyond(parseInt(trimmed, 10))) return true\n }\n return false\n}\n"]}
1
+ {"version":3,"sources":["/Users/mong-e/workspace/kordoc/dist/chunk-J55UQC5H.cjs","../src/page-range.ts"],"names":[],"mappings":"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","file":"/Users/mong-e/workspace/kordoc/dist/chunk-J55UQC5H.cjs","sourcesContent":[null,"/** 페이지/섹션 범위 파싱 유틸리티 */\n\n/**\n * 페이지 범위 지정을 1-based Set<number>로 변환.\n *\n * @param spec - [1,2,3] 또는 \"1-3\" 또는 \"1,3,5-7\"\n * @param maxPages - 최대 페이지 수 (클램핑 상한)\n * @returns 1-based 페이지 번호 Set\n */\nexport function parsePageRange(spec: number[] | string, maxPages: number): Set<number> {\n const result = new Set<number>()\n if (maxPages <= 0) return result\n\n if (Array.isArray(spec)) {\n for (const n of spec) {\n const page = Math.round(n)\n if (page >= 1 && page <= maxPages) result.add(page)\n }\n return result\n }\n\n if (typeof spec !== \"string\" || spec.trim() === \"\") return result\n\n const parts = spec.split(\",\")\n for (const part of parts) {\n const trimmed = part.trim()\n if (!trimmed) continue\n\n const rangeMatch = trimmed.match(/^(\\d+)\\s*-\\s*(\\d+)$/)\n if (rangeMatch) {\n const start = Math.max(1, parseInt(rangeMatch[1], 10))\n const end = Math.min(maxPages, parseInt(rangeMatch[2], 10))\n for (let i = start; i <= end; i++) result.add(i)\n } else {\n const page = parseInt(trimmed, 10)\n if (!isNaN(page) && page >= 1 && page <= maxPages) result.add(page)\n }\n }\n\n return result\n}\n\n/**\n * 파싱 상한 이후에 실제 문서 범위에 속하는 요청이 있는가. 경고용으로 전체 범위를 Set에 펼치면\n * 페이지 상한을 우회해 거대한 범위만큼 메모리를 쓰므로 구간 교차만 검사한다.\n * 배열의 Math.round, 단일 문자열의 parseInt 등 parsePageRange의 기존 문법은 그대로 유지한다.\n */\nexport function hasRequestedPagesAfter(spec: number[] | string, maxParsed: number, total: number): boolean {\n if (total <= 0 || total <= maxParsed) return false\n const beyond = (page: number): boolean => page >= 1 && page <= total && page > maxParsed\n if (Array.isArray(spec)) return spec.some(n => beyond(Math.round(n)))\n if (typeof spec !== \"string\" || spec.trim() === \"\") return false\n\n for (const part of spec.split(\",\")) {\n const trimmed = part.trim()\n if (!trimmed) continue\n const rangeMatch = trimmed.match(/^(\\d+)\\s*-\\s*(\\d+)$/)\n if (rangeMatch) {\n const start = Math.max(1, parseInt(rangeMatch[1], 10), Math.floor(maxParsed) + 1)\n const end = Math.min(total, parseInt(rangeMatch[2], 10))\n if (start <= end) return true\n } else if (beyond(parseInt(trimmed, 10))) return true\n }\n return false\n}\n"]}
@@ -4,15 +4,15 @@
4
4
 
5
5
 
6
6
 
7
- var _chunk5QBTJ4LAcjs = require('./chunk-5QBTJ4LA.cjs');
7
+ var _chunkN65EY5BIcjs = require('./chunk-N65EY5BI.cjs');
8
8
 
9
9
 
10
10
 
11
- var _chunkRIQVVWVFcjs = require('./chunk-RIQVVWVF.cjs');
11
+ var _chunkVFEI2GIEcjs = require('./chunk-VFEI2GIE.cjs');
12
12
 
13
13
 
14
14
 
15
- var _chunkTYXXTWPHcjs = require('./chunk-TYXXTWPH.cjs');
15
+ var _chunk6ZRZLV3Jcjs = require('./chunk-6ZRZLV3J.cjs');
16
16
 
17
17
  // src/ocr/models.ts
18
18
  var _path = require('path');
@@ -56,7 +56,7 @@ var OCR_REC_DICT = {
56
56
  sizeMb: 1
57
57
  };
58
58
  function getOcrModelsDir() {
59
- return _chunkRIQVVWVFcjs.getModelsDir.call(void 0, "ppocr");
59
+ return _chunkVFEI2GIEcjs.getModelsDir.call(void 0, "ppocr");
60
60
  }
61
61
  var DEFAULT_OCR_MODELS = Object.freeze({
62
62
  det: { spec: OCR_DET_MODEL },
@@ -98,7 +98,7 @@ async function ensureOcrModelsFor(sel, onProgress) {
98
98
  if (!stamp || verifiedInProcess.get(path) !== stamp) todo.push(s.spec);
99
99
  }
100
100
  if (!todo.length) return;
101
- await _chunkRIQVVWVFcjs.ensureModelsIn.call(void 0, dir, todo, onProgress);
101
+ await _chunkVFEI2GIEcjs.ensureModelsIn.call(void 0, dir, todo, onProgress);
102
102
  for (const spec of todo) {
103
103
  const path = _path.join.call(void 0, dir, spec.filename), stamp = await fileStamp(path);
104
104
  if (stamp) verifiedInProcess.set(path, stamp);
@@ -2147,16 +2147,16 @@ function recordOpenEndCellEdges(grid, cells, horizontals) {
2147
2147
  }
2148
2148
  function takeClipCellEdges(from, to) {
2149
2149
  const e = CLIP_CELL_EDGES.get(from);
2150
- if (e) _chunk5QBTJ4LAcjs.CELL_EDGES.set(to, e);
2150
+ if (e) _chunkN65EY5BIcjs.CELL_EDGES.set(to, e);
2151
2151
  }
2152
2152
  function hasOpenCellSeam(a, b) {
2153
- const u = _chunk5QBTJ4LAcjs.CELL_EDGES.get(a), d = _chunk5QBTJ4LAcjs.CELL_EDGES.get(b);
2153
+ const u = _chunkN65EY5BIcjs.CELL_EDGES.get(a), d = _chunkN65EY5BIcjs.CELL_EDGES.get(b);
2154
2154
  return !!u && !!d && u.t && !u.b && !d.t && d.b && u.l && u.r && d.l && d.r;
2155
2155
  }
2156
2156
  function joinCellEdges(a, b) {
2157
- const u = _chunk5QBTJ4LAcjs.CELL_EDGES.get(a), d = _chunk5QBTJ4LAcjs.CELL_EDGES.get(b);
2157
+ const u = _chunkN65EY5BIcjs.CELL_EDGES.get(a), d = _chunkN65EY5BIcjs.CELL_EDGES.get(b);
2158
2158
  if (!u || !d) return;
2159
- _chunk5QBTJ4LAcjs.CELL_EDGES.set(a, { t: u.t, b: d.b, l: u.l || d.l, r: u.r || d.r });
2159
+ _chunkN65EY5BIcjs.CELL_EDGES.set(a, { t: u.t, b: d.b, l: u.l || d.l, r: u.r || d.r });
2160
2160
  }
2161
2161
 
2162
2162
  // src/pdf/cell-extract.ts
@@ -2332,7 +2332,7 @@ function tagScripts(text, lines) {
2332
2332
  const [s, e, kind] = marks[m];
2333
2333
  out = out.slice(0, s) + `<${kind}>` + out.slice(s, e) + `</${kind}>` + out.slice(e);
2334
2334
  }
2335
- return _chunk5QBTJ4LAcjs.tidyScriptTags.call(void 0, out);
2335
+ return _chunkN65EY5BIcjs.tidyScriptTags.call(void 0, out);
2336
2336
  }
2337
2337
 
2338
2338
  // src/pdf/line-wrap.ts
@@ -5391,9 +5391,9 @@ function detectHeadings(blocks, medianFontSize) {
5391
5391
  if (/^\d+$/.test(text) && !isChapterNumber(block, blocks[bi + 1], medianFontSize)) continue;
5392
5392
  const ratio = block.style.fontSize / medianFontSize;
5393
5393
  let level = 0;
5394
- if (ratio >= _chunk5QBTJ4LAcjs.HEADING_RATIO_H1) level = 1;
5395
- else if (ratio >= _chunk5QBTJ4LAcjs.HEADING_RATIO_H2) level = 2;
5396
- else if (ratio >= _chunk5QBTJ4LAcjs.HEADING_RATIO_H3) level = 3;
5394
+ if (ratio >= _chunkN65EY5BIcjs.HEADING_RATIO_H1) level = 1;
5395
+ else if (ratio >= _chunkN65EY5BIcjs.HEADING_RATIO_H2) level = 2;
5396
+ else if (ratio >= _chunkN65EY5BIcjs.HEADING_RATIO_H3) level = 3;
5397
5397
  if (level > 0) {
5398
5398
  block.type = "heading";
5399
5399
  block.level = level;
@@ -5406,7 +5406,7 @@ function isChapterNumber(block, next, medianFontSize) {
5406
5406
  const nextSize = _nullishCoalesce(_optionalChain([next, 'optionalAccess', _159 => _159.style, 'optionalAccess', _160 => _160.fontSize]), () => ( 0));
5407
5407
  const text = _nullishCoalesce(_optionalChain([next, 'optionalAccess', _161 => _161.text, 'optionalAccess', _162 => _162.trim, 'call', _163 => _163()]), () => ( ""));
5408
5408
  const a = block.bbox, b = _optionalChain([next, 'optionalAccess', _164 => _164.bbox]);
5409
- return /^\d{1,2}$/.test(_nullishCoalesce(_optionalChain([block, 'access', _165 => _165.text, 'optionalAccess', _166 => _166.trim, 'call', _167 => _167()]), () => ( ""))) && size >= medianFontSize * 2.5 && !!next && (next.type === "paragraph" || next.type === "heading") && next.pageNumber === block.pageNumber && nextSize >= medianFontSize * _chunk5QBTJ4LAcjs.HEADING_RATIO_H1 && text.length > 0 && text.length <= 80 && !/^[\d\s.]+$/.test(text) && !!a && !!b && a.y > b.y && a.y - (b.y + b.height) <= size * 2;
5409
+ return /^\d{1,2}$/.test(_nullishCoalesce(_optionalChain([block, 'access', _165 => _165.text, 'optionalAccess', _166 => _166.trim, 'call', _167 => _167()]), () => ( ""))) && size >= medianFontSize * 2.5 && !!next && (next.type === "paragraph" || next.type === "heading") && next.pageNumber === block.pageNumber && nextSize >= medianFontSize * _chunkN65EY5BIcjs.HEADING_RATIO_H1 && text.length > 0 && text.length <= 80 && !/^[\d\s.]+$/.test(text) && !!a && !!b && a.y > b.y && a.y - (b.y + b.height) <= size * 2;
5410
5410
  }
5411
5411
  function mergeStackedHeadingLines(blocks, medianFontSize) {
5412
5412
  for (let i = 0; i < blocks.length - 1; ) {
@@ -6944,16 +6944,16 @@ function isProseSpread(items) {
6944
6944
  for (let i = 1; i < sorted.length; i++) {
6945
6945
  gaps.push(sorted[i].x - (sorted[i - 1].x + sorted[i - 1].w));
6946
6946
  }
6947
- const maxGap = _chunkTYXXTWPHcjs.safeMax.call(void 0, gaps);
6947
+ const maxGap = _chunk6ZRZLV3Jcjs.safeMax.call(void 0, gaps);
6948
6948
  const avgLen = items.reduce((s, i) => s + i.text.length, 0) / items.length;
6949
6949
  if (items.length >= 4 && maxGap < 40 && avgLen < 5) return true;
6950
- const minGap = _chunkTYXXTWPHcjs.safeMin.call(void 0, gaps);
6950
+ const minGap = _chunk6ZRZLV3Jcjs.safeMin.call(void 0, gaps);
6951
6951
  return minGap > 0 && maxGap - minGap <= Math.max(2, maxGap * 0.15) && (items.filter((i) => /^\P{L}*\p{Ll}/u.test(i.text)).length * 2 >= items.length || items.some((i) => /\p{L}[,.;:]["”’)]?$/u.test(i.text)));
6952
6952
  }
6953
6953
  function detectColumns(yLines) {
6954
6954
  const allItems = yLines.flat();
6955
6955
  if (allItems.length === 0) return null;
6956
- const pageWidth = _chunkTYXXTWPHcjs.safeMax.call(void 0, allItems.map((i) => i.x + i.w)) - _chunkTYXXTWPHcjs.safeMin.call(void 0, allItems.map((i) => i.x));
6956
+ const pageWidth = _chunk6ZRZLV3Jcjs.safeMax.call(void 0, allItems.map((i) => i.x + i.w)) - _chunk6ZRZLV3Jcjs.safeMin.call(void 0, allItems.map((i) => i.x));
6957
6957
  if (pageWidth < 100) return null;
6958
6958
  let bigoLineIdx = -1;
6959
6959
  for (let i = 0; i < yLines.length; i++) {
@@ -7445,7 +7445,7 @@ function rebuildUnitLine(items, grid) {
7445
7445
  function prependUnitRow(cells, cols, line, usedItems) {
7446
7446
  const text = cleanCellText(line.map((item) => item.text).join(""));
7447
7447
  cells.unshift(Array.from({ length: cols }, (_, c) => ({ text: c === 0 ? text : "", colSpan: c === 0 ? cols : 1, rowSpan: 1 })));
7448
- for (const cell of cells[0]) _chunk5QBTJ4LAcjs.CELL_EDGES.set(cell, NO_EDGES);
7448
+ for (const cell of cells[0]) _chunkN65EY5BIcjs.CELL_EDGES.set(cell, NO_EDGES);
7449
7449
  for (const item of line) usedItems.add(item);
7450
7450
  }
7451
7451
  function attachUnitRow(items, grid, cells, cols, usedItems) {
@@ -7977,7 +7977,7 @@ function recordFrameTitle(table, source, pageNum) {
7977
7977
  const [label, spacer, title] = cells;
7978
7978
  if (!/^(?:붙임|별첨|첨부|부록)\s*\d{1,3}$/.test(label.text.trim()) || spacer.text.trim() || !title.text.trim()) return;
7979
7979
  if (cells.some((c) => {
7980
- const e = _chunk5QBTJ4LAcjs.CELL_EDGES.get(c);
7980
+ const e = _chunkN65EY5BIcjs.CELL_EDGES.get(c);
7981
7981
  return !e || e.t || e.b || e.l || e.r;
7982
7982
  })) return;
7983
7983
  const xs = TABLE_COLXS.get(table), style = dominantStyle(source), fs = _nullishCoalesce(_optionalChain([style, 'optionalAccess', _358 => _358.fontSize]), () => ( 0));
@@ -8558,7 +8558,7 @@ function extractBlocksWithGrids(items, pageNum, pageWidth, pageHeight, grids, ho
8558
8558
  groupSizes.push(1);
8559
8559
  }
8560
8560
  const allY = remaining.map((i) => i.y);
8561
- const pageH = _chunkTYXXTWPHcjs.safeMax.call(void 0, allY) - _chunkTYXXTWPHcjs.safeMin.call(void 0, allY);
8561
+ const pageH = _chunk6ZRZLV3Jcjs.safeMax.call(void 0, allY) - _chunk6ZRZLV3Jcjs.safeMin.call(void 0, allY);
8562
8562
  const gapThreshold = Math.max(15, pageH * 0.03);
8563
8563
  const sides = frameColumnTextBands(remaining, spanning, gx);
8564
8564
  const textBlocks = [];
@@ -8574,7 +8574,7 @@ function extractBlocksWithGrids(items, pageNum, pageWidth, pageHeight, grids, ho
8574
8574
  finalTextBlocks.push(...detectListBlocks(textBlocks));
8575
8575
  } else {
8576
8576
  const allY = remaining.map((i) => i.y);
8577
- const pageH = _chunkTYXXTWPHcjs.safeMax.call(void 0, allY) - _chunkTYXXTWPHcjs.safeMin.call(void 0, allY);
8577
+ const pageH = _chunk6ZRZLV3Jcjs.safeMax.call(void 0, allY) - _chunk6ZRZLV3Jcjs.safeMin.call(void 0, allY);
8578
8578
  const gapThreshold = Math.max(15, pageH * 0.03);
8579
8579
  const groups = xyCutOrder(remaining, gapThreshold);
8580
8580
  const textBlocks = [];
@@ -8902,7 +8902,7 @@ function extractPageBlocksFallback(items, pageNum, fullPage = false, detectTable
8902
8902
  blocks.push(...columnTextToBlocks(tableText, pageNum, bbox, dominantStyle(items)));
8903
8903
  } else {
8904
8904
  const allY = items.map((i) => i.y);
8905
- const pageHeight = _chunkTYXXTWPHcjs.safeMax.call(void 0, allY) - _chunkTYXXTWPHcjs.safeMin.call(void 0, allY);
8905
+ const pageHeight = _chunk6ZRZLV3Jcjs.safeMax.call(void 0, allY) - _chunk6ZRZLV3Jcjs.safeMin.call(void 0, allY);
8906
8906
  const gapThreshold = Math.max(15, pageHeight * 0.03);
8907
8907
  const orderedGroups = proseCutX !== null ? splitTwoColumnProse(items, proseCutX) : xyCutOrder(items, gapThreshold, 0, void 0, minGap);
8908
8908
  for (const group of orderedGroups) {
@@ -9118,4 +9118,4 @@ function rowParagraphs(block) {
9118
9118
 
9119
9119
 
9120
9120
  exports.DEFAULT_OCR_MODELS = DEFAULT_OCR_MODELS; exports.resolveOcrModels = resolveOcrModels; exports.ocrSelectionKey = ocrSelectionKey; exports.ocrSourcePath = ocrSourcePath; exports.ensureOcrModelsFor = ensureOcrModelsFor; exports.ocrModelsCached = ocrModelsCached; exports.parseCharacterDict = parseCharacterDict; exports.extractLines = extractLines; exports.extractImageRegions = extractImageRegions; exports.NO_EDGES = NO_EDGES; exports.hasOpenCellSeam = hasOpenCellSeam; exports.joinCellEdges = joinCellEdges; exports.filterHiddenText = filterHiddenText; exports.collapseEvenSpacing = collapseEvenSpacing; exports.computeBBox = computeBBox; exports.dominantStyle = dominantStyle; exports.normalizeItems = normalizeItems; exports.groupByY = groupByY; exports.mergeLineSimple = mergeLineSimple; exports.WrapLexicon = WrapLexicon; exports.startsNewItem = startsNewItem; exports.wrapJoiner = wrapJoiner; exports.joinPageBreakWraps = joinPageBreakWraps; exports.splitPageBreakWraps = splitPageBreakWraps; exports.latinSoftWrap = latinSoftWrap; exports.TOC_BLOCKS = TOC_BLOCKS; exports.computeMedianFontSizeFromFreq = computeMedianFontSizeFromFreq; exports.detectHeadings = detectHeadings; exports.mergeStackedHeadingLines = mergeStackedHeadingLines; exports.detectTypographyHeadings = detectTypographyHeadings; exports.detectDocumentStyleHeadings = detectDocumentStyleHeadings; exports.detectSiblingStyleHeadings = detectSiblingStyleHeadings; exports.detectRepeatedPageLabels = detectRepeatedPageLabels; exports.detectPageLeadHeadings = detectPageLeadHeadings; exports.refineDocumentStyleHeadings = refineDocumentStyleHeadings; exports.detectMarkerHeadings = detectMarkerHeadings; exports.detectTableCaptions = detectTableCaptions; exports.detectKoreanListBlocks = detectKoreanListBlocks; exports.removeHeaderFooterBlocks = removeHeaderFooterBlocks; exports.runningLinePatterns = runningLinePatterns; exports.stripAbsorbedRunningLines = stripAbsorbedRunningLines; exports.CLIP_TABLES = CLIP_TABLES; exports.FRAME_TITLE_BLOCKS = FRAME_TITLE_BLOCKS; exports.TABLE_COLXS = TABLE_COLXS; exports.TABLE_ROWYS = TABLE_ROWYS; exports.TABLE_TAIL = TABLE_TAIL; exports.PART_COLXS = PART_COLXS; exports.EMPTY_PARTS = EMPTY_PARTS; exports.IMAGE_CELLS = IMAGE_CELLS; exports.FILLER_CELLS = FILLER_CELLS; exports.CONT_PARTS = CONT_PARTS; exports.CELL_LINES = CELL_LINES; exports.ROW_RULES = ROW_RULES; exports.trimTrailingEmptyTableCols = trimTrailingEmptyTableCols; exports.restoreImageBullets = restoreImageBullets; exports.detectRightArrowRegions = detectRightArrowRegions; exports.removeSideTabs = removeSideTabs; exports.extractPageBlocksWithLines = extractPageBlocksWithLines; exports.UNRULED_REGION_TABLES = UNRULED_REGION_TABLES; exports.mergeOcrImageRegions = mergeOcrImageRegions;
9121
- //# sourceMappingURL=chunk-4VNIEHWM.cjs.map
9121
+ //# sourceMappingURL=chunk-JILIA5EV.cjs.map