kordoc 4.9.2 → 4.10.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.
- package/README.md +44 -0
- package/dist/{-Z4LCTGQR.js → -AN4MKOOO.js} +9 -9
- package/dist/{chunk-BAJVZXC7.cjs → chunk-2FNQN23O.cjs} +3 -3
- package/dist/chunk-2FNQN23O.cjs.map +1 -0
- package/dist/{chunk-WLZX2HTC.js → chunk-34IBS3JN.js} +3 -3
- package/dist/{chunk-6WYMV73J.js → chunk-4EJLRZ7A.js} +50 -16
- package/dist/chunk-4EJLRZ7A.js.map +1 -0
- package/dist/{chunk-KATZTHWA.cjs → chunk-4SIKWOLQ.cjs} +2 -2
- package/dist/chunk-4SIKWOLQ.cjs.map +1 -0
- package/dist/{chunk-OOT54JF2.js → chunk-7UUQXASL.js} +2 -2
- package/dist/{chunk-OOT54JF2.js.map → chunk-7UUQXASL.js.map} +1 -1
- package/dist/{chunk-LJP3PK2S.js → chunk-AOTA4XTU.js} +2 -2
- package/dist/{chunk-LUY46O7O.js → chunk-B4MQXOU5.js} +2 -2
- package/dist/chunk-DCZVOIEO.cjs.map +1 -1
- package/dist/{chunk-JHPEDWJX.js → chunk-EWUFLCRP.js} +3 -3
- package/dist/{chunk-OYQL3D4B.js → chunk-F3OPGGQ2.js} +2 -2
- package/dist/chunk-GS7T56RP.cjs.map +1 -1
- package/dist/{chunk-PIUPP3FL.js → chunk-HO7N6T36.js} +3 -3
- package/dist/{chunk-PKCDYIIJ.js → chunk-JAY6BXZ6.js} +2 -2
- package/dist/{chunk-TK7WUS47.js → chunk-KEF4UQYI.js} +2 -2
- package/dist/{chunk-XINP35F4.js → chunk-N3DLQ2YH.js} +1 -1
- package/dist/{chunk-XINP35F4.js.map → chunk-N3DLQ2YH.js.map} +1 -1
- package/dist/{chunk-GL6BCNJV.js → chunk-NE7GR65O.js} +3 -3
- package/dist/{chunk-5ZPXRDS2.js → chunk-NMXDXHHW.js} +2 -2
- package/dist/{chunk-5ZPXRDS2.js.map → chunk-NMXDXHHW.js.map} +1 -1
- package/dist/{chunk-BN33O25L.js → chunk-ONQHGZTS.js} +1 -1
- package/dist/{chunk-BN33O25L.js.map → chunk-ONQHGZTS.js.map} +1 -1
- package/dist/{chunk-NIQ4JCQF.cjs → chunk-OQNZCCJI.cjs} +6 -6
- package/dist/chunk-OQNZCCJI.cjs.map +1 -0
- package/dist/{chunk-Y7QB4IB6.js → chunk-PDXRLQD6.js} +2 -2
- package/dist/{chunk-NOEYLJGJ.js → chunk-QYXQJPB7.js} +3 -3
- package/dist/{chunk-NIBRVLGS.js → chunk-SV2YYPBO.js} +3 -3
- package/dist/{chunk-L5CDTOC3.cjs → chunk-T7GRHAIW.cjs} +1 -1
- package/dist/chunk-T7GRHAIW.cjs.map +1 -0
- package/dist/{chunk-V3Q6I2AQ.cjs → chunk-V7F5765M.cjs} +4 -4
- package/dist/chunk-V7F5765M.cjs.map +1 -0
- package/dist/{chunk-VYGNPB2X.js → chunk-VR3ECURZ.js} +2 -2
- package/dist/{chunk-LKZQ4564.js → chunk-WLUDCIOK.js} +2 -2
- package/dist/{chunk-LREEDIEF.js → chunk-YVPYCQOG.js} +2 -2
- package/dist/{chunk-SHBVD23C.cjs → chunk-ZOLKTMBS.cjs} +11 -11
- package/dist/chunk-ZOLKTMBS.cjs.map +1 -0
- package/dist/chunks-JUBR2TW7.js +10 -0
- package/dist/cli.js +37 -33
- package/dist/cli.js.map +1 -1
- package/dist/{formula-JVBJ6QRG.cjs → formula-4QA6ZSFP.cjs} +9 -9
- package/dist/formula-4QA6ZSFP.cjs.map +1 -0
- package/dist/{formula-LFWZG7T7.js → formula-LFDXPFQH.js} +4 -4
- package/dist/{formula-77TJPACH.js → formula-UYS7Z7IH.js} +3 -3
- package/dist/{image-ocr-YZ56O63S.js → image-ocr-3YP5I2H4.js} +6 -6
- package/dist/{image-ocr-6SY623KL.js → image-ocr-NOU6O7ZY.js} +8 -8
- package/dist/{image-ocr-YTGAUHEP.cjs → image-ocr-POPCJGL5.cjs} +12 -12
- package/dist/image-ocr-POPCJGL5.cjs.map +1 -0
- package/dist/index.cjs +222 -189
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +45 -12
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +16 -16
- package/dist/{model-bundle-W7B3BIYS.js → model-bundle-AUKJF6GA.js} +5 -5
- package/dist/{models-FUKPEVPE.js → models-QKSQSUWJ.js} +5 -5
- package/dist/page-range-P7SDW6LR.cjs.map +1 -1
- package/dist/{parser-6UL2HLDH.js → parser-6HKVNDZM.js} +7 -7
- package/dist/{parser-WIRWVN5E.cjs → parser-VAIMONF2.cjs} +27 -27
- package/dist/parser-VAIMONF2.cjs.map +1 -0
- package/dist/{parser-GDYZDBZI.js → parser-VVGAZIAX.js} +7 -7
- package/dist/pdf-ocr-4CWHKKTX.cjs +14 -0
- package/dist/pdf-ocr-4CWHKKTX.cjs.map +1 -0
- package/dist/pdf-ocr-D6HR23OB.js +13 -0
- package/dist/pdf-ocr-WIMNTEVH.js +16 -0
- package/dist/{profile-io-4EE64K6Y.js → profile-io-PYCSBITE.js} +3 -3
- package/dist/{rasterize-QW7SSKHB.js → rasterize-TUBHYALD.js} +2 -2
- package/dist/render-QW5Z4IMW.js +10 -0
- package/dist/seal-OTOP5CLA.js +10 -0
- package/dist/{setup-JS7E2HFM.js → setup-6EUKBDMC.js} +3 -3
- package/dist/{watch-YISVPGW3.js → watch-JVGXPTCI.js} +10 -10
- package/package.json +1 -1
- package/dist/chunk-6WYMV73J.js.map +0 -1
- package/dist/chunk-BAJVZXC7.cjs.map +0 -1
- package/dist/chunk-KATZTHWA.cjs.map +0 -1
- package/dist/chunk-L5CDTOC3.cjs.map +0 -1
- package/dist/chunk-NIQ4JCQF.cjs.map +0 -1
- package/dist/chunk-SHBVD23C.cjs.map +0 -1
- package/dist/chunk-V3Q6I2AQ.cjs.map +0 -1
- package/dist/chunks-TRJGNO4N.js +0 -10
- package/dist/formula-JVBJ6QRG.cjs.map +0 -1
- package/dist/image-ocr-YTGAUHEP.cjs.map +0 -1
- package/dist/parser-WIRWVN5E.cjs.map +0 -1
- package/dist/pdf-ocr-O373AAN6.cjs +0 -14
- package/dist/pdf-ocr-O373AAN6.cjs.map +0 -1
- package/dist/pdf-ocr-OHUAQQMN.js +0 -16
- package/dist/pdf-ocr-XTE234WC.js +0 -13
- package/dist/render-2NID54BX.js +0 -10
- package/dist/seal-PTP4TWYR.js +0 -10
- /package/dist/{-Z4LCTGQR.js.map → -AN4MKOOO.js.map} +0 -0
- /package/dist/{chunk-WLZX2HTC.js.map → chunk-34IBS3JN.js.map} +0 -0
- /package/dist/{chunk-LJP3PK2S.js.map → chunk-AOTA4XTU.js.map} +0 -0
- /package/dist/{chunk-LUY46O7O.js.map → chunk-B4MQXOU5.js.map} +0 -0
- /package/dist/{chunk-JHPEDWJX.js.map → chunk-EWUFLCRP.js.map} +0 -0
- /package/dist/{chunk-OYQL3D4B.js.map → chunk-F3OPGGQ2.js.map} +0 -0
- /package/dist/{chunk-PIUPP3FL.js.map → chunk-HO7N6T36.js.map} +0 -0
- /package/dist/{chunk-PKCDYIIJ.js.map → chunk-JAY6BXZ6.js.map} +0 -0
- /package/dist/{chunk-TK7WUS47.js.map → chunk-KEF4UQYI.js.map} +0 -0
- /package/dist/{chunk-GL6BCNJV.js.map → chunk-NE7GR65O.js.map} +0 -0
- /package/dist/{chunk-Y7QB4IB6.js.map → chunk-PDXRLQD6.js.map} +0 -0
- /package/dist/{chunk-NOEYLJGJ.js.map → chunk-QYXQJPB7.js.map} +0 -0
- /package/dist/{chunk-NIBRVLGS.js.map → chunk-SV2YYPBO.js.map} +0 -0
- /package/dist/{chunk-VYGNPB2X.js.map → chunk-VR3ECURZ.js.map} +0 -0
- /package/dist/{chunk-LKZQ4564.js.map → chunk-WLUDCIOK.js.map} +0 -0
- /package/dist/{chunk-LREEDIEF.js.map → chunk-YVPYCQOG.js.map} +0 -0
- /package/dist/{chunks-TRJGNO4N.js.map → chunks-JUBR2TW7.js.map} +0 -0
- /package/dist/{formula-LFWZG7T7.js.map → formula-LFDXPFQH.js.map} +0 -0
- /package/dist/{formula-77TJPACH.js.map → formula-UYS7Z7IH.js.map} +0 -0
- /package/dist/{image-ocr-YZ56O63S.js.map → image-ocr-3YP5I2H4.js.map} +0 -0
- /package/dist/{image-ocr-6SY623KL.js.map → image-ocr-NOU6O7ZY.js.map} +0 -0
- /package/dist/{model-bundle-W7B3BIYS.js.map → model-bundle-AUKJF6GA.js.map} +0 -0
- /package/dist/{models-FUKPEVPE.js.map → models-QKSQSUWJ.js.map} +0 -0
- /package/dist/{parser-6UL2HLDH.js.map → parser-6HKVNDZM.js.map} +0 -0
- /package/dist/{parser-GDYZDBZI.js.map → parser-VVGAZIAX.js.map} +0 -0
- /package/dist/{pdf-ocr-OHUAQQMN.js.map → pdf-ocr-D6HR23OB.js.map} +0 -0
- /package/dist/{pdf-ocr-XTE234WC.js.map → pdf-ocr-WIMNTEVH.js.map} +0 -0
- /package/dist/{profile-io-4EE64K6Y.js.map → profile-io-PYCSBITE.js.map} +0 -0
- /package/dist/{rasterize-QW7SSKHB.js.map → rasterize-TUBHYALD.js.map} +0 -0
- /package/dist/{render-2NID54BX.js.map → render-QW5Z4IMW.js.map} +0 -0
- /package/dist/{seal-PTP4TWYR.js.map → seal-OTOP5CLA.js.map} +0 -0
- /package/dist/{setup-JS7E2HFM.js.map → setup-6EUKBDMC.js.map} +0 -0
- /package/dist/{watch-YISVPGW3.js.map → watch-JVGXPTCI.js.map} +0 -0
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-YVPYCQOG.js";
|
|
5
5
|
import {
|
|
6
6
|
BODY_FONTS,
|
|
7
7
|
BULLET2_CHARS,
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
BUILTIN_TEMPLATES,
|
|
13
13
|
PRESET_ALIAS,
|
|
14
14
|
detectFormat,
|
|
15
|
+
detectImageMime,
|
|
15
16
|
detectZipFormat,
|
|
16
17
|
extractClickHereFields,
|
|
17
18
|
extractFormFields,
|
|
@@ -30,24 +31,24 @@ import {
|
|
|
30
31
|
resolveBuiltinTemplate,
|
|
31
32
|
unknownFontWarnings,
|
|
32
33
|
usesGaejosikMunche
|
|
33
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-4EJLRZ7A.js";
|
|
34
35
|
import "./chunk-7FCNOKOR.js";
|
|
35
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-N3DLQ2YH.js";
|
|
36
37
|
import "./chunk-MOL7MDBG.js";
|
|
37
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-EWUFLCRP.js";
|
|
38
39
|
import "./chunk-DZIXKL7E.js";
|
|
39
|
-
import "./chunk-
|
|
40
|
+
import "./chunk-F3OPGGQ2.js";
|
|
40
41
|
import {
|
|
41
42
|
blocksToMarkdown
|
|
42
|
-
} from "./chunk-
|
|
43
|
-
import "./chunk-
|
|
44
|
-
import "./chunk-
|
|
43
|
+
} from "./chunk-B4MQXOU5.js";
|
|
44
|
+
import "./chunk-QYXQJPB7.js";
|
|
45
|
+
import "./chunk-JAY6BXZ6.js";
|
|
45
46
|
import {
|
|
46
47
|
VERSION,
|
|
47
48
|
classifyError,
|
|
48
49
|
sanitizeError,
|
|
49
50
|
toArrayBuffer
|
|
50
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-NMXDXHHW.js";
|
|
51
52
|
|
|
52
53
|
// src/cli.ts
|
|
53
54
|
import { readFileSync, writeFileSync, mkdirSync, statSync } from "fs";
|
|
@@ -111,9 +112,7 @@ program.name("kordoc").description("\uBAA8\uB450 \uD30C\uC2F1\uD574\uBC84\uB9AC\
|
|
|
111
112
|
`);
|
|
112
113
|
process.stderr.write(` \u2192 ${result.error}
|
|
113
114
|
`);
|
|
114
|
-
|
|
115
|
-
process.stdout.write(JSON.stringify(result, null, 2) + "\n");
|
|
116
|
-
}
|
|
115
|
+
process.stdout.write(JSON.stringify(result, null, 2) + "\n");
|
|
117
116
|
process.exitCode = 1;
|
|
118
117
|
continue;
|
|
119
118
|
}
|
|
@@ -144,7 +143,7 @@ program.name("kordoc").description("\uBAA8\uB450 \uD30C\uC2F1\uD574\uBC84\uB9AC\
|
|
|
144
143
|
`);
|
|
145
144
|
}
|
|
146
145
|
} else if (opts.format === "chunks") {
|
|
147
|
-
const { blocksToChunks } = await import("./chunks-
|
|
146
|
+
const { blocksToChunks } = await import("./chunks-JUBR2TW7.js");
|
|
148
147
|
output = JSON.stringify(blocksToChunks(result.blocks), null, 2);
|
|
149
148
|
} else {
|
|
150
149
|
output = markdown;
|
|
@@ -156,7 +155,14 @@ program.name("kordoc").description("\uBAA8\uB450 \uD30C\uC2F1\uD574\uBC84\uB9AC\
|
|
|
156
155
|
for (const img of result.images) {
|
|
157
156
|
writeFileSync(resolve(imgDir, img.filename), img.data);
|
|
158
157
|
}
|
|
159
|
-
|
|
158
|
+
const manifest = result.images.map((img) => ({
|
|
159
|
+
name: img.filename,
|
|
160
|
+
mimeType: detectImageMime(img.data) ?? img.mimeType,
|
|
161
|
+
bytes: img.data.length,
|
|
162
|
+
...img.source ? { source: img.source } : {}
|
|
163
|
+
}));
|
|
164
|
+
writeFileSync(resolve(imgDir, "manifest.json"), JSON.stringify(manifest, null, 2), "utf-8");
|
|
165
|
+
if (!opts.silent) process.stderr.write(` \u2192 ${result.images.length}\uAC1C \uC774\uBBF8\uC9C0 \u2192 ${imgDir} (manifest.json \uD3EC\uD568)
|
|
160
166
|
`);
|
|
161
167
|
};
|
|
162
168
|
if (opts.output && files.length === 1) {
|
|
@@ -179,14 +185,12 @@ program.name("kordoc").description("\uBAA8\uB450 \uD30C\uC2F1\uD574\uBC84\uB9AC\
|
|
|
179
185
|
process.stderr.write(`
|
|
180
186
|
[kordoc] ERROR: ${fileName} \u2014 ${sanitizeError(err)}
|
|
181
187
|
`);
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
}, null, 2) + "\n");
|
|
189
|
-
}
|
|
188
|
+
process.stdout.write(JSON.stringify({
|
|
189
|
+
success: false,
|
|
190
|
+
fileType: detectedFormat,
|
|
191
|
+
error: sanitizeError(err),
|
|
192
|
+
code: classifyError(err)
|
|
193
|
+
}, null, 2) + "\n");
|
|
190
194
|
process.exitCode = 1;
|
|
191
195
|
}
|
|
192
196
|
}
|
|
@@ -199,7 +203,7 @@ program.command("watch <dir>").description("\uB514\uB809\uD1A0\uB9AC \uAC10\uC2D
|
|
|
199
203
|
if (command.getOptionValueSource("format") === "default" && program.getOptionValueSource("format") === "cli") {
|
|
200
204
|
opts.format = rootOpts.format;
|
|
201
205
|
}
|
|
202
|
-
const { watchDirectory } = await import("./watch-
|
|
206
|
+
const { watchDirectory } = await import("./watch-JVGXPTCI.js");
|
|
203
207
|
await watchDirectory({
|
|
204
208
|
dir,
|
|
205
209
|
outDir: opts.outDir,
|
|
@@ -421,7 +425,7 @@ program.command("fill [file]").description("\uC11C\uC2DD \uBB38\uC11C\uC758 \uBE
|
|
|
421
425
|
});
|
|
422
426
|
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) => {
|
|
423
427
|
try {
|
|
424
|
-
const { placeSealHwpx, detectFormat: detectFormat2 } = await import("./-
|
|
428
|
+
const { placeSealHwpx, detectFormat: detectFormat2 } = await import("./-AN4MKOOO.js");
|
|
425
429
|
const rootOpts = program.opts();
|
|
426
430
|
const output = opts.output ?? rootOpts.output;
|
|
427
431
|
const silent = opts.silent ?? rootOpts.silent;
|
|
@@ -499,7 +503,7 @@ program.command("seal <file>").description('\uB3C4\uC7A5/\uC11C\uBA85 \uC774\uBB
|
|
|
499
503
|
});
|
|
500
504
|
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) => {
|
|
501
505
|
try {
|
|
502
|
-
const { patchHwpx, patchHwp, detectFormat: detectFormat2 } = await import("./-
|
|
506
|
+
const { patchHwpx, patchHwp, detectFormat: detectFormat2 } = await import("./-AN4MKOOO.js");
|
|
503
507
|
const rootOpts = program.opts();
|
|
504
508
|
const output = opts.output ?? rootOpts.output;
|
|
505
509
|
const silent = opts.silent ?? rootOpts.silent;
|
|
@@ -540,7 +544,7 @@ program.command("patch <original> <edited>").description("\uC11C\uC2DD \uBCF4\uC
|
|
|
540
544
|
});
|
|
541
545
|
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) => {
|
|
542
546
|
try {
|
|
543
|
-
const { validateHwpx } = await import("./-
|
|
547
|
+
const { validateHwpx } = await import("./-AN4MKOOO.js");
|
|
544
548
|
const buf = new Uint8Array(readFileSync(resolve(file)));
|
|
545
549
|
const result = await validateHwpx(buf);
|
|
546
550
|
if (opts.json) {
|
|
@@ -785,7 +789,7 @@ program.command("lint <file>").description("\uACF5\uBB38\uC11C \uD45C\uAE30\uBC9
|
|
|
785
789
|
}
|
|
786
790
|
});
|
|
787
791
|
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) => {
|
|
788
|
-
const { redactMarkdown, DEFAULT_REDACT_RULES, patchHwpx, patchHwp } = await import("./-
|
|
792
|
+
const { redactMarkdown, DEFAULT_REDACT_RULES, patchHwpx, patchHwp } = await import("./-AN4MKOOO.js");
|
|
789
793
|
const rootOpts = program.opts();
|
|
790
794
|
const output = opts.output ?? rootOpts.output;
|
|
791
795
|
const silent = opts.silent ?? rootOpts.silent;
|
|
@@ -874,7 +878,7 @@ program.command("render <file>").description("\uB808\uC774\uC544\uC6C3 \uBCF4\uC
|
|
|
874
878
|
const rootOpts = program.opts();
|
|
875
879
|
const output = opts.output ?? rootOpts.output;
|
|
876
880
|
const silent = opts.silent ?? rootOpts.silent;
|
|
877
|
-
const { renderHwpxToSvg } = await import("./render-
|
|
881
|
+
const { renderHwpxToSvg } = await import("./render-QW5Z4IMW.js");
|
|
878
882
|
const absPath = resolve(file);
|
|
879
883
|
const buffer = readFileSync(absPath);
|
|
880
884
|
const highlights = opts.highlight ? String(opts.highlight).split(",") : void 0;
|
|
@@ -896,7 +900,7 @@ program.command("render <file>").description("\uB808\uC774\uC544\uC6C3 \uBCF4\uC
|
|
|
896
900
|
});
|
|
897
901
|
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 () => {
|
|
898
902
|
const { createInterface } = await import("readline");
|
|
899
|
-
const { renderHwpxToSvg } = await import("./render-
|
|
903
|
+
const { renderHwpxToSvg } = await import("./render-QW5Z4IMW.js");
|
|
900
904
|
const rl = createInterface({ input: process.stdin });
|
|
901
905
|
const write = (o) => void process.stdout.write(JSON.stringify(o) + "\n");
|
|
902
906
|
write({ ready: true, version: VERSION });
|
|
@@ -941,12 +945,12 @@ program.command("mcp").description("MCP \uC11C\uBC84 \uC2E4\uD589 (Claude / Curs
|
|
|
941
945
|
await startMcpServer();
|
|
942
946
|
});
|
|
943
947
|
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 () => {
|
|
944
|
-
const { runSetup } = await import("./setup-
|
|
948
|
+
const { runSetup } = await import("./setup-6EUKBDMC.js");
|
|
945
949
|
await runSetup();
|
|
946
950
|
});
|
|
947
951
|
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) => {
|
|
948
952
|
try {
|
|
949
|
-
const { getFormulaModelStatus, ensureFormulaModels, getFormulaModelsDir } = await import("./formula-
|
|
953
|
+
const { getFormulaModelStatus, ensureFormulaModels, getFormulaModelsDir } = await import("./formula-LFDXPFQH.js");
|
|
950
954
|
const dir = getFormulaModelsDir();
|
|
951
955
|
if (opts.statusOnly) {
|
|
952
956
|
const status = await getFormulaModelStatus();
|
|
@@ -1000,7 +1004,7 @@ program.command("check-formula-models").description("PDF \uC218\uC2DD OCR \uBAA8
|
|
|
1000
1004
|
});
|
|
1001
1005
|
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) => {
|
|
1002
1006
|
try {
|
|
1003
|
-
const { getOcrModelStatus, ensureOcrModels, getOcrModelsDir } = await import("./models-
|
|
1007
|
+
const { getOcrModelStatus, ensureOcrModels, getOcrModelsDir } = await import("./models-QKSQSUWJ.js");
|
|
1004
1008
|
const dir = getOcrModelsDir();
|
|
1005
1009
|
if (opts.statusOnly) {
|
|
1006
1010
|
const status = await getOcrModelStatus();
|
|
@@ -1054,7 +1058,7 @@ program.command("check-ocr-models").description("\uD14D\uC2A4\uD2B8 OCR \uBAA8\u
|
|
|
1054
1058
|
});
|
|
1055
1059
|
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) => {
|
|
1056
1060
|
try {
|
|
1057
|
-
const { exportModels, importModels, modelCacheStatus } = await import("./model-bundle-
|
|
1061
|
+
const { exportModels, importModels, modelCacheStatus } = await import("./model-bundle-AUKJF6GA.js");
|
|
1058
1062
|
if (opts.status) {
|
|
1059
1063
|
process.stdout.write(JSON.stringify(await modelCacheStatus(), null, 2) + "\n");
|
|
1060
1064
|
return;
|