kordoc 4.12.2 → 4.12.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 (121) hide show
  1. package/README.md +12 -1
  2. package/dist/{-EZH6NKTE.js → -FWGDIOV4.js} +8 -8
  3. package/dist/{chunk-OEYECZGV.js → chunk-2DAFWDV2.js} +9 -5
  4. package/dist/chunk-2DAFWDV2.js.map +1 -0
  5. package/dist/{chunk-5RPYBC2Q.js → chunk-3KQOI6R6.js} +27 -2
  6. package/dist/chunk-3KQOI6R6.js.map +1 -0
  7. package/dist/{chunk-DBGEUDBY.js → chunk-6L3B44DH.js} +2 -2
  8. package/dist/{chunk-ONNAHSPV.cjs → chunk-7BIXTQZ3.cjs} +14 -10
  9. package/dist/chunk-7BIXTQZ3.cjs.map +1 -0
  10. package/dist/{chunk-IOJX4Q63.js → chunk-B63QEHYL.js} +3 -3
  11. package/dist/{chunk-JCMBQC5N.js → chunk-BAZMKQZW.js} +2 -2
  12. package/dist/{chunk-V5BUPZ6I.cjs → chunk-BOATAEXU.cjs} +7 -4
  13. package/dist/chunk-BOATAEXU.cjs.map +1 -0
  14. package/dist/{chunk-KX7IYCCZ.js → chunk-CKYDP34A.js} +3 -3
  15. package/dist/{chunk-7XUXSDH5.js → chunk-DUGUCM7K.js} +9 -5
  16. package/dist/chunk-DUGUCM7K.js.map +1 -0
  17. package/dist/{chunk-2LKYJ4G3.cjs → chunk-FFITS3NY.cjs} +6 -6
  18. package/dist/{chunk-2LKYJ4G3.cjs.map → chunk-FFITS3NY.cjs.map} +1 -1
  19. package/dist/{chunk-2B7OIEJJ.js → chunk-HB56YANA.js} +5 -2
  20. package/dist/chunk-HB56YANA.js.map +1 -0
  21. package/dist/{chunk-2HBYWA5X.js → chunk-IC6HHXFL.js} +2 -2
  22. package/dist/{chunk-LD2K4K5V.js → chunk-INFYDSZL.js} +111 -22
  23. package/dist/chunk-INFYDSZL.js.map +1 -0
  24. package/dist/{chunk-62IU4NV3.cjs → chunk-ISCI5LKN.cjs} +2 -2
  25. package/dist/{chunk-62IU4NV3.cjs.map → chunk-ISCI5LKN.cjs.map} +1 -1
  26. package/dist/{chunk-XXDZ2KTW.js → chunk-KLO6RHX2.js} +2 -2
  27. package/dist/{chunk-MUYU4JI5.js → chunk-KRE2SREV.js} +2 -2
  28. package/dist/{chunk-QBCMFNHS.js → chunk-OJDMMZ5Z.js} +2 -2
  29. package/dist/{chunk-UL2MDA5C.js → chunk-PL4V523B.js} +3 -3
  30. package/dist/{chunk-FBLMVHDK.js → chunk-PUZZFYLV.js} +2 -2
  31. package/dist/{chunk-2LO525TL.js → chunk-SJEPQOVW.js} +2 -2
  32. package/dist/{chunk-QM2RSJ2S.js → chunk-TWKXX343.js} +3 -3
  33. package/dist/{chunk-2LPBIW2B.cjs → chunk-W3H2H55O.cjs} +3 -3
  34. package/dist/{chunk-2LPBIW2B.cjs.map → chunk-W3H2H55O.cjs.map} +1 -1
  35. package/dist/{chunk-FVBR7SC3.js → chunk-YBZJMAE2.js} +2 -2
  36. package/dist/{chunk-Q6ETEJFK.js → chunk-ZASGH5EN.js} +5 -2
  37. package/dist/chunk-ZASGH5EN.js.map +1 -0
  38. package/dist/chunks-VICNQMNE.js +10 -0
  39. package/dist/cli.js +30 -23
  40. package/dist/cli.js.map +1 -1
  41. package/dist/{formula-NW33S4TA.js → formula-R7IWAAYR.js} +3 -3
  42. package/dist/{formula-6RQX4NMJ.js → formula-YJWKEPUK.js} +4 -4
  43. package/dist/{formula-NBEO6CFC.cjs → formula-ZYHUXTK5.cjs} +9 -9
  44. package/dist/{formula-NBEO6CFC.cjs.map → formula-ZYHUXTK5.cjs.map} +1 -1
  45. package/dist/{image-ocr-V4KY373B.cjs → image-ocr-6O6ZXKUD.cjs} +11 -11
  46. package/dist/{image-ocr-V4KY373B.cjs.map → image-ocr-6O6ZXKUD.cjs.map} +1 -1
  47. package/dist/{image-ocr-SO56VETS.js → image-ocr-G4JVF2UH.js} +7 -7
  48. package/dist/{image-ocr-CAVU2TNZ.js → image-ocr-OLTSKQWD.js} +5 -5
  49. package/dist/index.cjs +455 -366
  50. package/dist/index.cjs.map +1 -1
  51. package/dist/index.d.cts +17 -0
  52. package/dist/index.d.ts +17 -0
  53. package/dist/index.js +107 -18
  54. package/dist/index.js.map +1 -1
  55. package/dist/mcp.js +20 -17
  56. package/dist/mcp.js.map +1 -1
  57. package/dist/{model-bundle-EIJF34DR.js → model-bundle-IFD2D5CW.js} +5 -5
  58. package/dist/{models-6V4CPQXC.js → models-FJ3IUNTB.js} +5 -5
  59. package/dist/{parser-OBHNXEQM.js → parser-I7TC35V6.js} +31 -10
  60. package/dist/parser-I7TC35V6.js.map +1 -0
  61. package/dist/{parser-GIREMEPD.js → parser-JRT3B6OK.js} +31 -10
  62. package/dist/parser-JRT3B6OK.js.map +1 -0
  63. package/dist/{parser-OMT25WH2.cjs → parser-YLLIYOIZ.cjs} +59 -38
  64. package/dist/parser-YLLIYOIZ.cjs.map +1 -0
  65. package/dist/pdf-ocr-ADUP2LPU.cjs +14 -0
  66. package/dist/{pdf-ocr-TFYVK4FI.cjs.map → pdf-ocr-ADUP2LPU.cjs.map} +1 -1
  67. package/dist/pdf-ocr-ATJTB2B3.js +13 -0
  68. package/dist/pdf-ocr-P75KSZFV.js +16 -0
  69. package/dist/{profile-io-PZVMM66V.js → profile-io-BPJQQZLQ.js} +3 -3
  70. package/dist/{rasterize-NRWP2C6L.js → rasterize-ALCNU53T.js} +2 -2
  71. package/dist/render-MDLTQUUV.js +10 -0
  72. package/dist/seal-K4K3KPE3.js +10 -0
  73. package/dist/{setup-V55AJP6H.js → setup-O2DALZKF.js} +3 -3
  74. package/dist/{watch-7CQSMDDP.js → watch-GPWYJAS2.js} +9 -9
  75. package/package.json +1 -1
  76. package/dist/chunk-2B7OIEJJ.js.map +0 -1
  77. package/dist/chunk-5RPYBC2Q.js.map +0 -1
  78. package/dist/chunk-7XUXSDH5.js.map +0 -1
  79. package/dist/chunk-LD2K4K5V.js.map +0 -1
  80. package/dist/chunk-OEYECZGV.js.map +0 -1
  81. package/dist/chunk-ONNAHSPV.cjs.map +0 -1
  82. package/dist/chunk-Q6ETEJFK.js.map +0 -1
  83. package/dist/chunk-V5BUPZ6I.cjs.map +0 -1
  84. package/dist/chunks-TT7ZE5QQ.js +0 -10
  85. package/dist/parser-GIREMEPD.js.map +0 -1
  86. package/dist/parser-OBHNXEQM.js.map +0 -1
  87. package/dist/parser-OMT25WH2.cjs.map +0 -1
  88. package/dist/pdf-ocr-IRXQ5GBM.js +0 -13
  89. package/dist/pdf-ocr-SL4GCOGS.js +0 -16
  90. package/dist/pdf-ocr-TFYVK4FI.cjs +0 -14
  91. package/dist/render-V5ZPTZQ7.js +0 -10
  92. package/dist/seal-LVG2DGAB.js +0 -10
  93. /package/dist/{-EZH6NKTE.js.map → -FWGDIOV4.js.map} +0 -0
  94. /package/dist/{chunk-DBGEUDBY.js.map → chunk-6L3B44DH.js.map} +0 -0
  95. /package/dist/{chunk-IOJX4Q63.js.map → chunk-B63QEHYL.js.map} +0 -0
  96. /package/dist/{chunk-JCMBQC5N.js.map → chunk-BAZMKQZW.js.map} +0 -0
  97. /package/dist/{chunk-KX7IYCCZ.js.map → chunk-CKYDP34A.js.map} +0 -0
  98. /package/dist/{chunk-2HBYWA5X.js.map → chunk-IC6HHXFL.js.map} +0 -0
  99. /package/dist/{chunk-XXDZ2KTW.js.map → chunk-KLO6RHX2.js.map} +0 -0
  100. /package/dist/{chunk-MUYU4JI5.js.map → chunk-KRE2SREV.js.map} +0 -0
  101. /package/dist/{chunk-QBCMFNHS.js.map → chunk-OJDMMZ5Z.js.map} +0 -0
  102. /package/dist/{chunk-UL2MDA5C.js.map → chunk-PL4V523B.js.map} +0 -0
  103. /package/dist/{chunk-FBLMVHDK.js.map → chunk-PUZZFYLV.js.map} +0 -0
  104. /package/dist/{chunk-2LO525TL.js.map → chunk-SJEPQOVW.js.map} +0 -0
  105. /package/dist/{chunk-QM2RSJ2S.js.map → chunk-TWKXX343.js.map} +0 -0
  106. /package/dist/{chunk-FVBR7SC3.js.map → chunk-YBZJMAE2.js.map} +0 -0
  107. /package/dist/{chunks-TT7ZE5QQ.js.map → chunks-VICNQMNE.js.map} +0 -0
  108. /package/dist/{formula-NW33S4TA.js.map → formula-R7IWAAYR.js.map} +0 -0
  109. /package/dist/{formula-6RQX4NMJ.js.map → formula-YJWKEPUK.js.map} +0 -0
  110. /package/dist/{image-ocr-SO56VETS.js.map → image-ocr-G4JVF2UH.js.map} +0 -0
  111. /package/dist/{image-ocr-CAVU2TNZ.js.map → image-ocr-OLTSKQWD.js.map} +0 -0
  112. /package/dist/{model-bundle-EIJF34DR.js.map → model-bundle-IFD2D5CW.js.map} +0 -0
  113. /package/dist/{models-6V4CPQXC.js.map → models-FJ3IUNTB.js.map} +0 -0
  114. /package/dist/{pdf-ocr-IRXQ5GBM.js.map → pdf-ocr-ATJTB2B3.js.map} +0 -0
  115. /package/dist/{pdf-ocr-SL4GCOGS.js.map → pdf-ocr-P75KSZFV.js.map} +0 -0
  116. /package/dist/{profile-io-PZVMM66V.js.map → profile-io-BPJQQZLQ.js.map} +0 -0
  117. /package/dist/{rasterize-NRWP2C6L.js.map → rasterize-ALCNU53T.js.map} +0 -0
  118. /package/dist/{render-V5ZPTZQ7.js.map → render-MDLTQUUV.js.map} +0 -0
  119. /package/dist/{seal-LVG2DGAB.js.map → seal-K4K3KPE3.js.map} +0 -0
  120. /package/dist/{setup-V55AJP6H.js.map → setup-O2DALZKF.js.map} +0 -0
  121. /package/dist/{watch-7CQSMDDP.js.map → watch-GPWYJAS2.js.map} +0 -0
