kordoc 4.19.2 → 4.21.0

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 (134) hide show
  1. package/NOTICE +47 -0
  2. package/README.md +4 -1
  3. package/THIRD_PARTY/hwp-auto-docfit.LICENSE +23 -0
  4. package/THIRD_PARTY/korean-report-hwpx.LICENSE +21 -0
  5. package/dist/{-3JIHF2AL.js → -LJL6UNRO.js} +17 -11
  6. package/dist/{chunk-ORGWGR4K.cjs → chunk-2OTAFZ2Y.cjs} +6 -6
  7. package/dist/{chunk-ORGWGR4K.cjs.map → chunk-2OTAFZ2Y.cjs.map} +1 -1
  8. package/dist/{chunk-T2DZTOGG.cjs → chunk-3ITKDX7E.cjs} +12 -12
  9. package/dist/{chunk-T2DZTOGG.cjs.map → chunk-3ITKDX7E.cjs.map} +1 -1
  10. package/dist/{chunk-B4R443MV.js → chunk-6EXVHTBH.js} +2 -2
  11. package/dist/{chunk-AOVMOCTK.js → chunk-6SG56DDC.js} +2 -2
  12. package/dist/{chunk-5PGOZBEQ.cjs → chunk-7QL3G7UF.cjs} +22 -22
  13. package/dist/{chunk-5PGOZBEQ.cjs.map → chunk-7QL3G7UF.cjs.map} +1 -1
  14. package/dist/{chunk-R2JM2HOJ.js → chunk-ALCZCRIU.js} +4 -4
  15. package/dist/{chunk-PWQ2BVAT.js → chunk-D4EDAS3V.js} +22 -3
  16. package/dist/{chunk-PWQ2BVAT.js.map → chunk-D4EDAS3V.js.map} +1 -1
  17. package/dist/{chunk-OKHKEYTL.js → chunk-FNHELO37.js} +2 -2
  18. package/dist/{chunk-QYJPU4FZ.js → chunk-G57LD7SG.js} +2 -2
  19. package/dist/{chunk-TM4T4NYJ.js → chunk-GYPEF6GQ.js} +2 -2
  20. package/dist/{chunk-56ZWAREM.js → chunk-HDP2H33I.js} +2 -2
  21. package/dist/{chunk-VO22VAR3.js → chunk-JEKZXUIJ.js} +2 -2
  22. package/dist/{chunk-WQAGDJIP.cjs → chunk-JL525ZAU.cjs} +3 -3
  23. package/dist/{chunk-WQAGDJIP.cjs.map → chunk-JL525ZAU.cjs.map} +1 -1
  24. package/dist/{chunk-RVBQT2PD.cjs → chunk-JUFEZMXC.cjs} +3 -3
  25. package/dist/{chunk-RVBQT2PD.cjs.map → chunk-JUFEZMXC.cjs.map} +1 -1
  26. package/dist/chunk-LRHVFJ5J.js +29 -0
  27. package/dist/chunk-LRHVFJ5J.js.map +1 -0
  28. package/dist/{chunk-EUCBMW6C.js → chunk-MCMMGZOJ.js} +3 -3
  29. package/dist/{chunk-I2TBI7PN.js → chunk-O23XMVMP.js} +2 -2
  30. package/dist/{chunk-XPM7WC54.js → chunk-O33PS3VI.js} +4 -4
  31. package/dist/{chunk-6ZBORHFB.js → chunk-OVBIDELJ.js} +2 -2
  32. package/dist/{chunk-NV46IWKF.js → chunk-QQERGR6C.js} +440 -29
  33. package/dist/chunk-QQERGR6C.js.map +1 -0
  34. package/dist/{chunk-JXJDXDOU.js → chunk-SEVFALDF.js} +3 -3
  35. package/dist/{chunk-AKSCTGKG.js → chunk-T3EVQHOP.js} +2 -2
  36. package/dist/{chunk-MZ6XNFZL.cjs → chunk-UYKDMNLD.cjs} +2 -2
  37. package/dist/{chunk-MZ6XNFZL.cjs.map → chunk-UYKDMNLD.cjs.map} +1 -1
  38. package/dist/{chunk-QZ63HXEG.js → chunk-VSSMJKOX.js} +11 -9
  39. package/dist/chunk-VSSMJKOX.js.map +1 -0
  40. package/dist/{chunk-4CS7XE2Q.js → chunk-WB6RROCW.js} +2 -2
  41. package/dist/{chunk-JK7N4R4K.js → chunk-WUJNUWZ4.js} +2 -2
  42. package/dist/{chunk-J75TVRJB.js → chunk-XZ3HIQXC.js} +2 -2
  43. package/dist/{chunk-GNUGD4RO.js → chunk-ZJDZH647.js} +2 -2
  44. package/dist/{chunk-QPJXYJIK.js → chunk-ZKHLC7ZG.js} +3 -2
  45. package/dist/chunk-ZKHLC7ZG.js.map +1 -0
  46. package/dist/{chunk-U6AJU2VD.js → chunk-ZNCOOG54.js} +2 -2
  47. package/dist/chunks-XOKXUJ67.js +10 -0
  48. package/dist/cli.js +414 -65
  49. package/dist/cli.js.map +1 -1
  50. package/dist/{formula-STIFIS57.js → formula-AD75YRCB.js} +3 -3
  51. package/dist/{formula-RNATQ3FQ.cjs → formula-B7GGECPZ.cjs} +9 -9
  52. package/dist/{formula-RNATQ3FQ.cjs.map → formula-B7GGECPZ.cjs.map} +1 -1
  53. package/dist/{formula-RSTTP626.js → formula-JULH7HF6.js} +4 -4
  54. package/dist/{image-ocr-R6ZDFBAN.js → image-ocr-2UJ6QP63.js} +6 -6
  55. package/dist/{image-ocr-XKSAEEXP.js → image-ocr-3C3K64AD.js} +9 -9
  56. package/dist/{image-ocr-7L5TBBPA.cjs → image-ocr-E2IN6D4B.cjs} +15 -15
  57. package/dist/{image-ocr-7L5TBBPA.cjs.map → image-ocr-E2IN6D4B.cjs.map} +1 -1
  58. package/dist/index.cjs +977 -551
  59. package/dist/index.cjs.map +1 -1
  60. package/dist/index.d.cts +104 -3
  61. package/dist/index.d.ts +104 -3
  62. package/dist/index.js +453 -27
  63. package/dist/index.js.map +1 -1
  64. package/dist/mcp.js +34 -27
  65. package/dist/mcp.js.map +1 -1
  66. package/dist/{model-bundle-NGTKULP7.js → model-bundle-XT5IXIZ3.js} +5 -5
  67. package/dist/{models-QOSU5SYL.js → models-NDSZF5T2.js} +5 -5
  68. package/dist/parse-worker-v2-XTDC2E3M.js +285 -0
  69. package/dist/parse-worker-v2-XTDC2E3M.js.map +1 -0
  70. package/dist/{parser-3G4G6SST.js → parser-3W5XWIE5.js} +11 -11
  71. package/dist/{parser-AIQBU7FS.cjs → parser-V2JLOQIC.cjs} +132 -132
  72. package/dist/{parser-AIQBU7FS.cjs.map → parser-V2JLOQIC.cjs.map} +1 -1
  73. package/dist/{parser-5GUEP6EK.js → parser-VE7A5K7X.js} +8 -8
  74. package/dist/pdf-ocr-KZ56UECD.js +20 -0
  75. package/dist/pdf-ocr-L4EUIDIW.js +16 -0
  76. package/dist/pdf-ocr-XPLOCBYI.cjs +17 -0
  77. package/dist/{pdf-ocr-7OAFUDM4.cjs.map → pdf-ocr-XPLOCBYI.cjs.map} +1 -1
  78. package/dist/{profile-io-ZVNMDLLS.js → profile-io-7Z6CPLR2.js} +3 -3
  79. package/dist/{rasterize-Y2RLMVCL.js → rasterize-IF2FNQ7Y.js} +3 -3
  80. package/dist/{redact-doc-PNRDDBI3.js → redact-doc-HE42N4TZ.js} +11 -11
  81. package/dist/{render-S3ALARVO.js → render-6ZE75NBK.js} +7 -7
  82. package/dist/seal-N2Q7WC4V.js +10 -0
  83. package/dist/{setup-JH66VSFZ.js → setup-ZTYMTCEJ.js} +3 -3
  84. package/dist/visual-3YC2PLLG.js +20 -0
  85. package/dist/{watch-KMB2FTOD.js → watch-WELSQDEN.js} +12 -12
  86. package/package.json +1 -1
  87. package/dist/chunk-NV46IWKF.js.map +0 -1
  88. package/dist/chunk-QPJXYJIK.js.map +0 -1
  89. package/dist/chunk-QZ63HXEG.js.map +0 -1
  90. package/dist/chunks-2EC2R7PY.js +0 -10
  91. package/dist/pdf-ocr-7OAFUDM4.cjs +0 -17
  92. package/dist/pdf-ocr-DAXS5RX4.js +0 -16
  93. package/dist/pdf-ocr-R3VGX6F2.js +0 -20
  94. package/dist/seal-EJWPS5VK.js +0 -10
  95. package/dist/visual-GDXMKDVY.js +0 -20
  96. /package/dist/{-3JIHF2AL.js.map → -LJL6UNRO.js.map} +0 -0
  97. /package/dist/{chunk-B4R443MV.js.map → chunk-6EXVHTBH.js.map} +0 -0
  98. /package/dist/{chunk-AOVMOCTK.js.map → chunk-6SG56DDC.js.map} +0 -0
  99. /package/dist/{chunk-R2JM2HOJ.js.map → chunk-ALCZCRIU.js.map} +0 -0
  100. /package/dist/{chunk-OKHKEYTL.js.map → chunk-FNHELO37.js.map} +0 -0
  101. /package/dist/{chunk-QYJPU4FZ.js.map → chunk-G57LD7SG.js.map} +0 -0
  102. /package/dist/{chunk-TM4T4NYJ.js.map → chunk-GYPEF6GQ.js.map} +0 -0
  103. /package/dist/{chunk-56ZWAREM.js.map → chunk-HDP2H33I.js.map} +0 -0
  104. /package/dist/{chunk-VO22VAR3.js.map → chunk-JEKZXUIJ.js.map} +0 -0
  105. /package/dist/{chunk-EUCBMW6C.js.map → chunk-MCMMGZOJ.js.map} +0 -0
  106. /package/dist/{chunk-I2TBI7PN.js.map → chunk-O23XMVMP.js.map} +0 -0
  107. /package/dist/{chunk-XPM7WC54.js.map → chunk-O33PS3VI.js.map} +0 -0
  108. /package/dist/{chunk-6ZBORHFB.js.map → chunk-OVBIDELJ.js.map} +0 -0
  109. /package/dist/{chunk-JXJDXDOU.js.map → chunk-SEVFALDF.js.map} +0 -0
  110. /package/dist/{chunk-AKSCTGKG.js.map → chunk-T3EVQHOP.js.map} +0 -0
  111. /package/dist/{chunk-4CS7XE2Q.js.map → chunk-WB6RROCW.js.map} +0 -0
  112. /package/dist/{chunk-JK7N4R4K.js.map → chunk-WUJNUWZ4.js.map} +0 -0
  113. /package/dist/{chunk-J75TVRJB.js.map → chunk-XZ3HIQXC.js.map} +0 -0
  114. /package/dist/{chunk-GNUGD4RO.js.map → chunk-ZJDZH647.js.map} +0 -0
  115. /package/dist/{chunk-U6AJU2VD.js.map → chunk-ZNCOOG54.js.map} +0 -0
  116. /package/dist/{chunks-2EC2R7PY.js.map → chunks-XOKXUJ67.js.map} +0 -0
  117. /package/dist/{formula-STIFIS57.js.map → formula-AD75YRCB.js.map} +0 -0
  118. /package/dist/{formula-RSTTP626.js.map → formula-JULH7HF6.js.map} +0 -0
  119. /package/dist/{image-ocr-R6ZDFBAN.js.map → image-ocr-2UJ6QP63.js.map} +0 -0
  120. /package/dist/{image-ocr-XKSAEEXP.js.map → image-ocr-3C3K64AD.js.map} +0 -0
  121. /package/dist/{model-bundle-NGTKULP7.js.map → model-bundle-XT5IXIZ3.js.map} +0 -0
  122. /package/dist/{models-QOSU5SYL.js.map → models-NDSZF5T2.js.map} +0 -0
  123. /package/dist/{parser-3G4G6SST.js.map → parser-3W5XWIE5.js.map} +0 -0
  124. /package/dist/{parser-5GUEP6EK.js.map → parser-VE7A5K7X.js.map} +0 -0
  125. /package/dist/{pdf-ocr-DAXS5RX4.js.map → pdf-ocr-KZ56UECD.js.map} +0 -0
  126. /package/dist/{pdf-ocr-R3VGX6F2.js.map → pdf-ocr-L4EUIDIW.js.map} +0 -0
  127. /package/dist/{profile-io-ZVNMDLLS.js.map → profile-io-7Z6CPLR2.js.map} +0 -0
  128. /package/dist/{rasterize-Y2RLMVCL.js.map → rasterize-IF2FNQ7Y.js.map} +0 -0
  129. /package/dist/{redact-doc-PNRDDBI3.js.map → redact-doc-HE42N4TZ.js.map} +0 -0
  130. /package/dist/{render-S3ALARVO.js.map → render-6ZE75NBK.js.map} +0 -0
  131. /package/dist/{seal-EJWPS5VK.js.map → seal-N2Q7WC4V.js.map} +0 -0
  132. /package/dist/{setup-JH66VSFZ.js.map → setup-ZTYMTCEJ.js.map} +0 -0
  133. /package/dist/{visual-GDXMKDVY.js.map → visual-3YC2PLLG.js.map} +0 -0
  134. /package/dist/{watch-KMB2FTOD.js.map → watch-WELSQDEN.js.map} +0 -0
