kordoc 4.8.0 → 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 +71 -19
- package/dist/{-URO5XBEB.js → -BPSOA7WX.js} +8 -8
- package/dist/{chunk-NFCQ5XNT.js → chunk-4CUEYYQF.js} +2 -2
- package/dist/{chunk-3CBHCDYD.js → chunk-5EWPDL7S.js} +8 -8
- package/dist/{chunk-E6OJKTYS.js → chunk-66BZATFV.js} +2 -2
- package/dist/{chunk-HFVMCUXF.js → chunk-6KFW772K.js} +2 -2
- package/dist/{chunk-WG473BIB.js → chunk-A6EAUP2J.js} +2 -2
- package/dist/{chunk-37SAM3LH.js → chunk-C5IU7Q3W.js} +2 -2
- package/dist/{chunk-J7DBL77B.cjs → chunk-D6NDAA72.cjs} +2 -2
- package/dist/{chunk-J7DBL77B.cjs.map → chunk-D6NDAA72.cjs.map} +1 -1
- package/dist/{chunk-YB2TYOYY.js → chunk-DIB2I2HP.js} +3 -3
- package/dist/{chunk-5IRX3TQP.cjs → chunk-DVEJRBFI.cjs} +3 -3
- package/dist/{chunk-5IRX3TQP.cjs.map → chunk-DVEJRBFI.cjs.map} +1 -1
- package/dist/{chunk-S4SMUQAT.js → chunk-ETMMB6O2.js} +2 -2
- package/dist/{chunk-GGZ5PSJO.cjs → chunk-FZA5HW4K.cjs} +4 -4
- package/dist/{chunk-GGZ5PSJO.cjs.map → chunk-FZA5HW4K.cjs.map} +1 -1
- package/dist/{chunk-OKISH2NK.cjs → chunk-H25XAYE4.cjs} +6 -6
- package/dist/{chunk-OKISH2NK.cjs.map → chunk-H25XAYE4.cjs.map} +1 -1
- package/dist/{chunk-HS4762CD.js → chunk-I6EWYT3Y.js} +2 -2
- package/dist/{chunk-L2Q3NLHX.js → chunk-I6Q5K2YF.js} +2 -2
- package/dist/{chunk-2ANLGAUG.js → chunk-KTAWKNYX.js} +2 -2
- package/dist/{chunk-OKE6G67G.js → chunk-MYOGZQMD.js} +2 -2
- package/dist/{chunk-F7RZZI5P.js → chunk-N7HKWVGP.js} +3 -3
- package/dist/{chunk-VPAYFTMH.js → chunk-NJMWYRLY.js} +3 -3
- package/dist/{chunk-TXRTH5BV.js → chunk-XGXKICRN.js} +2 -2
- package/dist/{chunk-CX2LRBC5.cjs → chunk-XZEDL6B4.cjs} +7 -7
- package/dist/{chunk-CX2LRBC5.cjs.map → chunk-XZEDL6B4.cjs.map} +1 -1
- package/dist/{chunk-ZEQPTIWN.js → chunk-Y4H75LKS.js} +2 -2
- package/dist/{chunk-7OHDTS5Q.js → chunk-YCSXG6SY.js} +2 -2
- package/dist/{chunk-WXC4HKSD.js → chunk-YOFMKKCA.js} +3 -3
- package/dist/chunks-HYXNV3WP.js +10 -0
- package/dist/cli.js +33 -21
- package/dist/cli.js.map +1 -1
- package/dist/{formula-7BNCJ55B.js → formula-7XQLPNSO.js} +3 -3
- package/dist/{formula-3K5KC3VV.cjs → formula-ODJ7GSUH.cjs} +9 -9
- package/dist/{formula-3K5KC3VV.cjs.map → formula-ODJ7GSUH.cjs.map} +1 -1
- package/dist/{formula-YRMQ7BTI.js → formula-T4AIR2LX.js} +4 -4
- package/dist/{image-ocr-O7TKPDTY.js → image-ocr-EJLWGR3B.js} +7 -7
- package/dist/{image-ocr-XRVXVYKO.js → image-ocr-TZU64JJF.js} +5 -5
- package/dist/{image-ocr-CBMJIJTQ.cjs → image-ocr-WMTQ357I.cjs} +11 -11
- package/dist/{image-ocr-CBMJIJTQ.cjs.map → image-ocr-WMTQ357I.cjs.map} +1 -1
- package/dist/index.cjs +175 -175
- package/dist/index.js +4 -4
- package/dist/mcp.js +15 -15
- package/dist/{model-bundle-GNDUKNME.js → model-bundle-OT2OTSGH.js} +5 -5
- package/dist/{models-TJ45RB2Z.js → models-MUVFWN7M.js} +5 -5
- package/dist/{parser-5MLJHSRX.js → parser-E6NQ666P.js} +6 -6
- package/dist/{parser-U3SMCGRK.js → parser-ERSNBILY.js} +6 -6
- package/dist/{parser-GIVQWVKJ.cjs → parser-XVUFA35I.cjs} +26 -26
- package/dist/{parser-GIVQWVKJ.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-BUBZA4EE.cjs.map → pdf-ocr-KMM24YFF.cjs.map} +1 -1
- package/dist/pdf-ocr-YTZL2UL4.js +16 -0
- package/dist/{profile-io-VATWYLZX.js → profile-io-IRW6XCXH.js} +3 -3
- package/dist/{rasterize-PNRXMSL2.js → rasterize-BNF6QTLY.js} +2 -2
- package/dist/render-T7QXFTZA.js +10 -0
- package/dist/seal-ITE2NNNH.js +10 -0
- package/dist/{setup-OEUDZ4BT.js → setup-BXOXVBU3.js} +3 -3
- package/dist/{watch-USNQJXQC.js → watch-7PYYGQUJ.js} +9 -9
- package/package.json +1 -1
- package/dist/chunks-M64IY7AK.js +0 -10
- package/dist/pdf-ocr-BUBZA4EE.cjs +0 -14
- package/dist/pdf-ocr-HITVPJLV.js +0 -13
- package/dist/pdf-ocr-K4WOCJGJ.js +0 -16
- package/dist/render-YY5RKZEB.js +0 -10
- package/dist/seal-5ZNJXOOQ.js +0 -10
- /package/dist/{-URO5XBEB.js.map → -BPSOA7WX.js.map} +0 -0
- /package/dist/{chunk-NFCQ5XNT.js.map → chunk-4CUEYYQF.js.map} +0 -0
- /package/dist/{chunk-3CBHCDYD.js.map → chunk-5EWPDL7S.js.map} +0 -0
- /package/dist/{chunk-E6OJKTYS.js.map → chunk-66BZATFV.js.map} +0 -0
- /package/dist/{chunk-HFVMCUXF.js.map → chunk-6KFW772K.js.map} +0 -0
- /package/dist/{chunk-WG473BIB.js.map → chunk-A6EAUP2J.js.map} +0 -0
- /package/dist/{chunk-37SAM3LH.js.map → chunk-C5IU7Q3W.js.map} +0 -0
- /package/dist/{chunk-YB2TYOYY.js.map → chunk-DIB2I2HP.js.map} +0 -0
- /package/dist/{chunk-S4SMUQAT.js.map → chunk-ETMMB6O2.js.map} +0 -0
- /package/dist/{chunk-HS4762CD.js.map → chunk-I6EWYT3Y.js.map} +0 -0
- /package/dist/{chunk-L2Q3NLHX.js.map → chunk-I6Q5K2YF.js.map} +0 -0
- /package/dist/{chunk-2ANLGAUG.js.map → chunk-KTAWKNYX.js.map} +0 -0
- /package/dist/{chunk-OKE6G67G.js.map → chunk-MYOGZQMD.js.map} +0 -0
- /package/dist/{chunk-F7RZZI5P.js.map → chunk-N7HKWVGP.js.map} +0 -0
- /package/dist/{chunk-VPAYFTMH.js.map → chunk-NJMWYRLY.js.map} +0 -0
- /package/dist/{chunk-TXRTH5BV.js.map → chunk-XGXKICRN.js.map} +0 -0
- /package/dist/{chunk-ZEQPTIWN.js.map → chunk-Y4H75LKS.js.map} +0 -0
- /package/dist/{chunk-7OHDTS5Q.js.map → chunk-YCSXG6SY.js.map} +0 -0
- /package/dist/{chunk-WXC4HKSD.js.map → chunk-YOFMKKCA.js.map} +0 -0
- /package/dist/{chunks-M64IY7AK.js.map → chunks-HYXNV3WP.js.map} +0 -0
- /package/dist/{formula-7BNCJ55B.js.map → formula-7XQLPNSO.js.map} +0 -0
- /package/dist/{formula-YRMQ7BTI.js.map → formula-T4AIR2LX.js.map} +0 -0
- /package/dist/{image-ocr-O7TKPDTY.js.map → image-ocr-EJLWGR3B.js.map} +0 -0
- /package/dist/{image-ocr-XRVXVYKO.js.map → image-ocr-TZU64JJF.js.map} +0 -0
- /package/dist/{model-bundle-GNDUKNME.js.map → model-bundle-OT2OTSGH.js.map} +0 -0
- /package/dist/{models-TJ45RB2Z.js.map → models-MUVFWN7M.js.map} +0 -0
- /package/dist/{parser-5MLJHSRX.js.map → parser-E6NQ666P.js.map} +0 -0
- /package/dist/{parser-U3SMCGRK.js.map → parser-ERSNBILY.js.map} +0 -0
- /package/dist/{pdf-ocr-HITVPJLV.js.map → pdf-ocr-KG7X7WRC.js.map} +0 -0
- /package/dist/{pdf-ocr-K4WOCJGJ.js.map → pdf-ocr-YTZL2UL4.js.map} +0 -0
- /package/dist/{profile-io-VATWYLZX.js.map → profile-io-IRW6XCXH.js.map} +0 -0
- /package/dist/{rasterize-PNRXMSL2.js.map → rasterize-BNF6QTLY.js.map} +0 -0
- /package/dist/{render-YY5RKZEB.js.map → render-T7QXFTZA.js.map} +0 -0
- /package/dist/{seal-5ZNJXOOQ.js.map → seal-ITE2NNNH.js.map} +0 -0
- /package/dist/{setup-OEUDZ4BT.js.map → setup-BXOXVBU3.js.map} +0 -0
- /package/dist/{watch-USNQJXQC.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
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;
|