@hxccoder/context-packer 1.0.0 → 1.1.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/core/compiler.js +6 -5
- package/dist/core/compiler.js.map +1 -1
- package/dist/core/directoryTreeBuilder.js +49 -0
- package/dist/core/directoryTreeBuilder.js.map +1 -0
- package/dist/core/scanner.js +3 -0
- package/dist/core/scanner.js.map +1 -1
- package/dist/strategies/HeuristicTokenizerStrategy.js +3 -1
- package/dist/strategies/HeuristicTokenizerStrategy.js.map +1 -1
- package/dist/strategies/XmlWriter.js +13 -1
- package/dist/strategies/XmlWriter.js.map +1 -1
- package/dist/utils/xmlEscape.js +12 -0
- package/dist/utils/xmlEscape.js.map +1 -0
- package/package.json +2 -2
package/dist/core/compiler.js
CHANGED
|
@@ -5,6 +5,8 @@ const node_fs_1 = require("node:fs");
|
|
|
5
5
|
const promises_1 = require("node:fs/promises");
|
|
6
6
|
const node_path_1 = require("node:path");
|
|
7
7
|
const node_stream_1 = require("node:stream");
|
|
8
|
+
const xmlEscape_1 = require("../utils/xmlEscape");
|
|
9
|
+
const directoryTreeBuilder_1 = require("./directoryTreeBuilder");
|
|
8
10
|
class ContextCompiler {
|
|
9
11
|
scanner;
|
|
10
12
|
fileManager;
|
|
@@ -27,7 +29,9 @@ class ContextCompiler {
|
|
|
27
29
|
const outputStream = this.fileManager.createTempStream(token.getSignal());
|
|
28
30
|
this.writer.initialize(outputStream);
|
|
29
31
|
try {
|
|
30
|
-
|
|
32
|
+
const treeBuilder = new directoryTreeBuilder_1.DirectoryTreeBuilder(this.rootDir, this.scanner.getIgnoreFilter());
|
|
33
|
+
const tree = await treeBuilder.build();
|
|
34
|
+
await this.writer.writeHeader(tree);
|
|
31
35
|
for await (const absolutePath of this.scanner.scan(token)) {
|
|
32
36
|
token.throwIfCancelled();
|
|
33
37
|
const relativePath = (0, node_path_1.relative)(this.rootDir, absolutePath);
|
|
@@ -45,10 +49,7 @@ class ContextCompiler {
|
|
|
45
49
|
transform(chunk, encoding, callback) {
|
|
46
50
|
try {
|
|
47
51
|
totalTokensCounted += currentTokenizer.countTokensExact(chunk);
|
|
48
|
-
const sanitizedChunk = chunk
|
|
49
|
-
.replace(/&/g, '&')
|
|
50
|
-
.replace(/</g, '<')
|
|
51
|
-
.replace(/>/g, '>');
|
|
52
|
+
const sanitizedChunk = (0, xmlEscape_1.escapeXml)(chunk);
|
|
52
53
|
callback(null, sanitizedChunk);
|
|
53
54
|
}
|
|
54
55
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../src/core/compiler.ts"],"names":[],"mappings":";;;AAAA,qCAA2C;AAC3C,+CAAwC;AACxC,yCAAqC;AACrC,6CAAwC;
|
|
1
|
+
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../src/core/compiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DirectoryTreeBuilder = void 0;
|
|
4
|
+
const promises_1 = require("node:fs/promises");
|
|
5
|
+
const node_path_1 = require("node:path");
|
|
6
|
+
class DirectoryTreeBuilder {
|
|
7
|
+
rootDir;
|
|
8
|
+
ignoreFilter;
|
|
9
|
+
constructor(rootDir, ignoreFilter) {
|
|
10
|
+
this.rootDir = rootDir;
|
|
11
|
+
this.ignoreFilter = ignoreFilter;
|
|
12
|
+
}
|
|
13
|
+
async build() {
|
|
14
|
+
const lines = [];
|
|
15
|
+
await this.walk(this.rootDir, '', lines);
|
|
16
|
+
return lines.join('\n');
|
|
17
|
+
}
|
|
18
|
+
async walk(currentDir, prefix, lines) {
|
|
19
|
+
const dir = await (0, promises_1.opendir)(currentDir);
|
|
20
|
+
const entries = [];
|
|
21
|
+
for await (const entry of dir) {
|
|
22
|
+
entries.push(entry);
|
|
23
|
+
}
|
|
24
|
+
entries.sort((a, b) => a.name.localeCompare(b.name));
|
|
25
|
+
for (let i = 0; i < entries.length; i++) {
|
|
26
|
+
const entry = entries[i];
|
|
27
|
+
const fullPath = (0, node_path_1.join)(currentDir, entry.name);
|
|
28
|
+
const relativePath = fullPath
|
|
29
|
+
.replace(this.rootDir, '')
|
|
30
|
+
.replace(/^[/\\]/, '');
|
|
31
|
+
if (this.ignoreFilter.ignores(relativePath)) {
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
const isLast = i === entries.length - 1;
|
|
35
|
+
const connector = isLast
|
|
36
|
+
? '└── '
|
|
37
|
+
: '├── ';
|
|
38
|
+
lines.push(prefix + connector + entry.name);
|
|
39
|
+
if (entry.isDirectory()) {
|
|
40
|
+
const nextPrefix = isLast
|
|
41
|
+
? prefix + ' '
|
|
42
|
+
: prefix + '│ ';
|
|
43
|
+
await this.walk(fullPath, nextPrefix, lines);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.DirectoryTreeBuilder = DirectoryTreeBuilder;
|
|
49
|
+
//# sourceMappingURL=directoryTreeBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directoryTreeBuilder.js","sourceRoot":"","sources":["../../src/core/directoryTreeBuilder.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAE3C,yCAAiC;AAGjC,MAAa,oBAAoB;IAER;IACA;IAFrB,YACqB,OAAe,EACf,YAAoB;QADpB,YAAO,GAAP,OAAO,CAAQ;QACf,iBAAY,GAAZ,YAAY,CAAQ;IACtC,CAAC;IAEG,KAAK,CAAC,KAAK;QACd,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QAEzC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,IAAI,CACd,UAAkB,EAClB,MAAc,EACd,KAAe;QAEf,MAAM,GAAG,GAAG,MAAM,IAAA,kBAAO,EAAC,UAAU,CAAC,CAAC;QAEtC,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YAE1B,MAAM,QAAQ,GAAG,IAAA,gBAAI,EAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAE9C,MAAM,YAAY,GAAG,QAAQ;iBACxB,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;iBACzB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAE3B,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC1C,SAAS;YACb,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAExC,MAAM,SAAS,GAAG,MAAM;gBACpB,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,MAAM,CAAC;YAEb,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YAE5C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACtB,MAAM,UAAU,GAAG,MAAM;oBACrB,CAAC,CAAC,MAAM,GAAG,MAAM;oBACjB,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;gBAEtB,MAAM,IAAI,CAAC,IAAI,CACX,QAAQ,EACR,UAAU,EACV,KAAK,CACR,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AA/DD,oDA+DC"}
|
package/dist/core/scanner.js
CHANGED
package/dist/core/scanner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../src/core/scanner.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAC3C,yCAA2C;AAI3C,MAAa,WAAW;IACH,OAAO,CAAS;IAChB,YAAY,CAAS;
|
|
1
|
+
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../src/core/scanner.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAC3C,yCAA2C;AAI3C,MAAa,WAAW;IACH,OAAO,CAAS;IAChB,YAAY,CAAS;IAE/B,eAAe;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IACD,YAAY,OAAe,EAAE,YAAoB;QAC7C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IAMQ,KAAK,CAAC,CAAC,IAAI,CAAC,KAAwB;QACzC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAKS,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAkB,EAAE,KAAwB;QAElE,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAGzB,MAAM,GAAG,GAAG,MAAM,IAAA,kBAAO,EAAC,UAAU,CAAC,CAAC;QAItC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;YAE5B,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAEzB,MAAM,QAAQ,GAAG,IAAA,gBAAI,EAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAG9C,MAAM,YAAY,GAAG,IAAA,oBAAQ,EAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAGtD,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC9C,SAAS;YACjB,CAAC;YAEO,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBAE9B,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAClC,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC5B,MAAM,QAAQ,CAAC;YACnB,CAAC;QACD,CAAC;IACL,CAAC;CACA;AAtDD,kCAsDC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.HeuristicTokenizerStrategy = void 0;
|
|
4
|
+
const node_buffer_1 = require("node:buffer");
|
|
4
5
|
class HeuristicTokenizerStrategy {
|
|
5
6
|
modelName;
|
|
6
7
|
contextLimit;
|
|
@@ -23,7 +24,8 @@ class HeuristicTokenizerStrategy {
|
|
|
23
24
|
return Math.ceil(bytes / this.bytesPerToken);
|
|
24
25
|
}
|
|
25
26
|
countTokensExact(text) {
|
|
26
|
-
|
|
27
|
+
const bytes = node_buffer_1.Buffer.byteLength(text, 'utf8');
|
|
28
|
+
return Math.ceil(bytes / this.bytesPerToken);
|
|
27
29
|
}
|
|
28
30
|
destroy() {
|
|
29
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeuristicTokenizerStrategy.js","sourceRoot":"","sources":["../../src/strategies/HeuristicTokenizerStrategy.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"HeuristicTokenizerStrategy.js","sourceRoot":"","sources":["../../src/strategies/HeuristicTokenizerStrategy.ts"],"names":[],"mappings":";;;AACA,6CAAqC;AAErC,MAAa,0BAA0B;IAClB,SAAS,CAAS;IAClB,YAAY,CAAS;IACrB,aAAa,CAAS;IAK3C,YACI,YAAoB,gBAAgB,EACpC,eAAuB,MAAM,EAC7B,gBAAwB,GAAG;QAE3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,UAAU;QAEZ,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,uBAAuB,CAAC,KAAa;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC;IAED,gBAAgB,CAAC,IAAY;QACzB,MAAM,KAAK,GAAG,oBAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC;IAED,OAAO;IAEH,CAAC;CACJ;AA3CD,gEA2CC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.XmlWriter = void 0;
|
|
4
4
|
const promises_1 = require("node:stream/promises");
|
|
5
|
+
const xmlEscape_1 = require("../utils/xmlEscape");
|
|
5
6
|
class XmlWriter {
|
|
6
7
|
outputStream;
|
|
7
8
|
initialize(outputStream) {
|
|
@@ -16,13 +17,24 @@ class XmlWriter {
|
|
|
16
17
|
}
|
|
17
18
|
async writeFileBlock(filePath, transformedStream) {
|
|
18
19
|
this.ensureInitialized();
|
|
19
|
-
|
|
20
|
+
const safePath = (0, xmlEscape_1.escapeXml)(filePath);
|
|
21
|
+
this.outputStream.write(`<file path="${safePath}">\n`);
|
|
20
22
|
await (0, promises_1.pipeline)(transformedStream, this.outputStream, { end: false });
|
|
21
23
|
this.outputStream.write('\n</file>\n\n');
|
|
22
24
|
}
|
|
23
25
|
async finalize() {
|
|
24
26
|
this.ensureInitialized();
|
|
25
27
|
this.outputStream.write('</repository>\n');
|
|
28
|
+
await new Promise((resolve, reject) => {
|
|
29
|
+
this.outputStream.end((error) => {
|
|
30
|
+
if (error) {
|
|
31
|
+
reject(error);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
resolve();
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
});
|
|
26
38
|
}
|
|
27
39
|
ensureInitialized() {
|
|
28
40
|
if (!this.outputStream) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XmlWriter.js","sourceRoot":"","sources":["../../src/strategies/XmlWriter.ts"],"names":[],"mappings":";;;AACA,mDAAgD;
|
|
1
|
+
{"version":3,"file":"XmlWriter.js","sourceRoot":"","sources":["../../src/strategies/XmlWriter.ts"],"names":[],"mappings":";;;AACA,mDAAgD;AAEhD,kDAA+C;AAE/C,MAAa,SAAS;IACd,YAAY,CAAY;IAEhC,UAAU,CAAC,YAAsB;QAC7B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe;QAC7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAGzB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAG5C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB,EAAE,iBAA2B;QAC9D,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAGzB,MAAM,QAAQ,GAAG,IAAA,qBAAS,EAAC,QAAQ,CAAC,CAAC;QAEzC,IAAI,CAAC,YAAY,CAAC,KAAK,CACnB,eAAe,QAAQ,MAAM,CAChC,CAAC;QAQE,MAAM,IAAA,mBAAQ,EAAC,iBAAiB,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAGrE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAE3C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAoB,EAAE,EAAE;gBAC3C,IAAI,KAAK,EAAE,CAAC;oBACR,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACJ,OAAO,EAAE,CAAC;gBACd,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IAEH,CAAC;IAKO,iBAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;QAChH,CAAC;IACL,CAAC;CACA;AAlED,8BAkEC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.escapeXml = escapeXml;
|
|
4
|
+
function escapeXml(text) {
|
|
5
|
+
return text
|
|
6
|
+
.replace(/&/g, '&')
|
|
7
|
+
.replace(/</g, '<')
|
|
8
|
+
.replace(/>/g, '>')
|
|
9
|
+
.replace(/"/g, '"')
|
|
10
|
+
.replace(/'/g, ''');
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=xmlEscape.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xmlEscape.js","sourceRoot":"","sources":["../../src/utils/xmlEscape.ts"],"names":[],"mappings":";;AAAA,8BAOC;AAPD,SAAgB,SAAS,CAAC,IAAY;IAClC,OAAO,IAAI;SACN,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACjC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hxccoder/context-packer",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "CLI avanzado para empaquetar repositorios de código para LLMs",
|
|
5
5
|
"main": "dist/core/compiler.js",
|
|
6
6
|
"bin": {
|
|
@@ -40,4 +40,4 @@
|
|
|
40
40
|
"@types/node": "^20.19.43",
|
|
41
41
|
"typescript": "^5.4.0"
|
|
42
42
|
}
|
|
43
|
-
}
|
|
43
|
+
}
|