package/NOTICE CHANGED
@@ -174,3 +174,50 @@ Used in:
174
174
 
175
175
  You may obtain a copy of the MIT License at:
176
176
  https://opensource.org/licenses/MIT
177
+
178
+ ================================================================================
179
+
180
+ hwp-auto-docfit
181
+ https://github.com/haijun93/hwp-auto-docfit
182
+
183
+ Copyright (c) 2026 haijun93 (마포구청 공혁준)
184
+ Licensed under the MIT License
185
+
186
+ Used in:
187
+ - src/hwpx/gongmun-lint.ts — 기간 대시·요일·"끝."/붙임 2타 규칙 착안, 공공언어 쉬운 말·맞춤법
188
+ 낱말표와 조사 경계식 (document_rules.py·writing_aids.py·korean_proofread.py)
189
+ - src/hwpx/paste-clean.ts — 생성형 AI 붙여넣기 흔적(보이지 않는 글자·† 인용 표시·이스케이프된 굵게) 정리 규칙 착안 (pasted_text.py)
190
+ - src/hwpx/gongmun-typo.ts — 열거 뒤 '등'·'낱말 숫자,' 열거 묶음 빈칸 규칙 착안
191
+ - src/hwpx/number-lint.ts — 본문 수치 ↔ 표 수치 대조 범위·임계값 (number_check.py)
192
+ - src/hwpx/level-styles.ts — 단계별 대표 서식 투표 임계값과 편차 검수 (style_unify.py·document_review.py)
193
+ - src/roundtrip/integrity.ts — 패치 결과 다층 무결성 검사 착안 (fidelity/verify.py)
194
+
195
+ Modifications:
196
+ - TypeScript 재구현(규칙·임계값은 kordoc 코퍼스로 다시 확인), 한/글 COM 의존 없음
197
+
198
+ 라이선스 전문: THIRD_PARTY/hwp-auto-docfit.LICENSE
199
+
200
+ You may obtain a copy of the MIT License at:
201
+ https://opensource.org/licenses/MIT
202
+
203
+ ================================================================================
204
+
205
+ korean-report-hwpx
206
+ https://github.com/UpstageAI/korean-report-hwpx
207
+
208
+ Copyright (c) 2026 Upstage (작성 Mia, 윤승미)
209
+ Licensed under the MIT License
210
+
211
+ Used in:
212
+ - src/hwpx/agency-styles.ts — 중앙행정기관별 서식 실측값(정책브리핑 보도자료 2,670건 집계: rules/·rules_report/·
213
+ rules_report/_참고머리.json)을 scripts/build-agency-styles.mjs 로 옮긴 데이터. 계층값 보정 규칙(engine/compose.py·report.py)도 같다
214
+ - src/hwpx/gen-docframe.ts — 보도자료 담당 표 6칸 꼴과 칸 폭 비율 (engine/compose.py contact)
215
+
216
+ Modifications:
217
+ - 원천 JSON 을 그대로 싣지 않고 kordoc 이 쓰는 값(단계 글꼴·크기·2단계 부호·표 머리·라벨 칸 색·본문 방식)만 뽑았다.
218
+ 연한 라벨 칸 바탕의 글자색은 검정으로 정했다(원천 기본은 흰색). 생성 엔진은 kordoc 자체 구현
219
+
220
+ 라이선스 전문: THIRD_PARTY/korean-report-hwpx.LICENSE
221
+
222
+ You may obtain a copy of the MIT License at:
223
+ https://opensource.org/licenses/MIT
package/README.md CHANGED
@@ -111,10 +111,12 @@ await writeFile("보고서.hwpx", Buffer.from(hwpx))
111
111
 
