kordoc 4.7.3 → 4.8.1
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/README.md +90 -20
- package/dist/{-WYNJOQ6P.js → -BPSOA7WX.js} +11 -9
- package/dist/{chunk-P663PYWV.js → chunk-4CUEYYQF.js} +2 -2
- package/dist/{chunk-W5NZYPRQ.js → chunk-5EWPDL7S.js} +41 -9
- package/dist/chunk-5EWPDL7S.js.map +1 -0
- package/dist/{chunk-HJV4BVQI.js → chunk-66BZATFV.js} +2 -2
- package/dist/{chunk-JKJEBDP7.js → chunk-6KFW772K.js} +3 -3
- package/dist/{chunk-4HZN7EZZ.js → chunk-A6EAUP2J.js} +2 -2
- package/dist/{chunk-KSATSTC5.js → chunk-BN33O25L.js} +1 -1
- package/dist/{chunk-4KGGVCYX.js.map → chunk-BN33O25L.js.map} +1 -1
- package/dist/{chunk-LMHVMGEC.js → chunk-C5IU7Q3W.js} +3 -3
- package/dist/{chunk-E6DONLTM.cjs → chunk-D6NDAA72.cjs} +2 -2
- package/dist/{chunk-E6DONLTM.cjs.map → chunk-D6NDAA72.cjs.map} +1 -1
- package/dist/{chunk-3NKSSL44.js → chunk-DIB2I2HP.js} +3 -3
- package/dist/{chunk-QETZP25M.cjs → chunk-DVEJRBFI.cjs} +3 -3
- package/dist/{chunk-QETZP25M.cjs.map → chunk-DVEJRBFI.cjs.map} +1 -1
- package/dist/{chunk-46F5RMU7.js → chunk-ETMMB6O2.js} +2 -2
- package/dist/{chunk-R4LXZRYP.cjs → chunk-FZA5HW4K.cjs} +4 -4
- package/dist/{chunk-R4LXZRYP.cjs.map → chunk-FZA5HW4K.cjs.map} +1 -1
- package/dist/{chunk-QGATKC4R.cjs → chunk-H25XAYE4.cjs} +6 -6
- package/dist/{chunk-QGATKC4R.cjs.map → chunk-H25XAYE4.cjs.map} +1 -1
- package/dist/{chunk-RQVFFSAO.js → chunk-I6EWYT3Y.js} +2 -2
- package/dist/{chunk-IMFIACHP.js → chunk-I6Q5K2YF.js} +2 -2
- package/dist/{chunk-TXQQ7URG.js → chunk-KTAWKNYX.js} +2 -2
- package/dist/{chunk-EV53YE3W.cjs → chunk-L5CDTOC3.cjs} +1 -1
- package/dist/chunk-L5CDTOC3.cjs.map +1 -0
- package/dist/{chunk-KEGAEHWO.js → chunk-MYOGZQMD.js} +2 -2
- package/dist/{chunk-NYLYIN55.js → chunk-N7HKWVGP.js} +3 -3
- package/dist/{chunk-XOO6YEZE.js → chunk-NJMWYRLY.js} +3 -3
- package/dist/{chunk-CGJDCZA3.js → chunk-XGXKICRN.js} +2 -2
- package/dist/{chunk-4KGGVCYX.js → chunk-XINP35F4.js} +1 -1
- package/dist/{chunk-KSATSTC5.js.map → chunk-XINP35F4.js.map} +1 -1
- package/dist/{chunk-KE6DLZAW.cjs → chunk-XZEDL6B4.cjs} +11 -11
- package/dist/{chunk-KE6DLZAW.cjs.map → chunk-XZEDL6B4.cjs.map} +1 -1
- package/dist/{chunk-VZ3AQVBN.js → chunk-Y4H75LKS.js} +2 -2
- package/dist/{chunk-3P5YCJQE.js → chunk-YCSXG6SY.js} +2 -2
- package/dist/{chunk-Y7T5Z4DC.js → chunk-YOFMKKCA.js} +3 -3
- package/dist/chunks-HYXNV3WP.js +10 -0
- package/dist/cli.js +34 -22
- package/dist/cli.js.map +1 -1
- package/dist/{formula-V6EAYHMF.js → formula-7XQLPNSO.js} +3 -3
- package/dist/{formula-PDMZMBIP.cjs → formula-ODJ7GSUH.cjs} +9 -9
- package/dist/{formula-PDMZMBIP.cjs.map → formula-ODJ7GSUH.cjs.map} +1 -1
- package/dist/{formula-IFKZZPD2.js → formula-T4AIR2LX.js} +4 -4
- package/dist/{image-ocr-B7TMIG3F.js → image-ocr-EJLWGR3B.js} +8 -8
- package/dist/{image-ocr-XHBZONFZ.js → image-ocr-TZU64JJF.js} +6 -6
- package/dist/{image-ocr-75WGMVU6.cjs → image-ocr-WMTQ357I.cjs} +12 -12
- package/dist/{image-ocr-75WGMVU6.cjs.map → image-ocr-WMTQ357I.cjs.map} +1 -1
- package/dist/index.cjs +396 -364
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +42 -1
- package/dist/index.d.ts +42 -1
- package/dist/index.js +37 -5
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +16 -16
- package/dist/{model-bundle-Q4HQXJQG.js → model-bundle-OT2OTSGH.js} +5 -5
- package/dist/{models-QQA7OQHY.js → models-MUVFWN7M.js} +5 -5
- package/dist/{parser-Z36MZUHS.js → parser-E6NQ666P.js} +7 -7
- package/dist/{parser-HT7GZOF2.js → parser-ERSNBILY.js} +7 -7
- package/dist/{parser-4CBOPTVY.cjs → parser-XVUFA35I.cjs} +27 -27
- package/dist/{parser-4CBOPTVY.cjs.map → parser-XVUFA35I.cjs.map} +1 -1
- package/dist/pdf-ocr-KG7X7WRC.js +13 -0
- package/dist/pdf-ocr-KMM24YFF.cjs +14 -0
- package/dist/{pdf-ocr-6ZNGDVC6.cjs.map → pdf-ocr-KMM24YFF.cjs.map} +1 -1
- package/dist/pdf-ocr-YTZL2UL4.js +16 -0
- package/dist/{profile-io-ACYRLCSR.js → profile-io-IRW6XCXH.js} +3 -3
- package/dist/{rasterize-QYCLEH2J.js → rasterize-BNF6QTLY.js} +2 -2
- package/dist/render-T7QXFTZA.js +10 -0
- package/dist/seal-ITE2NNNH.js +10 -0
- package/dist/{setup-MG3YYKXU.js → setup-BXOXVBU3.js} +3 -3
- package/dist/{watch-AZIY6AWC.js → watch-7PYYGQUJ.js} +10 -10
- package/package.json +2 -2
- package/dist/chunk-EV53YE3W.cjs.map +0 -1
- package/dist/chunk-W5NZYPRQ.js.map +0 -1
- package/dist/chunks-LWAOHTK2.js +0 -10
- package/dist/pdf-ocr-6ZNGDVC6.cjs +0 -14
- package/dist/pdf-ocr-NTXRJI4T.js +0 -13
- package/dist/pdf-ocr-TYMCEUPH.js +0 -16
- package/dist/render-5Y2US4IM.js +0 -10
- package/dist/seal-VU6JS2QD.js +0 -10
- /package/dist/{-WYNJOQ6P.js.map → -BPSOA7WX.js.map} +0 -0
- /package/dist/{chunk-P663PYWV.js.map → chunk-4CUEYYQF.js.map} +0 -0
- /package/dist/{chunk-HJV4BVQI.js.map → chunk-66BZATFV.js.map} +0 -0
- /package/dist/{chunk-JKJEBDP7.js.map → chunk-6KFW772K.js.map} +0 -0
- /package/dist/{chunk-4HZN7EZZ.js.map → chunk-A6EAUP2J.js.map} +0 -0
- /package/dist/{chunk-LMHVMGEC.js.map → chunk-C5IU7Q3W.js.map} +0 -0
- /package/dist/{chunk-3NKSSL44.js.map → chunk-DIB2I2HP.js.map} +0 -0
- /package/dist/{chunk-46F5RMU7.js.map → chunk-ETMMB6O2.js.map} +0 -0
- /package/dist/{chunk-RQVFFSAO.js.map → chunk-I6EWYT3Y.js.map} +0 -0
- /package/dist/{chunk-IMFIACHP.js.map → chunk-I6Q5K2YF.js.map} +0 -0
- /package/dist/{chunk-TXQQ7URG.js.map → chunk-KTAWKNYX.js.map} +0 -0
- /package/dist/{chunk-KEGAEHWO.js.map → chunk-MYOGZQMD.js.map} +0 -0
- /package/dist/{chunk-NYLYIN55.js.map → chunk-N7HKWVGP.js.map} +0 -0
- /package/dist/{chunk-XOO6YEZE.js.map → chunk-NJMWYRLY.js.map} +0 -0
- /package/dist/{chunk-CGJDCZA3.js.map → chunk-XGXKICRN.js.map} +0 -0
- /package/dist/{chunk-VZ3AQVBN.js.map → chunk-Y4H75LKS.js.map} +0 -0
- /package/dist/{chunk-3P5YCJQE.js.map → chunk-YCSXG6SY.js.map} +0 -0
- /package/dist/{chunk-Y7T5Z4DC.js.map → chunk-YOFMKKCA.js.map} +0 -0
- /package/dist/{chunks-LWAOHTK2.js.map → chunks-HYXNV3WP.js.map} +0 -0
- /package/dist/{formula-V6EAYHMF.js.map → formula-7XQLPNSO.js.map} +0 -0
- /package/dist/{formula-IFKZZPD2.js.map → formula-T4AIR2LX.js.map} +0 -0
- /package/dist/{image-ocr-B7TMIG3F.js.map → image-ocr-EJLWGR3B.js.map} +0 -0
- /package/dist/{image-ocr-XHBZONFZ.js.map → image-ocr-TZU64JJF.js.map} +0 -0
- /package/dist/{model-bundle-Q4HQXJQG.js.map → model-bundle-OT2OTSGH.js.map} +0 -0
- /package/dist/{models-QQA7OQHY.js.map → models-MUVFWN7M.js.map} +0 -0
- /package/dist/{parser-Z36MZUHS.js.map → parser-E6NQ666P.js.map} +0 -0
- /package/dist/{parser-HT7GZOF2.js.map → parser-ERSNBILY.js.map} +0 -0
- /package/dist/{pdf-ocr-NTXRJI4T.js.map → pdf-ocr-KG7X7WRC.js.map} +0 -0
- /package/dist/{pdf-ocr-TYMCEUPH.js.map → pdf-ocr-YTZL2UL4.js.map} +0 -0
- /package/dist/{profile-io-ACYRLCSR.js.map → profile-io-IRW6XCXH.js.map} +0 -0
- /package/dist/{rasterize-QYCLEH2J.js.map → rasterize-BNF6QTLY.js.map} +0 -0
- /package/dist/{render-5Y2US4IM.js.map → render-T7QXFTZA.js.map} +0 -0
- /package/dist/{seal-VU6JS2QD.js.map → seal-ITE2NNNH.js.map} +0 -0
- /package/dist/{setup-MG3YYKXU.js.map → setup-BXOXVBU3.js.map} +0 -0
- /package/dist/{watch-AZIY6AWC.js.map → watch-7PYYGQUJ.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
KordocError
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-I6Q5K2YF.js";
|
|
5
5
|
|
|
6
6
|
// src/hwpx/parser-shared.ts
|
|
7
7
|
import { DOMParser } from "@xmldom/xmldom";
|
|
@@ -323,4 +323,4 @@ export {
|
|
|
323
323
|
DEFAULT_CHAR,
|
|
324
324
|
parseRenderStyles
|
|
325
325
|
};
|
|
326
|
-
//# sourceMappingURL=chunk-
|
|
326
|
+
//# sourceMappingURL=chunk-Y4H75LKS.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
KordocError
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-I6Q5K2YF.js";
|
|
5
5
|
|
|
6
6
|
// src/hwpx/profile-io.ts
|
|
7
7
|
import { z } from "zod";
|
|
@@ -89,4 +89,4 @@ export {
|
|
|
89
89
|
formatProfileSchema,
|
|
90
90
|
parseFormatProfileJson
|
|
91
91
|
};
|
|
92
|
-
//# sourceMappingURL=chunk-
|
|
92
|
+
//# sourceMappingURL=chunk-YCSXG6SY.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ensureModelsIn,
|
|
3
3
|
getModelsDir
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-66BZATFV.js";
|
|
5
5
|
import {
|
|
6
6
|
extractPageBlocksWithLines
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-C5IU7Q3W.js";
|
|
8
8
|
|
|
9
9
|
// src/ocr/ruling-lines.ts
|
|
10
10
|
var INK_LUMA_MAX = 190;
|
|
@@ -568,4 +568,4 @@ export {
|
|
|
568
568
|
runPdfOcr,
|
|
569
569
|
ocrItemsToBlocks
|
|
570
570
|
};
|
|
571
|
-
//# sourceMappingURL=chunk-
|
|
571
|
+
//# sourceMappingURL=chunk-YOFMKKCA.js.map
|
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
parseFormatProfileJson
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-YCSXG6SY.js";
|
|
5
5
|
import {
|
|
6
6
|
BODY_FONTS,
|
|
7
7
|
BULLET2_CHARS,
|
|
@@ -27,24 +27,24 @@ import {
|
|
|
27
27
|
readBuiltinTemplate,
|
|
28
28
|
resolveBuiltinTemplate,
|
|
29
29
|
unknownFontWarnings
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-5EWPDL7S.js";
|
|
31
31
|
import "./chunk-7FCNOKOR.js";
|
|
32
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-XINP35F4.js";
|
|
33
33
|
import "./chunk-MOL7MDBG.js";
|
|
34
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-N7HKWVGP.js";
|
|
35
35
|
import "./chunk-DZIXKL7E.js";
|
|
36
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-XGXKICRN.js";
|
|
37
37
|
import {
|
|
38
38
|
blocksToMarkdown
|
|
39
|
-
} from "./chunk-
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
39
|
+
} from "./chunk-MYOGZQMD.js";
|
|
40
|
+
import "./chunk-NJMWYRLY.js";
|
|
41
|
+
import "./chunk-Y4H75LKS.js";
|
|
42
42
|
import {
|
|
43
43
|
VERSION,
|
|
44
44
|
classifyError,
|
|
45
45
|
sanitizeError,
|
|
46
46
|
toArrayBuffer
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-I6Q5K2YF.js";
|
|
48
48
|
|
|
49
49
|
// src/cli.ts
|
|
50
50
|
import { readFileSync, writeFileSync, mkdirSync, statSync } from "fs";
|
|
@@ -141,7 +141,7 @@ program.name("kordoc").description("\uBAA8\uB450 \uD30C\uC2F1\uD574\uBC84\uB9AC\
|
|
|
141
141
|
`);
|
|
142
142
|
}
|
|
143
143
|
} else if (opts.format === "chunks") {
|
|
144
|
-
const { blocksToChunks } = await import("./chunks-
|
|
144
|
+
const { blocksToChunks } = await import("./chunks-HYXNV3WP.js");
|
|
145
145
|
output = JSON.stringify(blocksToChunks(result.blocks), null, 2);
|
|
146
146
|
} else {
|
|
147
147
|
output = markdown;
|
|
@@ -196,7 +196,7 @@ program.command("watch <dir>").description("\uB514\uB809\uD1A0\uB9AC \uAC10\uC2D
|
|
|
196
196
|
if (command.getOptionValueSource("format") === "default" && program.getOptionValueSource("format") === "cli") {
|
|
197
197
|
opts.format = rootOpts.format;
|
|
198
198
|
}
|
|
199
|
-
const { watchDirectory } = await import("./watch-
|
|
199
|
+
const { watchDirectory } = await import("./watch-7PYYGQUJ.js");
|
|
200
200
|
await watchDirectory({
|
|
201
201
|
dir,
|
|
202
202
|
outDir: opts.outDir,
|
|
@@ -418,7 +418,7 @@ program.command("fill [file]").description("\uC11C\uC2DD \uBB38\uC11C\uC758 \uBE
|
|
|
418
418
|
});
|
|
419
419
|
program.command("seal <file>").description('\uB3C4\uC7A5/\uC11C\uBA85 \uC774\uBBF8\uC9C0\uB97C \uC575\uCEE4 \uBB38\uAD6C \uC704\uC5D0 \uBD80\uC720 \uBC30\uCE58 (\uD45C/\uD398\uC774\uC9C0 \uBD88\uD655\uC7A5) \u2014 kordoc seal \uC2E0\uCCAD\uC11C.hwpx --image \uB3C4\uC7A5.png --anchor "(\uC778)" -o \uACB0\uACFC.hwpx').requiredOption("--image <path>", "\uB3C4\uC7A5/\uC11C\uBA85 \uC774\uBBF8\uC9C0 (\uD22C\uBA85 \uBC30\uACBD PNG \uAD8C\uC7A5)").option("--anchor <text>", "\uC575\uCEE4 \uBB38\uAD6C", "(\uC778)").option("-n, --occurrence <num>", "\uAC19\uC740 \uC575\uCEE4\uAC00 \uC5EC\uB7FF\uC77C \uB54C 0-based \uC120\uD0DD", "0").option("--size-mm <num>", "\uB3C4\uC7A5 \uD55C \uBCC0 \uD06C\uAE30 mm (\uAE30\uBCF8: \uC904\uB192\uC774\xD71.6, 7~18 \uD074\uB7A8\uD504)").option("--mode <mode>", "overlap(\uBB38\uAD6C \uC704 \uACB9\uCE68) | right(\uC624\uB978\uCABD \uC606) | auto", "auto").option("--dx <mm>", "x \uBBF8\uC138\uC870\uC815 mm", "0").option("--dy <mm>", "y \uBBF8\uC138\uC870\uC815 mm", "0").option("-o, --output <path>", "\uCD9C\uB825 \uACBD\uB85C (\uAE30\uBCF8: <\uC785\uB825>.sealed.hwpx)").option("--silent", "\uC9C4\uD589 \uBA54\uC2DC\uC9C0 \uC228\uAE30\uAE30").action(async (file, opts) => {
|
|
420
420
|
try {
|
|
421
|
-
const { placeSealHwpx, detectFormat: detectFormat2 } = await import("./-
|
|
421
|
+
const { placeSealHwpx, detectFormat: detectFormat2 } = await import("./-BPSOA7WX.js");
|
|
422
422
|
const rootOpts = program.opts();
|
|
423
423
|
const output = opts.output ?? rootOpts.output;
|
|
424
424
|
const silent = opts.silent ?? rootOpts.silent;
|
|
@@ -496,7 +496,7 @@ program.command("seal <file>").description('\uB3C4\uC7A5/\uC11C\uBA85 \uC774\uBB
|
|
|
496
496
|
});
|
|
497
497
|
program.command("patch <original> <edited>").description("\uC11C\uC2DD \uBCF4\uC874 \uB77C\uC6B4\uB4DC\uD2B8\uB9BD \uD328\uCE58 \u2014 \uD3B8\uC9D1\uB41C \uB9C8\uD06C\uB2E4\uC6B4\uC744 \uC6D0\uBCF8 HWPX/HWP\uC5D0 in-place \uBC18\uC601 (kordoc patch \uC6D0\uBCF8.hwpx \uD3B8\uC9D1.md -o \uCD9C\uB825.hwpx). \uBBF8\uC801\uC6A9(skip) \uD3B8\uC9D1\uC774 \uC788\uC73C\uBA74 exit 2").option("-o, --output <path>", "\uCD9C\uB825 \uACBD\uB85C (\uAE30\uBCF8: <\uC6D0\uBCF8>.patched.hwpx|.hwp)").option("--no-verify", "\uD328\uCE58 \uD6C4 \uC7AC\uD30C\uC2F1 \uC790\uB3D9 \uAC80\uC99D \uC0DD\uB7B5").option("--silent", "\uC9C4\uD589 \uBA54\uC2DC\uC9C0 \uC228\uAE30\uAE30").action(async (original, edited, opts) => {
|
|
498
498
|
try {
|
|
499
|
-
const { patchHwpx, patchHwp, detectFormat: detectFormat2 } = await import("./-
|
|
499
|
+
const { patchHwpx, patchHwp, detectFormat: detectFormat2 } = await import("./-BPSOA7WX.js");
|
|
500
500
|
const rootOpts = program.opts();
|
|
501
501
|
const output = opts.output ?? rootOpts.output;
|
|
502
502
|
const silent = opts.silent ?? rootOpts.silent;
|
|
@@ -537,7 +537,7 @@ program.command("patch <original> <edited>").description("\uC11C\uC2DD \uBCF4\uC
|
|
|
537
537
|
});
|
|
538
538
|
program.command("validate <file>").description("HWPX \uAD6C\uC870 \uAC80\uC99D \u2014 ZIP\xB7mimetype\xB7\uD544\uC218 \uD30C\uC77C\xB7XML \uC6F0\uD3FC\uB4DC\xB7secCnt\xB7manifest \uCC38\uC870 (\uD55C\uCEF4\uB3C5\uC2A4 \uAC70\uBD80 \uC694\uC778 \uC0AC\uC804 \uCC28\uB2E8)").option("--json", "\uACB0\uACFC\uB97C JSON\uC73C\uB85C stdout\uC5D0 \uCD9C\uB825").action(async (file, opts) => {
|
|
539
539
|
try {
|
|
540
|
-
const { validateHwpx } = await import("./-
|
|
540
|
+
const { validateHwpx } = await import("./-BPSOA7WX.js");
|
|
541
541
|
const buf = new Uint8Array(readFileSync(resolve(file)));
|
|
542
542
|
const result = await validateHwpx(buf);
|
|
543
543
|
if (opts.json) {
|
|
@@ -730,7 +730,19 @@ program.command("profile <file>").description("HWPX \uD45C \uC11C\uC2DD \uD504\u
|
|
|
730
730
|
});
|
|
731
731
|
program.command("lint <file>").description("\uACF5\uBB38\uC11C \uD45C\uAE30\uBC95 \uAC80\uC218 \u2014 \uB0A0\uC9DC\xB7\uC2DC\uAC04\xB7\uAE08\uC561\xB7\uBD99\uC784 \uB4F1 \uD589\uC815\uC5C5\uBB34\uC6B4\uC601 \uD3B8\uB78C \uD45C\uAE30\uBC95 (md/txt, '-'=stdin). error \uC788\uC73C\uBA74 exit 1").option("--json", "JSON \uCD9C\uB825").action((file, opts) => {
|
|
732
732
|
try {
|
|
733
|
-
const
|
|
733
|
+
const raw = file === "-" ? readFileSync(0) : readFileSync(resolve(file));
|
|
734
|
+
const kind = detectFormat(
|
|
735
|
+
raw.buffer.slice(raw.byteOffset, raw.byteOffset + raw.byteLength)
|
|
736
|
+
);
|
|
737
|
+
if (kind !== "unknown") {
|
|
738
|
+
process.stderr.write(
|
|
739
|
+
`[kordoc] lint \uB294 \uD14D\uC2A4\uD2B8(\uB9C8\uD06C\uB2E4\uC6B4/txt)\uB97C \uAC80\uC0AC\uD569\uB2C8\uB2E4 \u2014 ${kind} \uBB38\uC11C\uB294 \uBC1B\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
|
|
740
|
+
\uC6D0\uACE0 \uB9C8\uD06C\uB2E4\uC6B4\uC744 \uB118\uAE30\uAC70\uB098, \uBB38\uC11C \uBCF8\uBB38\uC744 \uD30C\uC774\uD504\uD558\uC138\uC694: kordoc ${file} | kordoc lint -
|
|
741
|
+
`
|
|
742
|
+
);
|
|
743
|
+
process.exit(1);
|
|
744
|
+
}
|
|
745
|
+
const text = raw.toString("utf-8");
|
|
734
746
|
const findings = lintGongmunText(text);
|
|
735
747
|
const errors = findings.filter((f) => f.severity === "error").length;
|
|
736
748
|
if (opts.json) {
|
|
@@ -751,7 +763,7 @@ program.command("lint <file>").description("\uACF5\uBB38\uC11C \uD45C\uAE30\uBC9
|
|
|
751
763
|
}
|
|
752
764
|
});
|
|
753
765
|
program.command("redact <files...>").description("\uAC1C\uC778\uC815\uBCF4 \uC11C\uC2DD \uBCF4\uC874 \uB9C8\uC2A4\uD0B9 \u2014 \uC8FC\uBBFC\uBC88\uD638\xB7\uC804\uD654\xB7\uC774\uBA54\uC77C\xB7\uCE74\uB4DC\xB7\uACC4\uC88C\uB97C \uD0D0\uC9C0\uD574 HWPX/HWP\uB294 \uC6D0\uBCF8 \uC11C\uC2DD \uADF8\uB300\uB85C patch, \uADF8 \uC678 \uD3EC\uB9F7\uC740 \uB9C8\uC2A4\uD0B9\uB41C \uB9C8\uD06C\uB2E4\uC6B4 \uCD9C\uB825. \uC790\uB3D9 \uAC80\uCD9C \uBCF4\uC870 \uB3C4\uAD6C\uC774\uBBC0\uB85C \uACB0\uACFC\uB294 \uBC18\uB4DC\uC2DC \uC0AC\uB78C\uC774 \uCD5C\uC885 \uD655\uC778\uD558\uC138\uC694 (\uC774\uBBF8\uC9C0 \uC548 \uD14D\uC2A4\uD2B8\uB294 \uD0D0\uC9C0 \uBD88\uAC00)").option("--rules <csv>", "\uC801\uC6A9 \uB8F0 (\uAE30\uBCF8: rrn,phone,email,card,account \u2014 passport,driver\uB294 opt-in)").option("--mask-char <ch>", "\uB9C8\uC2A4\uD06C \uBB38\uC790 1\uAE00\uC790 (\uAE30\uBCF8: \u25CF)").option("-o, --output <path>", "\uCD9C\uB825 \uACBD\uB85C (\uB2E8\uC77C \uD30C\uC77C \uC2DC)").option("-d, --out-dir <dir>", "\uCD9C\uB825 \uB514\uB809\uD1A0\uB9AC (\uB2E4\uC911 \uD30C\uC77C \uC2DC)").option("--dry-run", "\uD0D0\uC9C0 \uB9AC\uD3EC\uD2B8\uB9CC \uCD9C\uB825, \uD30C\uC77C \uBBF8\uC0DD\uC131").option("--json", "\uB9AC\uD3EC\uD2B8\uB97C JSON\uC73C\uB85C stdout \uCD9C\uB825").option("--silent", "\uC9C4\uD589 \uBA54\uC2DC\uC9C0 \uC228\uAE30\uAE30").action(async (files, opts) => {
|
|
754
|
-
const { redactMarkdown, DEFAULT_REDACT_RULES, patchHwpx, patchHwp } = await import("./-
|
|
766
|
+
const { redactMarkdown, DEFAULT_REDACT_RULES, patchHwpx, patchHwp } = await import("./-BPSOA7WX.js");
|
|
755
767
|
const rootOpts = program.opts();
|
|
756
768
|
const output = opts.output ?? rootOpts.output;
|
|
757
769
|
const silent = opts.silent ?? rootOpts.silent;
|
|
@@ -840,7 +852,7 @@ program.command("render <file>").description("\uB808\uC774\uC544\uC6C3 \uBCF4\uC
|
|
|
840
852
|
const rootOpts = program.opts();
|
|
841
853
|
const output = opts.output ?? rootOpts.output;
|
|
842
854
|
const silent = opts.silent ?? rootOpts.silent;
|
|
843
|
-
const { renderHwpxToSvg } = await import("./render-
|
|
855
|
+
const { renderHwpxToSvg } = await import("./render-T7QXFTZA.js");
|
|
844
856
|
const absPath = resolve(file);
|
|
845
857
|
const buffer = readFileSync(absPath);
|
|
846
858
|
const highlights = opts.highlight ? String(opts.highlight).split(",") : void 0;
|
|
@@ -862,7 +874,7 @@ program.command("render <file>").description("\uB808\uC774\uC544\uC6C3 \uBCF4\uC
|
|
|
862
874
|
});
|
|
863
875
|
program.command("render-worker").description("persistent \uB80C\uB354 \uC6CC\uCEE4 \u2014 stdin NDJSON \uC694\uCCAD \u2192 \uC870\uD310 SVG \uD30C\uC77C \uCD9C\uB825 (\uD504\uB85C\uC138\uC2A4 \uC720\uC9C0, \uCF5C\uB4DC\uC2A4\uD0C0\uD2B8 \uC81C\uAC70)").action(async () => {
|
|
864
876
|
const { createInterface } = await import("readline");
|
|
865
|
-
const { renderHwpxToSvg } = await import("./render-
|
|
877
|
+
const { renderHwpxToSvg } = await import("./render-T7QXFTZA.js");
|
|
866
878
|
const rl = createInterface({ input: process.stdin });
|
|
867
879
|
const write = (o) => void process.stdout.write(JSON.stringify(o) + "\n");
|
|
868
880
|
write({ ready: true, version: VERSION });
|
|
@@ -907,12 +919,12 @@ program.command("mcp").description("MCP \uC11C\uBC84 \uC2E4\uD589 (Claude / Curs
|
|
|
907
919
|
await startMcpServer();
|
|
908
920
|
});
|
|
909
921
|
program.command("setup").description("\uB300\uD654\uD615 \uC124\uCE58 \uB9C8\uBC95\uC0AC \u2014 AI \uD074\uB77C\uC774\uC5B8\uD2B8 \uC790\uB3D9 \uB4F1\uB85D (Mac/Win/Linux)").action(async () => {
|
|
910
|
-
const { runSetup } = await import("./setup-
|
|
922
|
+
const { runSetup } = await import("./setup-BXOXVBU3.js");
|
|
911
923
|
await runSetup();
|
|
912
924
|
});
|
|
913
925
|
program.command("check-formula-models").description("PDF \uC218\uC2DD OCR \uBAA8\uB378(MFD + MFR + tokenizer, ~155MB) \uC0C1\uD0DC \uD655\uC778 \u2014 \uC5C6\uAC70\uB098 SHA \uBD88\uC77C\uCE58\uBA74 \uB2E4\uC6B4\uB85C\uB4DC").option("--status-only", "\uC0C1\uD0DC\uB9CC JSON \uC73C\uB85C \uCD9C\uB825 (\uB2E4\uC6B4\uB85C\uB4DC \uC548 \uD568)").action(async (opts) => {
|
|
914
926
|
try {
|
|
915
|
-
const { getFormulaModelStatus, ensureFormulaModels, getFormulaModelsDir } = await import("./formula-
|
|
927
|
+
const { getFormulaModelStatus, ensureFormulaModels, getFormulaModelsDir } = await import("./formula-T4AIR2LX.js");
|
|
916
928
|
const dir = getFormulaModelsDir();
|
|
917
929
|
if (opts.statusOnly) {
|
|
918
930
|
const status = await getFormulaModelStatus();
|
|
@@ -966,7 +978,7 @@ program.command("check-formula-models").description("PDF \uC218\uC2DD OCR \uBAA8
|
|
|
966
978
|
});
|
|
967
979
|
program.command("check-ocr-models").description("\uD14D\uC2A4\uD2B8 OCR \uBAA8\uB378(PP-OCRv5 korean det+rec, ~18MB) \uC0C1\uD0DC \uD655\uC778 \u2014 \uC5C6\uAC70\uB098 SHA \uBD88\uC77C\uCE58\uBA74 \uB2E4\uC6B4\uB85C\uB4DC").option("--status-only", "\uC0C1\uD0DC\uB9CC JSON \uC73C\uB85C \uCD9C\uB825 (\uB2E4\uC6B4\uB85C\uB4DC \uC548 \uD568)").action(async (opts) => {
|
|
968
980
|
try {
|
|
969
|
-
const { getOcrModelStatus, ensureOcrModels, getOcrModelsDir } = await import("./models-
|
|
981
|
+
const { getOcrModelStatus, ensureOcrModels, getOcrModelsDir } = await import("./models-MUVFWN7M.js");
|
|
970
982
|
const dir = getOcrModelsDir();
|
|
971
983
|
if (opts.statusOnly) {
|
|
972
984
|
const status = await getOcrModelStatus();
|
|
@@ -1020,7 +1032,7 @@ program.command("check-ocr-models").description("\uD14D\uC2A4\uD2B8 OCR \uBAA8\u
|
|
|
1020
1032
|
});
|
|
1021
1033
|
program.command("models").description("OCR/\uC218\uC2DD \uBAA8\uB378 \uC624\uD504\uB77C\uC778 \uC0AC\uC774\uB4DC\uB85C\uB4DC \u2014 \uD3D0\uC1C4\uB9DD \uBC18\uC785\uC6A9 \uB0B4\uBCF4\uB0B4\uAE30/\uAC00\uC838\uC624\uAE30 (SHA-256 \uAC80\uC99D)").option("--status", "\uCE90\uC2DC\uC5D0 \uC124\uCE58\uB41C \uBAA8\uB378 \uC0C1\uD0DC\uB97C JSON \uC73C\uB85C \uCD9C\uB825").option("--export <dir>", "\uB85C\uCEEC \uCE90\uC2DC \u2192 \uBC88\uB4E4 \uB514\uB809\uD1A0\uB9AC\uB85C \uB0B4\uBCF4\uB0B4\uAE30 (\uC628\uB77C\uC778 PC\uC5D0\uC11C \uC2E4\uD589)").option("--import <dir>", "\uBC88\uB4E4 \uB514\uB809\uD1A0\uB9AC \u2192 \uB85C\uCEEC \uCE90\uC2DC\uB85C \uC124\uCE58 (\uB0B4\uBD80\uB9DD PC\uC5D0\uC11C \uC2E4\uD589)").action(async (opts) => {
|
|
1022
1034
|
try {
|
|
1023
|
-
const { exportModels, importModels, modelCacheStatus } = await import("./model-bundle-
|
|
1035
|
+
const { exportModels, importModels, modelCacheStatus } = await import("./model-bundle-OT2OTSGH.js");
|
|
1024
1036
|
if (opts.status) {
|
|
1025
1037
|
process.stdout.write(JSON.stringify(await modelCacheStatus(), null, 2) + "\n");
|
|
1026
1038
|
return;
|