@kodocagent/cli 0.5.0 → 0.6.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/dist/index.js +38 -33
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -9944,7 +9944,7 @@ var DOCUMENT_RULES_SECTION = `## \uBB38\uC11C \uADDC\uCE59
|
|
|
9944
9944
|
1. \uBB38\uC11C\uB97C \uC218\uC815\uD558\uAE30 \uC804\uC5D0 \uBC18\uB4DC\uC2DC \`read_document\` \uD234\uB85C \uB0B4\uC6A9\uC744 \uBA3C\uC800 \uC77D\uC73C\uC138\uC694.
|
|
9945
9945
|
2. \uBAA8\uB4E0 \uD30C\uC77C \uC800\uC7A5\uC740 \`propose_*\` \uD234\uC744 \uD1B5\uD55C \uC2A4\uD14C\uC774\uC9D5\uACFC \uC0AC\uC6A9\uC790 \uC2B9\uC778\uC744 \uAC70\uCCD0\uC57C \uD569\uB2C8\uB2E4.
|
|
9946
9946
|
3. \uC2B9\uC778\uC744 \uBC1B\uAE30 \uC804\uC5D0\uB294 \uC808\uB300 "\uC800\uC7A5\uD588\uC2B5\uB2C8\uB2E4", "\uC644\uB8CC\uD588\uC2B5\uB2C8\uB2E4"\uB77C\uACE0 \uB9D0\uD558\uC9C0 \uB9C8\uC138\uC694.
|
|
9947
|
-
4. \`.hwp
|
|
9947
|
+
4. \`propose_edit\`\uB85C \`.hwp\`/\`.hwpx\`\uB97C \uD3B8\uC9D1\uD558\uBA74 \uC6D0\uBCF8 \uD615\uC2DD \uADF8\uB300\uB85C \uBB34\uC190\uC2E4 \uC800\uC7A5\uB429\uB2C8\uB2E4(.hwp\uB294 .hwp\uB85C \uC720\uC9C0). \uB2E8, \uD45C\xB7\uC140\xB7\uCC3E\uC544\uBC14\uAFB8\uAE30 \uB4F1 \uC77C\uBD80 \uAD6C\uC870 \uD3B8\uC9D1 \uD234\uC740 \`.hwpx\` \uAE30\uBC18\uC774\uBBC0\uB85C \`.hwp\` \uC785\uB825\uC774 \`.hwpx\`\uB85C \uC800\uC7A5\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uD615\uC2DD \uBCC0\uD658\uC774 \uC548\uB0B4\uB418\uBA74 \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uBBF8\uB9AC \uC54C\uB9AC\uC138\uC694.
|
|
9948
9948
|
5. \uACBD\uB85C\uB294 \uD604\uC7AC \uC791\uC5C5 \uB514\uB809\uD130\uB9AC\uB97C \uAE30\uC900\uC73C\uB85C \uC0C1\uB300 \uACBD\uB85C \uB610\uB294 \uC808\uB300 \uACBD\uB85C\uB97C \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
|
|
9949
9949
|
6. \uC0AC\uC6A9\uC790\uAC00 \uC218\uC815\uC548\uC744 \uAC70\uC808\uD558\uBA74 \uAC19\uC740 \uC81C\uC548\uC744 \uC790\uB3D9\uC73C\uB85C \uBC18\uBCF5\uD558\uC9C0 \uB9D0\uACE0, \uC0AC\uC6A9\uC790\uC758 \uB2E4\uC74C \uC9C0\uC2DC\uB97C \uAE30\uB2E4\uB9AC\uC138\uC694.
|
|
9950
9950
|
7. \uD070 \uBB38\uC11C\uB294 \uBA3C\uC800 \`outline\`\uC73C\uB85C \uAD6C\uC870\uB97C \uD30C\uC545\uD558\uACE0, \`search\`\uB098 \`pages\`\uB85C \uD544\uC694\uD55C \uBD80\uBD84\uB9CC \uC77D\uC5B4 \uCEE8\uD14D\uC2A4\uD2B8\uB97C \uC544\uB07C\uC138\uC694.
|
|
@@ -10931,7 +10931,7 @@ var import_jszip3 = __toESM(require_lib3(), 1);
|
|
|
10931
10931
|
var import_jszip4 = __toESM(require_lib3(), 1);
|
|
10932
10932
|
import { z as z3 } from "zod";
|
|
10933
10933
|
import { readFile as readFile32 } from "fs/promises";
|
|
10934
|
-
import { blocksToMarkdown, compare } from "
|
|
10934
|
+
import { blocksToMarkdown, compare } from "kordoc";
|
|
10935
10935
|
import { z as z22 } from "zod";
|
|
10936
10936
|
import { readFile as readFile5 } from "fs/promises";
|
|
10937
10937
|
import { extname as extname4 } from "path";
|
|
@@ -10947,7 +10947,7 @@ import { extname as extname6, join as join4, relative as relative2 } from "path"
|
|
|
10947
10947
|
import { z as z6 } from "zod";
|
|
10948
10948
|
import { readFile as readFile7 } from "fs/promises";
|
|
10949
10949
|
import { extname as extname7 } from "path";
|
|
10950
|
-
import { compare as compare2,
|
|
10950
|
+
import { compare as compare2, parse, patchHwp, patchHwpx } from "kordoc";
|
|
10951
10951
|
import { z as z7 } from "zod";
|
|
10952
10952
|
import {
|
|
10953
10953
|
Document,
|
|
@@ -10962,11 +10962,11 @@ import {
|
|
|
10962
10962
|
} from "docx";
|
|
10963
10963
|
import { readFile as readFile8 } from "fs/promises";
|
|
10964
10964
|
import { extname as extname8 } from "path";
|
|
10965
|
-
import { parse as parse2 } from "
|
|
10965
|
+
import { parse as parse2 } from "kordoc";
|
|
10966
10966
|
import { z as z8 } from "zod";
|
|
10967
10967
|
import { readFile as readFile9 } from "fs/promises";
|
|
10968
10968
|
import { extname as extname9 } from "path";
|
|
10969
|
-
import { extractFormFields,
|
|
10969
|
+
import { extractFormFields, parse as parse3, patchHwpx as patchHwpx2 } from "kordoc";
|
|
10970
10970
|
import { z as z9 } from "zod";
|
|
10971
10971
|
import { readFile as readFile10 } from "fs/promises";
|
|
10972
10972
|
import { basename as basename4, extname as extname10 } from "path";
|
|
@@ -10979,21 +10979,21 @@ import ExcelJS from "exceljs";
|
|
|
10979
10979
|
import { z as z11 } from "zod";
|
|
10980
10980
|
import { readFile as readFile12 } from "fs/promises";
|
|
10981
10981
|
import { extname as extname12 } from "path";
|
|
10982
|
-
import { parse as parse4 } from "
|
|
10982
|
+
import { parse as parse4 } from "kordoc";
|
|
10983
10983
|
import { z as z12 } from "zod";
|
|
10984
10984
|
import { readFile as readFile13, stat as stat4 } from "fs/promises";
|
|
10985
10985
|
import { extname as extname13 } from "path";
|
|
10986
|
-
import { parse as parse5 } from "
|
|
10986
|
+
import { parse as parse5 } from "kordoc";
|
|
10987
10987
|
import { z as z13 } from "zod";
|
|
10988
10988
|
import { readFile as fsReadFile, stat as stat5 } from "fs/promises";
|
|
10989
10989
|
import { z as z14 } from "zod";
|
|
10990
10990
|
import { readFile as readFile14 } from "fs/promises";
|
|
10991
10991
|
import { extname as extname14 } from "path";
|
|
10992
|
-
import { parse as parse6 } from "
|
|
10992
|
+
import { parse as parse6 } from "kordoc";
|
|
10993
10993
|
import { z as z15 } from "zod";
|
|
10994
10994
|
import { stat as stat6 } from "fs/promises";
|
|
10995
10995
|
import { extname as extname15 } from "path";
|
|
10996
|
-
import { markdownToHwpx
|
|
10996
|
+
import { markdownToHwpx } from "kordoc";
|
|
10997
10997
|
import { z as z16 } from "zod";
|
|
10998
10998
|
import { stat as stat7 } from "fs/promises";
|
|
10999
10999
|
import { extname as extname16 } from "path";
|
|
@@ -13118,15 +13118,21 @@ var proposeEditTool = {
|
|
|
13118
13118
|
originalMarkdown = originalResult.markdown;
|
|
13119
13119
|
}
|
|
13120
13120
|
if (ext === ".hwpx" || ext === ".hwp") {
|
|
13121
|
-
const
|
|
13122
|
-
|
|
13123
|
-
|
|
13124
|
-
|
|
13125
|
-
|
|
13126
|
-
|
|
13127
|
-
|
|
13121
|
+
const origU8 = new Uint8Array(
|
|
13122
|
+
originalBuffer.buffer,
|
|
13123
|
+
originalBuffer.byteOffset,
|
|
13124
|
+
originalBuffer.byteLength
|
|
13125
|
+
);
|
|
13126
|
+
const patchResult = ext === ".hwp" ? await patchHwp(origU8, input.newMarkdown) : await patchHwpx(origU8, input.newMarkdown);
|
|
13127
|
+
if (!patchResult.success || !patchResult.data) {
|
|
13128
|
+
return `\uC624\uB958: \uD3B8\uC9D1\uC744 \uC801\uC6A9\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4: ${patchResult.error ?? "\uC54C \uC218 \uC5C6\uB294 \uC624\uB958"}. read_document\uB85C \uC6D0\uBCF8\uC744 \uB2E4\uC2DC \uD655\uC778\uD558\uC138\uC694.`;
|
|
13129
|
+
}
|
|
13130
|
+
stagedData = patchResult.data;
|
|
13131
|
+
for (const s of patchResult.skipped) {
|
|
13132
|
+
warnings.push(
|
|
13133
|
+
`\uC77C\uBD80 \uBCC0\uACBD\uC774 \uC801\uC6A9\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4(${s.reason ?? "\uC0AC\uC720 \uBBF8\uC0C1"}). \uD45C \uAD6C\uC870 \uBCC0\uACBD\uC740 propose_table_structure, \uC140 \uAC12\uC740 propose_cell_edit\uC744 \uC0AC\uC6A9\uD558\uC138\uC694.`
|
|
13134
|
+
);
|
|
13128
13135
|
}
|
|
13129
|
-
stagedData = new Uint8Array(hwpxBuffer);
|
|
13130
13136
|
} else if (ext === ".docx") {
|
|
13131
13137
|
warnings.push("DOCX \uC7AC\uC0DD\uC131: \uBCF5\uC7A1\uD55C \uC11C\uC2DD(\uBA38\uB9AC\uAE00/\uAC01\uC8FC/\uC2A4\uD0C0\uC77C)\uC740 \uC190\uC2E4\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");
|
|
13132
13138
|
const docxBuffer = await markdownToDocx(input.newMarkdown);
|
|
@@ -13136,7 +13142,8 @@ var proposeEditTool = {
|
|
|
13136
13142
|
} else {
|
|
13137
13143
|
return `\uC624\uB958: \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uD30C\uC77C \uD615\uC2DD\uC785\uB2C8\uB2E4: ${ext}. .hwp, .hwpx, .docx, .md, .txt\uB9CC \uC218\uC815 \uAC00\uB2A5\uD569\uB2C8\uB2E4.`;
|
|
13138
13144
|
}
|
|
13139
|
-
const
|
|
13145
|
+
const outputPath = ext === ".hwpx" || ext === ".hwp" ? safePath : resolveOutputPath(safePath).outputPath;
|
|
13146
|
+
const willConvertFormat = ext === ".hwpx" || ext === ".hwp" ? void 0 : resolveOutputPath(safePath).willConvertFormat;
|
|
13140
13147
|
const stagedPath = await stageFile(ctx.sessionId, safePath, stagedData);
|
|
13141
13148
|
let diff = markdownDiff(originalMarkdown, input.newMarkdown, safePath);
|
|
13142
13149
|
if (ext === ".hwpx" || ext === ".hwp") {
|
|
@@ -13530,15 +13537,19 @@ var proposeFormFillTool = {
|
|
|
13530
13537
|
}
|
|
13531
13538
|
}
|
|
13532
13539
|
const diff = diffLines.join("\n");
|
|
13533
|
-
const
|
|
13534
|
-
|
|
13535
|
-
|
|
13536
|
-
|
|
13537
|
-
|
|
13538
|
-
|
|
13539
|
-
|
|
13540
|
+
const origU8 = new Uint8Array(
|
|
13541
|
+
originalBuffer.buffer,
|
|
13542
|
+
originalBuffer.byteOffset,
|
|
13543
|
+
originalBuffer.byteLength
|
|
13544
|
+
);
|
|
13545
|
+
const patchResult = await patchHwpx2(origU8, newMarkdown);
|
|
13546
|
+
if (!patchResult.success || !patchResult.data) {
|
|
13547
|
+
return `\uC624\uB958: \uC591\uC2DD \uCC44\uC6B0\uAE30\uB97C \uC801\uC6A9\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4: ${patchResult.error ?? "\uC54C \uC218 \uC5C6\uB294 \uC624\uB958"}.`;
|
|
13548
|
+
}
|
|
13549
|
+
const stagedData = patchResult.data;
|
|
13550
|
+
for (const s of patchResult.skipped) {
|
|
13551
|
+
warnings.push(`\uC77C\uBD80 \uD56D\uBAA9\uC774 \uC801\uC6A9\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4(${s.reason ?? "\uC0AC\uC720 \uBBF8\uC0C1"}).`);
|
|
13540
13552
|
}
|
|
13541
|
-
const stagedData = new Uint8Array(hwpxBuffer);
|
|
13542
13553
|
const { outputPath, willConvertFormat } = resolveOutputPath(safePath);
|
|
13543
13554
|
const stagedPath = await stageFile(ctx.sessionId, safePath, stagedData);
|
|
13544
13555
|
const proposalId = crypto.randomUUID();
|
|
@@ -15057,13 +15068,7 @@ var writeNewDocumentTool = {
|
|
|
15057
15068
|
const warnings = [];
|
|
15058
15069
|
let stagedData;
|
|
15059
15070
|
if (ext === ".hwpx") {
|
|
15060
|
-
const
|
|
15061
|
-
const hwpxBuffer = await markdownToHwpx3(input.markdown, {
|
|
15062
|
-
warnings: kordocWarnings
|
|
15063
|
-
});
|
|
15064
|
-
if (kordocWarnings.length > 0) {
|
|
15065
|
-
warnings.push(...kordocWarnings.map((w) => `kordoc \uACBD\uACE0: ${w}`));
|
|
15066
|
-
}
|
|
15071
|
+
const hwpxBuffer = await markdownToHwpx(input.markdown);
|
|
15067
15072
|
stagedData = new Uint8Array(hwpxBuffer);
|
|
15068
15073
|
} else if (ext === ".docx") {
|
|
15069
15074
|
warnings.push("DOCX \uC0DD\uC131: \uBCF5\uC7A1\uD55C \uC11C\uC2DD(\uBA38\uB9AC\uAE00/\uAC01\uC8FC/\uC2A4\uD0C0\uC77C)\uC740 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.");
|