package/dist/mcp.js CHANGED
@@ -8,13 +8,14 @@ import {
8
8
  DOC_HEAD_KEYS,
9
9
  FONT_ROLE_KEYS,
10
10
  H2_MARKERS,
11
+ LEVEL_STYLE_KEYS,
11
12
  LINE_SPACING_RANGE,
12
13
  NOTICE_HEAD_KEYS,
13
14
  PRESS_CONTACT_KEYS,
14
15
  SIZE_KEYS,
15
16
  SIZE_PT_RANGE,
16
17
  buildGongmunOptions
17
- } from "./chunk-5RPYBC2Q.js";
18
+ } from "./chunk-3KQOI6R6.js";
18
19
  import {
19
20
  BUILTIN_TEMPLATES,
20
21
  PRESET_ALIAS,
@@ -39,30 +40,30 @@ import {
39
40
  resolveBuiltinTemplate,
40
41
  unknownFontWarnings,
41
42
  usesGaejosikMunche
42
- } from "./chunk-LD2K4K5V.js";
43
+ } from "./chunk-INFYDSZL.js";
43
44
  import "./chunk-7FCNOKOR.js";
44
45
  import "./chunk-N3DLQ2YH.js";
45
46
  import "./chunk-MOL7MDBG.js";
46
- import "./chunk-KX7IYCCZ.js";
47
+ import "./chunk-CKYDP34A.js";
47
48
  import "./chunk-DZIXKL7E.js";