112
112
  ## 최근 업데이트
113
113
 
114
- 최신 배포: **[4.19.2](https://github.com/chrisryugj/kordoc/releases/tag/v4.19.2)** · 2026-10-07
114
+ 최신 배포: **[4.21.0](https://github.com/chrisryugj/kordoc/releases/tag/v4.21.0)** · 2026-10-08
115
115
 
116
116
  | 버전 | 주요 변경 |
117
117
  | --- | --- |
118
+ | 4.21.0 | 중앙부처 기관 서식 `--agency`(보도자료 2,670건·52개 기관 실측 단계 글꼴·크기·2단계 부호 ◦·❍·표 머리·기관 색), 보도자료 담당 표 사람별 행(`--press-people`), 폭표 없는 글꼴의 생성 폭 계산 보정 |
119
+ | 4.20.0 | 표기법 검수 7룰(기간 대시·요일·금액 한글·공공언어·맞춤법·2타)과 문서 직접 검수·수치 대조·단계별 서식 편차, 견본 HWPX 단계별 서식 학습(`levels`·`--levels-from`), `compare`·`patch --json`, 패치 무결성 검사, 붙여넣기 흔적 정리 |
118
120
  | 4.19.2 | rhwp v0.8.7 파서 수정 반영 — HWP3 체크박스 □, HWP5 짝 없는 서로게이트 □, 손상 CFB 복구의 본문 경로 오인 수정, HWPX 압축 해제 상한을 엔트리 읽는 도중에 적용 |
119
121
  | 4.19.1 | PDF 쪽별 마크다운(`pages`)에서 쪽 넘김 표를 쪽마다 다시 갈라 뒤 쪽 행·상자가 앞 쪽에 붙거나 쪽 항목이 빠지지 않게 (#136) |
120
122
  | 4.19.0 | RAG 색인용 `tableFormat: "gfm"` — 병합·중첩 표도 HTML 없이 GFM 파이프 표로, 셀 안 표는 부모·자식 관계 표지와 함께 독립 표로 (#138) |
@@ -132,6 +134,7 @@ await writeFile("보고서.hwpx", Buffer.from(hwpx))
132
134
  ## 문서·보안
133
135
 
134
136
  - [상세 사용법](docs/usage.md): 전체 CLI·MCP 도구·API·지원 포맷
137
+ - [Java SDK](sdk/java/README.md) · [Python SDK](sdk/python/README.md): 상주 엔진 워커로 Java·Python 시스템에서 파싱 ([워커 프로토콜](docs/parse-worker-protocol.md))
135
138
  - [공문서 생성 가이드](docs/gongmunseo-engine-spec.md) · [아키텍처](docs/architecture.md)
136
139
  - [폐쇄망 설치](docs/offline-deployment.md): `KORDOC_OFFLINE=1`, MCP 접근 범위 `KORDOC_ROOT`
137
140
  - [보안 정책](SECURITY.md) · [라이선스 MIT](LICENSE) · [오픈소스 고지](NOTICE)
@@ -0,0 +1,23 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 haijun93 (마포구청 공혁준)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+ Third-party components keep their own licenses. See THIRD_PARTY_NOTICES.md.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Upstage
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,9 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
+ AGENCY_COMMON_NAME,
3
4
  BUILTIN_TEMPLATES,
4
5
  HwpxSession,
5
6
  PRESET_ALIAS,
6
7
  ValueCursor,
8
+ agencyNames,
9
+ agencyStyle,
7
10
  chooseTableRepresentation,
8
11
  classifyTable,
9
12
  classifyTableTree,
@@ -51,17 +54,17 @@ import {
51
54
  unknownFontWarnings,
52
55
  usesGaejosikMunche,
53
56
  validateHwpx
54
- } from "./chunk-NV46IWKF.js";
57
+ } from "./chunk-QQERGR6C.js";
55
58
  import {
56
59
  blocksToPages
57
- } from "./chunk-VO22VAR3.js";
60
+ } from "./chunk-JEKZXUIJ.js";
58
61
  import {
59
62
  applySplices,
60
63
  buildParagraphSplices,
61
64
  buildRangeSplices,
62
65
  placeSealHwpx,
63
66
  scanSectionXml
64
- } from "./chunk-PWQ2BVAT.js";
67
+ } from "./chunk-D4EDAS3V.js";
65
68
  import {
66
69
  DEFAULT_REDACT_RULES,
67
70
  redactMarkdown,
@@ -69,7 +72,7 @@ import {
69
72
  } from "./chunk-3WSNLH4B.js";
70
73
  import {
71
74
  blocksToChunks
72
- } from "./chunk-TM4T4NYJ.js";
75
+ } from "./chunk-GYPEF6GQ.js";
73
76
  import {
74
77
  SPACE_EM_FIXED,
75
78
  SPACE_EM_FONT,
@@ -94,21 +97,22 @@ import {
94
97
  renderSceneToHtml,
95
98
  simulateWrap,
96
99
  simulateWrapKeepWord
97
- } from "./chunk-QZ63HXEG.js";
100
+ } from "./chunk-VSSMJKOX.js";
98
101
  import "./chunk-7FCNOKOR.js";
99
- import "./chunk-AOVMOCTK.js";
102
+ import "./chunk-6SG56DDC.js";
100
103
  import "./chunk-VQFA55IC.js";
101
- import "./chunk-QYJPU4FZ.js";
104
+ import "./chunk-G57LD7SG.js";
102
105
  import {
103
106
  blocksToMarkdown,
104
107
  flattenLayoutTables,
105
108
  hasStructuredCellContent
106
- } from "./chunk-B4R443MV.js";
107
- import "./chunk-6ZBORHFB.js";
109
+ } from "./chunk-6EXVHTBH.js";
110
+ import "./chunk-OVBIDELJ.js";
108
111
  import {
109
112
  VERSION
110
- } from "./chunk-OKHKEYTL.js";
113
+ } from "./chunk-FNHELO37.js";
111
114
  export {
115
+ AGENCY_COMMON_NAME,
112
116
  BUILTIN_TEMPLATES,
113
117
  DEFAULT_REDACT_RULES,
114
118
  HwpxSession,
@@ -117,6 +121,8 @@ export {
117
121
  SPACE_EM_FONT,
118
122
  VERSION,
119
123
  ValueCursor,
124
+ agencyNames,
125
+ agencyStyle,
120
126
  applySplices,
121
127
  blocksToChunks,
122
128
  blocksToMarkdown,
@@ -198,4 +204,4 @@ export {
198
204
  usesGaejosikMunche,
199
205
  validateHwpx
200
206
  };
201
- //# sourceMappingURL=-3JIHF2AL.js.map
207
+ //# sourceMappingURL=-LJL6UNRO.js.map
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
3
 
4
- var _chunkMZ6XNFZLcjs = require('./chunk-MZ6XNFZL.cjs');
4
+ var _chunkUYKDMNLDcjs = require('./chunk-UYKDMNLD.cjs');
5
5
 
6
6
  // src/script-tags.ts
7
7
  var LITERAL_TAG = /<(?=\/?(?:u|sup|sub)>)/g;
@@ -839,7 +839,7 @@ function blocksToMarkdown(blocks, options) {
839
839
  if (_optionalChain([block, 'access', _28 => _28.spans, 'optionalAccess', _29 => _29.length])) {
840
840
  let rendered = spansToMarkdown(block.spans);
841
841
  if (block.href) {
842
- const href = _chunkMZ6XNFZLcjs.sanitizeHref.call(void 0, block.href);
842
+ const href = _chunkUYKDMNLDcjs.sanitizeHref.call(void 0, block.href);
843
843
  if (href) rendered = `[${rendered}](${href})`;
844
844
  }
845
845
  if (block.footnoteText) rendered += ` (\uC8FC: ${block.footnoteText})`;
@@ -847,7 +847,7 @@ function blocksToMarkdown(blocks, options) {
847
847
  continue;
848
848
  }
849
849
  if (block.href) {
850
- const href = _chunkMZ6XNFZLcjs.sanitizeHref.call(void 0, block.href);
850
+ const href = _chunkUYKDMNLDcjs.sanitizeHref.call(void 0, block.href);
851
851
  if (href) text = `[${text}](${href})`;
852
852
  }
853
853
  if (block.footnoteText) {
@@ -919,7 +919,7 @@ function visibleText(b) {
919
919
  return _optionalChain([b, 'access', _40 => _40.spans, 'optionalAccess', _41 => _41.some, 'call', _42 => _42((s) => s.placeholder)]) ? b.spans.filter((s) => !s.placeholder).map((s) => s.text).join("") : _nullishCoalesce(b.text, () => ( ""));
920
920
  }
921
921
  function escapeHtmlCellText(text) {
922
- return _chunkMZ6XNFZLcjs.escapeHtml.call(void 0, text).replace(/(\\)?&lt;(\/?)(u|sup|sub)&gt;/g, (_, esc, sl, tag) => esc ? `&lt;${sl}${tag}&gt;` : `<${sl}${tag}>`);
922
+ return _chunkUYKDMNLDcjs.escapeHtml.call(void 0, text).replace(/(\\)?&lt;(\/?)(u|sup|sub)&gt;/g, (_, esc, sl, tag) => esc ? `&lt;${sl}${tag}&gt;` : `<${sl}${tag}>`);
923
923
  }
924
924
  function cellInnerHtml(cell) {
925
925
  if (_optionalChain([cell, 'access', _43 => _43.blocks, 'optionalAccess', _44 => _44.length])) {
@@ -928,7 +928,7 @@ function cellInnerHtml(cell) {
928
928
  const cap = captionToHtml(b.table);
929
929
  return (cap ? cap + "<br>" : "") + tableToHtml(b.table);
930
930
  }
931
- if (b.type === "image" && b.text) return `<img src="${_chunkMZ6XNFZLcjs.escapeHtml.call(void 0, b.text, true)}" alt="image">`;
931
+ if (b.type === "image" && b.text) return `<img src="${_chunkUYKDMNLDcjs.escapeHtml.call(void 0, b.text, true)}" alt="image">`;
932
932
  const t = (sanitizeText(visibleText(b)) + noteSuffix(b)).trim();
933
933
  return t ? escapeHtmlCellText(t).replace(/\n/g, "<br>") : "";
934
934
  }).filter(Boolean).join("<br>");
@@ -1332,4 +1332,4 @@ var HEADING_RATIO_H3 = 1.15;
1332
1332
 
1333
1333
 
1334
1334
  exports.escapeLiteralTags = escapeLiteralTags; exports.wrapScript = wrapScript; exports.tidyScriptTags = tidyScriptTags; exports.plainScripts = plainScripts; exports.stripScriptTags = stripScriptTags; exports.WINGDINGS = WINGDINGS; exports.mapPuaText = mapPuaText; exports.MAX_COLS = MAX_COLS; exports.MAX_ROWS = MAX_ROWS; exports.MAX_TABLE_CELLS = MAX_TABLE_CELLS; exports.buildTable = buildTable; exports.convertTableToText = convertTableToText; exports.escapeGfm = escapeGfm; exports.escapeLiteralDollar = escapeLiteralDollar; exports.markNonLayoutTable = markNonLayoutTable; exports.flattenLayoutTables = flattenLayoutTables; exports.dedupeRunningHeaders = dedupeRunningHeaders; exports.assignTableIds = assignTableIds; exports.blocksToMarkdown = blocksToMarkdown; exports.hasStructuredCellContent = hasStructuredCellContent; exports.noteSuffix = noteSuffix; exports.escapeHtmlCellText = escapeHtmlCellText; exports.CELL_EDGES = CELL_EDGES; exports.CELL_PAGES = CELL_PAGES; exports.CONTENT_CELLS = CONTENT_CELLS; exports.unframeLayoutTables = unframeLayoutTables; exports.HEADING_RATIO_H1 = HEADING_RATIO_H1; exports.HEADING_RATIO_H2 = HEADING_RATIO_H2; exports.HEADING_RATIO_H3 = HEADING_RATIO_H3;
1335
- //# sourceMappingURL=chunk-ORGWGR4K.cjs.map
1335
+ //# sourceMappingURL=chunk-2OTAFZ2Y.cjs.map