48
- import "./chunk-DBGEUDBY.js";
49
+ import "./chunk-6L3B44DH.js";
49
50
  import {
50
51
  blocksToMarkdown
51
- } from "./chunk-Q6ETEJFK.js";
52
- import "./chunk-IOJX4Q63.js";
53
- import "./chunk-FVBR7SC3.js";
52
+ } from "./chunk-ZASGH5EN.js";
53
+ import "./chunk-B63QEHYL.js";
54
+ import "./chunk-YBZJMAE2.js";
54
55
  import {
55
56
  assertWithinRoot,
56
57
  getAccessRoot,
57
58
  isOfflineMode
58
- } from "./chunk-QBCMFNHS.js";
59
+ } from "./chunk-OJDMMZ5Z.js";
59
60
  import {
60
61
  KordocError,
61
62
  VERSION,
62
63
  classifyError,
63
64
  sanitizeError,
64
65
  toArrayBuffer
65
- } from "./chunk-FBLMVHDK.js";
66
+ } from "./chunk-PUZZFYLV.js";
66
67
 
67
68
  // src/mcp.ts
68
69
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
@@ -312,7 +313,7 @@ server.tool(
312
313
  break;
313
314
  case "pdf":
314
315
  try {
315
- const { extractPdfMetadataOnly } = await import("./parser-OBHNXEQM.js");
316
+ const { extractPdfMetadataOnly } = await import("./parser-I7TC35V6.js");
316
317
  metadata = await extractPdfMetadataOnly(buffer);
317
318
  } catch {
318
319
  metadata = void 0;
@@ -694,7 +695,7 @@ server.tool(
694
695
  }
695
696
  const image = new Uint8Array(await readFile(imgResolved));
696
697
  const ext = extname(imgResolved).slice(1).toLowerCase();
697
- const { placeSealHwpx } = await import("./seal-LVG2DGAB.js");
698
+ const { placeSealHwpx } = await import("./seal-K4K3KPE3.js");
698
699
  const result = await placeSealHwpx(buffer, [{
699
700
  anchor,
700
701
  occurrence,
@@ -796,7 +797,7 @@ server.tool(
796
797
  }
797
798
  const outPath = output_path ? safeOutputPath(output_path, /* @__PURE__ */ new Set([format === "png" ? ".png" : ".svg"])) : void 0;
798
799
  const { buffer } = await readValidatedFile(file_path, MAX_FILE_SIZE, /* @__PURE__ */ new Set([".hwpx"]));
799
- const { renderHwpxToSvg } = await import("./render-V5ZPTZQ7.js");
800
+ const { renderHwpxToSvg } = await import("./render-MDLTQUUV.js");
800
801
  const result = await renderHwpxToSvg(buffer, { highlights, reflow: true, reflowMode: reflow_mode });
801
802
  const summary = [
802
803
  `\uB80C\uB354 \uC644\uB8CC: ${result.pageCount}\uD398\uC774\uC9C0, ${Math.round(result.width)}x${Math.round(result.height)}pt (\uD14D\uC2A4\uD2B8 ${result.stats.texts}\xB7\uC774\uBBF8\uC9C0 ${result.stats.images}\xB7\uD45C ${result.stats.tables})`,
@@ -808,7 +809,7 @@ server.tool(
808
809
  summary.push(`\uC800\uC7A5: ${outPath}`);
809
810
  return { content: [{ type: "text", text: summary.join("\n") }] };
810
811
  }
811
- const { rasterizeSvg } = await import("./rasterize-NRWP2C6L.js");
812
+ const { rasterizeSvg } = await import("./rasterize-ALCNU53T.js");
812
813
  const raster = await rasterizeSvg(result.svg, result.width, result.height);
813
814
  if (outPath) {
814
815
  await mkdir(dirname(outPath), { recursive: true });
@@ -906,7 +907,7 @@ server.tool(
906
907
  if (!parsed.success) {
907
908
  return { content: [{ type: "text", text: `\uD30C\uC2F1 \uC2E4\uD328: ${parsed.error}` }], isError: true };
908
909
  }
909
- const { blocksToChunks } = await import("./chunks-TT7ZE5QQ.js");
910
+ const { blocksToChunks } = await import("./chunks-VICNQMNE.js");
910
911
  const chunks = blocksToChunks(parsed.blocks, { granularity, includeTableCells: include_table_cells });
911
912
  return { content: [{ type: "text", text: capResponseText(JSON.stringify(chunks, null, 2)) }] };
912
913
  } catch (err) {
@@ -925,7 +926,7 @@ server.tool(
925
926
  try {
926
927
  const out = safeOutputPath(output_path, PROFILE_EXTENSIONS);
927
928
  const { buffer } = await readValidatedFile(hwpx_path);
928
- const { hwpxToProfile } = await import("./-EZH6NKTE.js");
929
+ const { hwpxToProfile } = await import("./-FWGDIOV4.js");
929
930
  const profile = await hwpxToProfile(buffer);
930
931
  await mkdir(dirname(out), { recursive: true });
931
932
  await writeFile(out, JSON.stringify(profile, null, 2));
@@ -964,6 +965,7 @@ server.tool(
964
965
  h2_marker: z.enum(H2_MARKERS).optional().describe("h2 \uC139\uC158 \uC81C\uBAA9 \uB9D0\uBA38\uB9AC(\uBE44\uAC1C\uC870\uC2DD): box='\u25A1 \uC81C\uBAA9'(\uC2E4\uCE21 \uBCF4\uACE0\uC11C \uAD00\uD589), number='1. \uC81C\uBAA9'(\uACF5\uACE0\uBB38 \uAD00\uD589), none=\uB9D0\uBA38\uB9AC \uC5C6\uC74C. \uBBF8\uC9C0\uC815 \uC2DC \uBCF4\uACE0\uC11C\xB7\uACC4\uD68D\uC11C box, \uADF8 \uC678 none"),
965
966
  fonts: z.object(Object.fromEntries(FONT_ROLE_KEYS.map((k) => [k, z.string().optional()]))).optional().describe("\uC694\uC18C\uBCC4 \uAE00\uAF34 \uC624\uBC84\uB77C\uC774\uB4DC(\uACF5\uBB38\uC11C \uBAA8\uB4DC) \u2014 body=\uBCF8\uBB38(\u25CB\xB7-)/heading=\uC81C\uBAA9 \uACC4\uC5F4(\u25A1\xB7\uC7A5\uD5E4\uB354\xB7\uD45C\uC9C0\xB7\uBAA9\uCC28)/ref=\u203B \uCC38\uACE0/table=\uD45C \uC140. \uAC1C\uC870\uC2DD\xB7\uBCF4\uACE0\uC11C\xB7\uACC4\uD68D\uC11C\uB294 \uB124 \uC5ED\uD560 \uC804\uBD80, \uADF8 \uC678 \uD504\uB9AC\uC14B\uC740 body\uB9CC \uC801\uC6A9"),
966
967
  sizes: z.object(Object.fromEntries(SIZE_KEYS.map((k) => [k, z.number().min(SIZE_PT_RANGE.min).max(SIZE_PT_RANGE.max).optional()]))).optional().describe("\uAC1C\uC870\uC2DD \uC694\uC18C\uBCC4 \uAE00\uC790 \uD06C\uAE30(pt) \uC624\uBC84\uB77C\uC774\uB4DC \u2014 dae=\u25A1/cham=\u203B/chapter=\uC7A5\uD5E4\uB354/coverTitle\xB7coverSub=\uD45C\uC9C0/tocLabel\xB7tocRoman\xB7tocItem=\uBAA9\uCC28/table=\uD45C \uC140/bodyTitle=\uBCF8\uBB38 \uCCAB \uD398\uC774\uC9C0 \uC81C\uBAA9 \uBC18\uBCF5 \uBC15\uC2A4. \uBBF8\uC9C0\uC815 \uC694\uC18C\uB294 body_pt \uBE44\uB840 \uAE30\uBCF8\uAC12"),
968
+ levels: z.record(z.string().regex(/^[0-7]$/), z.object(Object.fromEntries(LEVEL_STYLE_KEYS.map((k) => [k, k === "pt" ? z.number().min(SIZE_PT_RANGE.min).max(SIZE_PT_RANGE.max).optional() : k === "bold" ? z.boolean().optional() : z.string().optional()])))).optional().describe('\uD56D\uBAA9\uBD80\uD638 \uB2E8\uACC4\uBCC4 \uC704\uACC4 \uD0C0\uC774\uD3EC(\uACF5\uBB38\uC11C \uBAA8\uB4DC, v4.12.3) \u2014 {"0":{font:"HY\uACAC\uACE0\uB515",pt:17,bold:true},"1":{font:"\uD55C\uCEF4\uB3CB\uC6C0",bold:true}} \uAF34(depth 0~7). \uC2E4\uCE21: \uC804\uC790\uACB0\uC7AC \uAE30\uC548\uBB38 \u25A1/\u3147/- \uACC4\uC5F4\uC740 \u25A1=HY\uACAC\uACE0\uB515 +2~3pt \uAD75\uAC8C\xB7\u3147=\uD55C\uCEF4\uB3CB\uC6C0 \uAD75\uAC8C\xB7-=\uD734\uBA3C\uBA85\uC870 \uBCF8\uBB38. \uBC95\uC815 8\uB2E8\uACC4(1. \uAC00.)\uB294 \uBCF8\uBB38 \uB3D9\uC77C\uC774 \uAD00\uD589\uC774\uB77C \uAE30\uBCF8 \uBBF8\uC801\uC6A9'),
967
969
  bullet2: z.enum(BULLET2_CHARS).optional().describe("2\uB2E8\uACC4 \uD56D\uBAA9\uBD80\uD638 \u2014 '\u3147'(\uC774\uC751, \uC804\uC790\uACB0\uC7AC \uAE30\uC548\uBB38\xB7\uACF5\uACE0\uBB38 \uC2E4\uCE21 \uC9C0\uBC30) / '\u25CB'(\uC6D0, \uBCF4\uACE0\uC11C \uC591\uC2DD). \uBBF8\uC9C0\uC815 \uC2DC \uD1B5\uC9C0\xB7\uBCF4\uB3C4\uC790\uB8CC \u3147, \uADF8 \uC678 \u25CB"),
968
970
  suppress_single: z.boolean().optional().describe("\uB2E8\uC77C \uD615\uC81C \uD56D\uBAA9 \uBD80\uD638 \uC0DD\uB7B5(\uD3B8\uB78C \uADDC\uC815, \uBC95\uC815 \uBC88\uD638 standard \uC804\uC6A9 \u2014 \uBD88\uB9BF \uCCB4\uACC4\uC778 \uBCF4\uACE0\uC11C\xB7\uACC4\uD68D\uC11C\xB7\uAC1C\uC870\uC2DD\xB7\uBCF4\uB3C4\uC790\uB8CC\uC5D4 \uBB34\uD6A8). \uAE30\uBCF8 false \u2014 \uD558\uB098\uBFD0\uC778 \uD56D\uBAA9\uC5D0\uB3C4 \uBD80\uD638(1. \uAC00.)\uB97C \uBD80\uC5EC (\uBD80\uD638 \uC5C6\uB294 \uACC4\uB2E8 \uB4E4\uC5EC\uC4F0\uAE30\uAC00 \uC2E4\uBB34 \uB208\uC5D0 \uC5B4\uC0C9)"),
969
971
  doc_head: z.object(Object.fromEntries(DOC_HEAD_KEYS.map((k) => [k, z.string().optional()]))).optional().describe("\uAE30\uC548\uBB38 \uB450\uBB38(\uBCC4\uC9C0 \uC81C1\uD638\uC11C\uC2DD) \u2014 org=\uD589\uC815\uAE30\uAD00\uBA85(18pt bold \uC911\uC559)/to=\uC218\uC2E0/via=\uACBD\uC720/title=\uC81C\uBAA9. \uAE30\uC548\uBB38 \uD504\uB9AC\uC14B \uC804\uC6A9"),
@@ -983,7 +985,7 @@ server.tool(
983
985
  footer: z.string().optional().describe("\uAF2C\uB9AC\uB9D0 \uD14D\uC2A4\uD2B8 \u2014 \uBAA8\uB4E0 \uCABD \uD558\uB2E8 (v4.5.0)"),
984
986
  image_dir: z.string().optional().describe("\uB9C8\uD06C\uB2E4\uC6B4 \uC774\uBBF8\uC9C0 \uCC38\uC870(![](x.png))\uB97C \uC774 \uB514\uB809\uD1A0\uB9AC\uC5D0\uC11C \uC77D\uC5B4 \uC2E4\uB370\uC774\uD130 \uC784\uBCA0\uB4DC (v4.5.0, PNG/JPEG/GIF/BMP). \uBBF8\uC9C0\uC815 \uC2DC \uCC38\uC870\uB9CC placeholder\uB85C \uBCF4\uC874")
985
987
  },
986
- async ({ markdown, output_path, profile_path, preset, font, body_pt, line_spacing, org, date, toc, cover, approval, page_numbers, end_mark, body_title_box, h2_marker, fonts, sizes, bullet2, suppress_single, doc_head, doc_foot, report_info, notice_head, press, paper, landscape, columns, header, footer, image_dir }) => {
988
+ async ({ markdown, output_path, profile_path, preset, font, body_pt, line_spacing, org, date, toc, cover, approval, page_numbers, end_mark, body_title_box, h2_marker, fonts, sizes, levels, bullet2, suppress_single, doc_head, doc_foot, report_info, notice_head, press, paper, landscape, columns, header, footer, image_dir }) => {
987
989
  try {
988
990
  let gongmun;
989
991
  if (preset) {
@@ -1003,6 +1005,7 @@ server.tool(
1003
1005
  h2Marker: h2_marker,
1004
1006
  fonts,
1005
1007
  sizes,
1008
+ levels,
1006
1009
  bullet2,
1007
1010
  suppressSingle: suppress_single,
1008
1011
  docHead: doc_head,
@@ -1014,7 +1017,7 @@ server.tool(
1014
1017
  }
1015
1018
  let profile;
1016
1019
  if (profile_path) {
1017
- const { parseFormatProfileJson } = await import("./profile-io-PZVMM66V.js");
1020
+ const { parseFormatProfileJson } = await import("./profile-io-BPJQQZLQ.js");
1018
1021
  profile = parseFormatProfileJson(await readFile(safePath(profile_path, PROFILE_EXTENSIONS), "utf-8"));
1019
1022
  }
1020
1023
  const out = safeOutputPath(output_path, /* @__PURE__ */ new Set([".hwpx"]));