clanka 0.2.19 → 0.2.20
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/Agent.d.ts.map +1 -1
- package/dist/Agent.js +2 -1
- package/dist/Agent.js.map +1 -1
- package/dist/CodeChunker.d.ts +4 -0
- package/dist/CodeChunker.d.ts.map +1 -1
- package/dist/CodeChunker.js +64 -14
- package/dist/CodeChunker.js.map +1 -1
- package/dist/CodeChunker.test.js +71 -0
- package/dist/CodeChunker.test.js.map +1 -1
- package/dist/SemanticSearch.d.ts +1 -0
- package/dist/SemanticSearch.d.ts.map +1 -1
- package/dist/SemanticSearch.js +4 -2
- package/dist/SemanticSearch.js.map +1 -1
- package/package.json +10 -10
- package/src/Agent.ts +2 -1
- package/src/CodeChunker.test.ts +77 -0
- package/src/CodeChunker.ts +105 -19
- package/src/SemanticSearch.ts +7 -2
package/dist/Agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../src/Agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAA;AAEjD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,KAAK,mBAAmB,MAAM,6CAA6C,CAAA;AACvF,OAAO,KAAK,KAAK,UAAU,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACd,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,KAAK,UAAU,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAA;AACnD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,aAAa,MAAM,kCAAkC,CAAA;AACjE,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAA;AACrD,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAM/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,yBAAyB,CAAA;AAC/C,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAA;AAIrD;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,eAAe,CAAA;AAEpC;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAAwB,CAAA;AAE7C;;;GAGG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IAEzB;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE;QACZ;;WAEG;QACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAA;QAChC;;;WAGG;QACH,QAAQ,CAAC,MAAM,CAAC,EACZ,MAAM,GACN,CAAC,CAAC,OAAO,EAAE;YACT,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;YACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;SAC1B,KAAK,MAAM,CAAC,GACb,SAAS,CAAA;KACd,GAAG,MAAM,CAAC,MAAM,CACf,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,EACtD,KAAK,EACH,KAAK,CAAC,KAAK,GACX,aAAa,CAAC,aAAa,GAC3B,KAAK,CAAC,YAAY,GAClB,KAAK,CAAC,SAAS,GACf,aAAa,CAChB,CAAA;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAC5C;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,kCAA4C,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,IAAI,wEAgWf,CAAA;
|
|
1
|
+
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../src/Agent.ts"],"names":[],"mappings":"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"}
|
package/dist/Agent.js
CHANGED
|
@@ -298,9 +298,10 @@ const generateSystemTools = (capabilities) => `**YOU ONLY HAVE ACCESS TO ONE TOO
|
|
|
298
298
|
- AVOID USING the "rg" function and instead use "search", unless you are targeting specific files or patterns.`
|
|
299
299
|
: ""}
|
|
300
300
|
- Do as much work as possible in a single script, using \`Promise.all\` to run multiple functions in parallel.
|
|
301
|
+
- You can add / update / remove multiple files in one go with "applyPatch".
|
|
301
302
|
- AVOID passing scripts into the "bash" function, and instead write javascript.
|
|
302
303
|
- **Variables are not shared** between executions, so you must include all necessary code in each script you execute.
|
|
303
|
-
- DO NOT use \`require\`, \`import\`, \`process\`, or any other node apis.
|
|
304
|
+
- DO NOT use \`require\`, \`import\`, \`process\`, or any other node.js apis.
|
|
304
305
|
|
|
305
306
|
When you have fully completed your task, call the "taskComplete" function with the final output.
|
|
306
307
|
DO NOT output the final result without wrapping it with "taskComplete".
|
package/dist/Agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.js","sourceRoot":"","sources":["../src/Agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Agent.js","sourceRoot":"","sources":["../src/Agent.ts"],"names":[],"mappings":"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"}
|
package/dist/CodeChunker.d.ts
CHANGED
|
@@ -33,18 +33,21 @@ declare const CodeChunker_base: ServiceMap.ServiceClass<CodeChunker, "clanka/Cod
|
|
|
33
33
|
readonly path: string;
|
|
34
34
|
readonly chunkSize: number;
|
|
35
35
|
readonly chunkOverlap: number;
|
|
36
|
+
readonly chunkMaxCharacters?: number | undefined;
|
|
36
37
|
}): Effect.Effect<ReadonlyArray<CodeChunk>>;
|
|
37
38
|
chunkFiles(options: {
|
|
38
39
|
readonly root: string;
|
|
39
40
|
readonly paths: ReadonlyArray<string>;
|
|
40
41
|
readonly chunkSize: number;
|
|
41
42
|
readonly chunkOverlap: number;
|
|
43
|
+
readonly chunkMaxCharacters?: number | undefined;
|
|
42
44
|
}): Stream.Stream<CodeChunk>;
|
|
43
45
|
chunkCodebase(options: {
|
|
44
46
|
readonly root: string;
|
|
45
47
|
readonly maxFileSize?: string | undefined;
|
|
46
48
|
readonly chunkSize: number;
|
|
47
49
|
readonly chunkOverlap: number;
|
|
50
|
+
readonly chunkMaxCharacters?: number | undefined;
|
|
48
51
|
}): Stream.Stream<CodeChunk>;
|
|
49
52
|
}>;
|
|
50
53
|
/**
|
|
@@ -70,6 +73,7 @@ export declare const isMeaningfulFile: (path: string) => boolean;
|
|
|
70
73
|
export declare const chunkFileContent: (path: string, content: string, options: {
|
|
71
74
|
readonly chunkSize: number;
|
|
72
75
|
readonly chunkOverlap: number;
|
|
76
|
+
readonly chunkMaxCharacters?: number | undefined;
|
|
73
77
|
}) => ReadonlyArray<CodeChunk>;
|
|
74
78
|
/**
|
|
75
79
|
* @since 1.0.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeChunker.d.ts","sourceRoot":"","sources":["../src/CodeChunker.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,mBAAmB,MAAM,6CAA6C,CAAA;AAKlF;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,GACjB,UAAU,GACV,QAAQ,GACR,OAAO,GACP,WAAW,GACX,WAAW,GACX,YAAY,GACZ,MAAM,GACN,UAAU,CAAA;;uBASS;QACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC1C,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;uBACrB;QACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"CodeChunker.d.ts","sourceRoot":"","sources":["../src/CodeChunker.ts"],"names":[],"mappings":"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"}
|
package/dist/CodeChunker.js
CHANGED
|
@@ -141,9 +141,14 @@ export const isMeaningfulFile = (path) => {
|
|
|
141
141
|
const resolveChunkSettings = (options) => {
|
|
142
142
|
const chunkSize = Math.max(1, options.chunkSize);
|
|
143
143
|
const chunkOverlap = Math.max(0, Math.min(chunkSize - 1, options.chunkOverlap));
|
|
144
|
+
const chunkMaxCharacters = options.chunkMaxCharacters !== undefined &&
|
|
145
|
+
Number.isFinite(options.chunkMaxCharacters)
|
|
146
|
+
? Math.max(1, Math.floor(options.chunkMaxCharacters))
|
|
147
|
+
: Number.POSITIVE_INFINITY;
|
|
144
148
|
return {
|
|
145
149
|
chunkSize,
|
|
146
150
|
chunkOverlap,
|
|
151
|
+
chunkMaxCharacters,
|
|
147
152
|
};
|
|
148
153
|
};
|
|
149
154
|
const getPathExtension = (path) => {
|
|
@@ -213,15 +218,45 @@ const normalizeLineRange = (range, lineCount) => {
|
|
|
213
218
|
endLine,
|
|
214
219
|
};
|
|
215
220
|
};
|
|
216
|
-
const
|
|
221
|
+
const lineLengthPrefixSums = (lines) => {
|
|
222
|
+
const sums = [0];
|
|
223
|
+
for (let index = 0; index < lines.length; index++) {
|
|
224
|
+
sums.push(sums[index] + lines[index].length);
|
|
225
|
+
}
|
|
226
|
+
return sums;
|
|
227
|
+
};
|
|
228
|
+
const lineRangeCharacterLength = (prefixSums, range) => prefixSums[range.endLine] -
|
|
229
|
+
prefixSums[range.startLine - 1] +
|
|
230
|
+
(range.endLine - range.startLine);
|
|
231
|
+
const resolveSegmentEndLine = (options) => {
|
|
232
|
+
if (options.settings.chunkMaxCharacters === Number.POSITIVE_INFINITY) {
|
|
233
|
+
return options.maxEndLine;
|
|
234
|
+
}
|
|
235
|
+
let endLine = options.maxEndLine;
|
|
236
|
+
while (endLine > options.startLine &&
|
|
237
|
+
lineRangeCharacterLength(options.prefixSums, {
|
|
238
|
+
startLine: options.startLine,
|
|
239
|
+
endLine,
|
|
240
|
+
}) > options.settings.chunkMaxCharacters) {
|
|
241
|
+
endLine--;
|
|
242
|
+
}
|
|
243
|
+
return endLine;
|
|
244
|
+
};
|
|
245
|
+
const splitRange = (range, settings, prefixSums) => {
|
|
217
246
|
const lineCount = range.endLine - range.startLine + 1;
|
|
218
|
-
if (lineCount <= settings.chunkSize
|
|
247
|
+
if (lineCount <= settings.chunkSize &&
|
|
248
|
+
lineRangeCharacterLength(prefixSums, range) <= settings.chunkMaxCharacters) {
|
|
219
249
|
return [range];
|
|
220
250
|
}
|
|
221
|
-
const step = settings.chunkSize - settings.chunkOverlap;
|
|
222
251
|
const out = [];
|
|
223
|
-
for (let startLine = range.startLine; startLine <= range.endLine;
|
|
224
|
-
const
|
|
252
|
+
for (let startLine = range.startLine; startLine <= range.endLine;) {
|
|
253
|
+
const maxEndLine = Math.min(range.endLine, startLine + settings.chunkSize - 1);
|
|
254
|
+
const endLine = resolveSegmentEndLine({
|
|
255
|
+
startLine,
|
|
256
|
+
maxEndLine,
|
|
257
|
+
settings,
|
|
258
|
+
prefixSums,
|
|
259
|
+
});
|
|
225
260
|
out.push({
|
|
226
261
|
startLine,
|
|
227
262
|
endLine,
|
|
@@ -229,6 +264,7 @@ const splitRange = (range, settings) => {
|
|
|
229
264
|
if (endLine >= range.endLine) {
|
|
230
265
|
break;
|
|
231
266
|
}
|
|
267
|
+
startLine = Math.max(startLine + 1, endLine - settings.chunkOverlap + 1);
|
|
232
268
|
}
|
|
233
269
|
return out;
|
|
234
270
|
};
|
|
@@ -426,12 +462,13 @@ const chunksFromRanges = (path, lines, ranges, settings) => {
|
|
|
426
462
|
};
|
|
427
463
|
const out = [];
|
|
428
464
|
const seen = new Set();
|
|
465
|
+
const prefixSums = lineLengthPrefixSums(lines);
|
|
429
466
|
for (const range of ranges) {
|
|
430
467
|
const normalizedRange = normalizeLineRange(range, lines.length);
|
|
431
468
|
if (normalizedRange === undefined) {
|
|
432
469
|
continue;
|
|
433
470
|
}
|
|
434
|
-
const allSegments = splitRange(normalizedRange, settings);
|
|
471
|
+
const allSegments = splitRange(normalizedRange, settings, prefixSums);
|
|
435
472
|
const segments = range.type === "class" &&
|
|
436
473
|
allSegments.length > 1 &&
|
|
437
474
|
hasMethodChildRange({ ...normalizedRange, name: range.name })
|
|
@@ -471,29 +508,36 @@ const chunksFromRanges = (path, lines, ranges, settings) => {
|
|
|
471
508
|
(left.name ?? "").localeCompare(right.name ?? ""));
|
|
472
509
|
};
|
|
473
510
|
const chunkWithLineWindows = (path, lines, settings) => {
|
|
474
|
-
const step = settings.chunkSize - settings.chunkOverlap;
|
|
475
511
|
const out = [];
|
|
512
|
+
const prefixSums = lineLengthPrefixSums(lines);
|
|
476
513
|
for (let index = 0; index < lines.length;) {
|
|
477
514
|
if (!isMeaningfulLine(lines[index])) {
|
|
478
515
|
index++;
|
|
479
516
|
continue;
|
|
480
517
|
}
|
|
481
|
-
const
|
|
482
|
-
const
|
|
483
|
-
const
|
|
518
|
+
const startLine = index + 1;
|
|
519
|
+
const maxEndLine = Math.min(lines.length, startLine + settings.chunkSize - 1);
|
|
520
|
+
const endLine = resolveSegmentEndLine({
|
|
521
|
+
startLine,
|
|
522
|
+
maxEndLine,
|
|
523
|
+
settings,
|
|
524
|
+
prefixSums,
|
|
525
|
+
});
|
|
526
|
+
const chunkLines = lines.slice(startLine - 1, endLine);
|
|
484
527
|
out.push({
|
|
485
528
|
path,
|
|
486
|
-
startLine
|
|
487
|
-
endLine
|
|
529
|
+
startLine,
|
|
530
|
+
endLine,
|
|
488
531
|
name: undefined,
|
|
489
532
|
type: undefined,
|
|
490
533
|
parent: undefined,
|
|
491
534
|
content: chunkLines.join("\n"),
|
|
492
535
|
});
|
|
493
|
-
|
|
494
|
-
if (end >= lines.length) {
|
|
536
|
+
if (endLine >= lines.length) {
|
|
495
537
|
break;
|
|
496
538
|
}
|
|
539
|
+
const nextStartLine = Math.max(startLine + 1, endLine - settings.chunkOverlap + 1);
|
|
540
|
+
index = nextStartLine - 1;
|
|
497
541
|
}
|
|
498
542
|
return out;
|
|
499
543
|
};
|
|
@@ -567,6 +611,9 @@ export const layer = Layer.effect(CodeChunker, Effect.gen(function* () {
|
|
|
567
611
|
path,
|
|
568
612
|
chunkSize: options.chunkSize,
|
|
569
613
|
chunkOverlap: options.chunkOverlap,
|
|
614
|
+
...(options.chunkMaxCharacters === undefined
|
|
615
|
+
? {}
|
|
616
|
+
: { chunkMaxCharacters: options.chunkMaxCharacters }),
|
|
570
617
|
}), Stream.fromArrayEffect), { concurrency: 5 }));
|
|
571
618
|
const chunkCodebase = Effect.fnUntraced(function* (options) {
|
|
572
619
|
const root = pathService.resolve(options.root);
|
|
@@ -581,6 +628,9 @@ export const layer = Layer.effect(CodeChunker, Effect.gen(function* () {
|
|
|
581
628
|
paths: files,
|
|
582
629
|
chunkSize: options.chunkSize,
|
|
583
630
|
chunkOverlap: options.chunkOverlap,
|
|
631
|
+
...(options.chunkMaxCharacters === undefined
|
|
632
|
+
? {}
|
|
633
|
+
: { chunkMaxCharacters: options.chunkMaxCharacters }),
|
|
584
634
|
});
|
|
585
635
|
}, Stream.unwrap);
|
|
586
636
|
return CodeChunker.of({
|
package/dist/CodeChunker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeChunker.js","sourceRoot":"","sources":["../src/CodeChunker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CodeChunker.js","sourceRoot":"","sources":["../src/CodeChunker.ts"],"names":[],"mappings":"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"}
|
package/dist/CodeChunker.test.js
CHANGED
|
@@ -139,6 +139,77 @@ describe("chunkFileContent", () => {
|
|
|
139
139
|
endLine: 62,
|
|
140
140
|
});
|
|
141
141
|
});
|
|
142
|
+
it("limits AST chunks by character count and drops punctuation-only segments", () => {
|
|
143
|
+
const content = [
|
|
144
|
+
"export function demo() {",
|
|
145
|
+
" const alpha = 1",
|
|
146
|
+
" const beta = 2",
|
|
147
|
+
" return alpha + beta",
|
|
148
|
+
"}",
|
|
149
|
+
].join("\n");
|
|
150
|
+
const chunks = chunkFileContent("src/demo.ts", content, {
|
|
151
|
+
chunkSize: 20,
|
|
152
|
+
chunkOverlap: 1,
|
|
153
|
+
chunkMaxCharacters: 21,
|
|
154
|
+
});
|
|
155
|
+
expect(chunks).toHaveLength(4);
|
|
156
|
+
expect(chunks).toMatchObject([
|
|
157
|
+
{
|
|
158
|
+
startLine: 1,
|
|
159
|
+
endLine: 1,
|
|
160
|
+
name: "demo",
|
|
161
|
+
type: "function",
|
|
162
|
+
content: "export function demo() {",
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
startLine: 2,
|
|
166
|
+
endLine: 2,
|
|
167
|
+
name: "demo",
|
|
168
|
+
type: "function",
|
|
169
|
+
content: " const alpha = 1",
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
startLine: 3,
|
|
173
|
+
endLine: 3,
|
|
174
|
+
name: "demo",
|
|
175
|
+
type: "function",
|
|
176
|
+
content: " const beta = 2",
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
startLine: 4,
|
|
180
|
+
endLine: 4,
|
|
181
|
+
name: "demo",
|
|
182
|
+
type: "function",
|
|
183
|
+
content: " return alpha + beta",
|
|
184
|
+
},
|
|
185
|
+
]);
|
|
186
|
+
});
|
|
187
|
+
it("limits line-window chunks by character count while preserving overlap", () => {
|
|
188
|
+
const content = ["aaaaa", "bbbbb", "ccccc", "ddddd"].join("\n");
|
|
189
|
+
const chunks = chunkFileContent("docs/notes.txt", content, {
|
|
190
|
+
chunkSize: 4,
|
|
191
|
+
chunkOverlap: 1,
|
|
192
|
+
chunkMaxCharacters: 11,
|
|
193
|
+
});
|
|
194
|
+
expect(chunks).toHaveLength(3);
|
|
195
|
+
expect(chunks).toMatchObject([
|
|
196
|
+
{
|
|
197
|
+
startLine: 1,
|
|
198
|
+
endLine: 2,
|
|
199
|
+
content: ["aaaaa", "bbbbb"].join("\n"),
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
startLine: 2,
|
|
203
|
+
endLine: 3,
|
|
204
|
+
content: ["bbbbb", "ccccc"].join("\n"),
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
startLine: 3,
|
|
208
|
+
endLine: 4,
|
|
209
|
+
content: ["ccccc", "ddddd"].join("\n"),
|
|
210
|
+
},
|
|
211
|
+
]);
|
|
212
|
+
});
|
|
142
213
|
it("keeps only the first oversized class segment when methods are present", () => {
|
|
143
214
|
const content = [
|
|
144
215
|
"class Example {",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeChunker.test.js","sourceRoot":"","sources":["../src/CodeChunker.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CodeChunker.test.js","sourceRoot":"","sources":["../src/CodeChunker.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnD,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChD,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACtD,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5D,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACjE,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACrD,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,MAAM,GAAG;YACb,oBAAoB;YACpB,oBAAoB;YACpB,oBAAoB;SACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACZ,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,OAAO,GAAG;YACd,eAAe;YACf,wBAAwB;YACxB,cAAc;YACd,mBAAmB;YACnB,gBAAgB;YAChB,GAAG;YACH,iBAAiB;YACjB,iBAAiB;YACjB,aAAa;YACb,mBAAmB;YACnB,KAAK;YACL,GAAG;SACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,MAAM,MAAM,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,OAAO,EAAE;YAC1D,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,CAAC;SAChB,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9B,IAAI,EAAE,gBAAgB;YACtB,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SAChE,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9B,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE;gBACP,cAAc;gBACd,mBAAmB;gBACnB,gBAAgB;gBAChB,GAAG;aACJ,CAAC,IAAI,CAAC,IAAI,CAAC;SACb,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9B,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE;gBACP,iBAAiB;gBACjB,iBAAiB;gBACjB,aAAa;gBACb,mBAAmB;gBACnB,KAAK;gBACL,GAAG;aACJ,CAAC,IAAI,CAAC,IAAI,CAAC;SACb,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9B,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,eAAe;YACvB,OAAO,EAAE;gBACP,iBAAiB;gBACjB,aAAa;gBACb,mBAAmB;gBACnB,KAAK;aACN,CAAC,IAAI,CAAC,IAAI,CAAC;SACb,CAAC,CAAA;QAEF,MAAM,CACJ,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,EAAE;YAC1C,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,CAAC;SAChB,CAAC,CAAC,CAAC,CAAC,CACN,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,OAAO,GAAG;YACd,2BAA2B;YAC3B,GAAG,KAAK,CAAC,IAAI,CACX,EAAE,MAAM,EAAE,EAAE,EAAE,EACd,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CACX,cAAc,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CACjE;YACD,GAAG;SACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,MAAM,MAAM,GAAG,gBAAgB,CAAC,cAAc,EAAE,OAAO,EAAE;YACvD,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,CAAC;SAChB,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9B,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,MAAM,OAAO,GAAG;YACd,0BAA0B;YAC1B,mBAAmB;YACnB,kBAAkB;YAClB,uBAAuB;YACvB,GAAG;SACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,MAAM,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE,OAAO,EAAE;YACtD,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,CAAC;YACf,kBAAkB,EAAE,EAAE;SACvB,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YAC3B;gBACE,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;gBACV,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,0BAA0B;aACpC;YACD;gBACE,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;gBACV,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,mBAAmB;aAC7B;YACD;gBACE,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;gBACV,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,kBAAkB;aAC5B;YACD;gBACE,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;gBACV,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,uBAAuB;aACjC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC/E,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAE/D,MAAM,MAAM,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,EAAE;YACzD,SAAS,EAAE,CAAC;YACZ,YAAY,EAAE,CAAC;YACf,kBAAkB,EAAE,EAAE;SACvB,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YAC3B;gBACE,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;aACvC;YACD;gBACE,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;aACvC;YACD;gBACE,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;aACvC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC/E,MAAM,OAAO,GAAG;YACd,iBAAiB;YACjB,aAAa;YACb,iBAAiB;YACjB,iBAAiB;YACjB,kBAAkB;YAClB,KAAK;YACL,EAAE;YACF,cAAc;YACd,iBAAiB;YACjB,iBAAiB;YACjB,kBAAkB;YAClB,KAAK;YACL,GAAG;SACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,MAAM,MAAM,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,EAAE;YACzD,SAAS,EAAE,CAAC;YACZ,YAAY,EAAE,CAAC;SAChB,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAA;QACpE,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QACnC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YACnC,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,SAAS;SAClB,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC;YACtE;gBACE,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;gBACV,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,eAAe;aACxB;YACD;gBACE,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,eAAe;aACxB;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,OAAO,GAAG;YACd,eAAe;YACf,wBAAwB;YACxB,KAAK;YACL,cAAc;YACd,KAAK;YACL,mBAAmB;YACnB,gBAAgB;YAChB,GAAG;YACH,iBAAiB;YACjB,iBAAiB;YACjB,aAAa;YACb,mBAAmB;YACnB,KAAK;YACL,GAAG;SACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,MAAM,MAAM,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,EAAE;YACzD,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,CAAC;SAChB,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9B,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SAChE,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9B,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE;gBACP,KAAK;gBACL,cAAc;gBACd,KAAK;gBACL,mBAAmB;gBACnB,gBAAgB;gBAChB,GAAG;aACJ,CAAC,IAAI,CAAC,IAAI,CAAC;SACb,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,eAAe;YACvB,OAAO,EAAE;gBACP,iBAAiB;gBACjB,aAAa;gBACb,mBAAmB;gBACnB,KAAK;aACN,CAAC,IAAI,CAAC,IAAI,CAAC;SACb,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,OAAO,GAAG;YACd,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,QAAQ;SACT,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,MAAM,MAAM,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,OAAO,EAAE;YAC1D,SAAS,EAAE,CAAC;YACZ,YAAY,EAAE,CAAC;SAChB,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9B,IAAI,EAAE,gBAAgB;YACtB,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SACnD,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9B,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SACnD,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9B,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SACzC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,MAAM,GAAG,gBAAgB,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACjE,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,CAAC;SAChB,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,OAAO,GAAG,YAAY,CAC1B,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,EACxC,OAAO,CACR,CAAA;QACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,cAAc,EAAE,OAAO,EAAE;YACvD,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,CAAC;SAChB,CAAC,CAAA;QACF,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;QACrE,MAAM,CAAC,YAAY,EAAE,iDAAiD,CAAC,CAAA;QACvE,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,OAAO,GAAG,YAAY,CAC1B,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,eAAe,CAAC,EAC5C,OAAO,CACR,CAAA;QACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,eAAe,EAAE,OAAO,EAAE;YACxD,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,CAAC;SAChB,CAAC,CAAA;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC/C,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;QAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACnD,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE;YAC9B,SAAS;YACT,qBAAqB;YACrB,qBAAqB;SACtB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/dist/SemanticSearch.d.ts
CHANGED
|
@@ -39,6 +39,7 @@ export declare const layer: (options: {
|
|
|
39
39
|
readonly embeddingBatchSize?: number | undefined;
|
|
40
40
|
readonly embeddingRequestDelay?: Duration.Input | undefined;
|
|
41
41
|
readonly concurrency?: number | undefined;
|
|
42
|
+
readonly chunkMaxCharacters?: number | undefined;
|
|
42
43
|
}) => Layer.Layer<SemanticSearch, SqlError.SqlError | SqliteMigrator.MigrationError | PlatformError.PlatformError, EmbeddingModel.EmbeddingModel | Path.Path | ChildProcessSpawner.ChildProcessSpawner | FileSystem.FileSystem | EmbeddingModel.Dimensions>;
|
|
43
44
|
/**
|
|
44
45
|
* @since 1.0.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SemanticSearch.d.ts","sourceRoot":"","sources":["../src/SemanticSearch.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,cAAc,MAAM,mCAAmC,CAAA;AAGnE,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAG3C,OAAO,KAAK,KAAK,QAAQ,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,KAAK,cAAc,MAAM,wCAAwC,CAAA;AAC7E,OAAO,KAAK,KAAK,aAAa,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,KAAK,mBAAmB,MAAM,6CAA6C,CAAA;AACvF,OAAO,KAAK,KAAK,UAAU,MAAM,mBAAmB,CAAA;;oBAUhC;QACd,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KACvB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;qBACR,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;qBAC5B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;AAZjD;;;GAGG;AACH,qBAAa,cAAe,SAAQ,mBAUO;CAAG;
|
|
1
|
+
{"version":3,"file":"SemanticSearch.d.ts","sourceRoot":"","sources":["../src/SemanticSearch.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,cAAc,MAAM,mCAAmC,CAAA;AAGnE,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAG3C,OAAO,KAAK,KAAK,QAAQ,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,KAAK,cAAc,MAAM,wCAAwC,CAAA;AAC7E,OAAO,KAAK,KAAK,aAAa,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,KAAK,mBAAmB,MAAM,6CAA6C,CAAA;AACvF,OAAO,KAAK,KAAK,UAAU,MAAM,mBAAmB,CAAA;;oBAUhC;QACd,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KACvB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;qBACR,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;qBAC5B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;AAZjD;;;GAGG;AACH,qBAAa,cAAe,SAAQ,mBAUO;CAAG;AAY9C,eAAO,MAAM,qBAAqB,GAChC,UAAU,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,EAC5C,SAAS;IACP,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAA;CAC5D,KACA,cAAc,CAAC,OAAO,CAAC,UAAU,CAMjC,CAAA;AAEH,eAAO,MAAM,mBAAmB,GAAI,OAAO,WAAW,CAAC,SAAS,KAAG,MAwBlE,CAAA;AAKD;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,SAAS;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAA;IAC3D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACjD,KAAG,KAAK,CAAC,KAAK,CACb,cAAc,EACZ,QAAQ,CAAC,QAAQ,GACjB,cAAc,CAAC,cAAc,GAC7B,aAAa,CAAC,aAAa,EAC3B,cAAc,CAAC,cAAc,GAC7B,IAAI,CAAC,IAAI,GACT,mBAAmB,CAAC,mBAAmB,GACvC,UAAU,CAAC,UAAU,GACrB,cAAc,CAAC,UAAU,CAgL1B,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAQ9D,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAQ9D,CAAA"}
|
package/dist/SemanticSearch.js
CHANGED
|
@@ -25,10 +25,11 @@ import * as Console from "effect/Console";
|
|
|
25
25
|
export class SemanticSearch extends ServiceMap.Service()("clanka/SemanticSearch/SemanticSearch") {
|
|
26
26
|
}
|
|
27
27
|
const normalizePath = (path) => path.replace(/\\/g, "/");
|
|
28
|
-
const
|
|
28
|
+
const resolveChunkConfig = (options) => ({
|
|
29
29
|
chunkSize: 30,
|
|
30
30
|
chunkOverlap: 0,
|
|
31
|
-
|
|
31
|
+
chunkMaxCharacters: options.chunkMaxCharacters ?? 10_000,
|
|
32
|
+
});
|
|
32
33
|
export const makeEmbeddingResolver = (resolver, options) => resolver.pipe(RequestResolver.setDelay(options.embeddingRequestDelay ?? Duration.millis(50)), RequestResolver.batchN(options.embeddingBatchSize ?? 500));
|
|
33
34
|
export const chunkEmbeddingInput = (chunk) => {
|
|
34
35
|
const headerLines = ["---", "file: " + chunk.path];
|
|
@@ -65,6 +66,7 @@ export const layer = (options) => Layer.effect(SemanticSearch, Effect.gen(functi
|
|
|
65
66
|
const root = pathService.resolve(options.directory);
|
|
66
67
|
const resolver = makeEmbeddingResolver(embeddings.resolver, options);
|
|
67
68
|
const concurrency = options.concurrency ?? 2000;
|
|
69
|
+
const chunkConfig = resolveChunkConfig(options);
|
|
68
70
|
const indexHandle = yield* FiberHandle.make();
|
|
69
71
|
const console = yield* Console.Console;
|
|
70
72
|
const resolveIndexedPath = (path) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SemanticSearch.js","sourceRoot":"","sources":["../src/SemanticSearch.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,KAAK,cAAc,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AACzD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAMzC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC;;;GAGG;AACH,MAAM,OAAO,cAAe,SAAQ,UAAU,CAAC,OAAO,EAUnD,CAAC,sCAAsC,CAAC;CAAG;AAE9C,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AAEhE,MAAM,
|
|
1
|
+
{"version":3,"file":"SemanticSearch.js","sourceRoot":"","sources":["../src/SemanticSearch.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clanka",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.20",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"url": "https://github.com/Effectful-Tech/clanka.git"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@effect/sql-sqlite-node": "4.0.0-beta.
|
|
25
|
+
"@effect/sql-sqlite-node": "4.0.0-beta.36",
|
|
26
26
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
27
27
|
"@vscode/ripgrep": "^1.17.1",
|
|
28
28
|
"chalk": "^5.6.2",
|
|
@@ -42,22 +42,22 @@
|
|
|
42
42
|
"@sqliteai/sqlite-vector-win32-x86_64": "0.9.93"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
|
-
"@effect/ai-openai": "4.0.0-beta.
|
|
46
|
-
"@effect/ai-openai-compat": "4.0.0-beta.
|
|
47
|
-
"effect": "4.0.0-beta.
|
|
45
|
+
"@effect/ai-openai": "4.0.0-beta.36",
|
|
46
|
+
"@effect/ai-openai-compat": "4.0.0-beta.36",
|
|
47
|
+
"effect": "4.0.0-beta.36"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@changesets/changelog-github": "^0.6.0",
|
|
51
51
|
"@changesets/cli": "^2.29.8",
|
|
52
|
-
"@effect/ai-openai": "4.0.0-beta.
|
|
53
|
-
"@effect/ai-openai-compat": "4.0.0-beta.
|
|
52
|
+
"@effect/ai-openai": "4.0.0-beta.36",
|
|
53
|
+
"@effect/ai-openai-compat": "4.0.0-beta.36",
|
|
54
54
|
"@effect/language-service": "^0.80.0",
|
|
55
|
-
"@effect/platform-node": "4.0.0-beta.
|
|
56
|
-
"@effect/vitest": "4.0.0-beta.
|
|
55
|
+
"@effect/platform-node": "4.0.0-beta.36",
|
|
56
|
+
"@effect/vitest": "4.0.0-beta.36",
|
|
57
57
|
"@types/node": "^25.5.0",
|
|
58
58
|
"@types/turndown": "^5.0.6",
|
|
59
59
|
"@typescript/native-preview": "7.0.0-dev.20260318.1",
|
|
60
|
-
"effect": "4.0.0-beta.
|
|
60
|
+
"effect": "4.0.0-beta.36",
|
|
61
61
|
"husky": "^9.1.7",
|
|
62
62
|
"lint-staged": "^16.4.0",
|
|
63
63
|
"oxlint": "^1.56.0",
|
package/src/Agent.ts
CHANGED
|
@@ -487,9 +487,10 @@ const generateSystemTools = (
|
|
|
487
487
|
: ""
|
|
488
488
|
}
|
|
489
489
|
- Do as much work as possible in a single script, using \`Promise.all\` to run multiple functions in parallel.
|
|
490
|
+
- You can add / update / remove multiple files in one go with "applyPatch".
|
|
490
491
|
- AVOID passing scripts into the "bash" function, and instead write javascript.
|
|
491
492
|
- **Variables are not shared** between executions, so you must include all necessary code in each script you execute.
|
|
492
|
-
- DO NOT use \`require\`, \`import\`, \`process\`, or any other node apis.
|
|
493
|
+
- DO NOT use \`require\`, \`import\`, \`process\`, or any other node.js apis.
|
|
493
494
|
|
|
494
495
|
When you have fully completed your task, call the "taskComplete" function with the final output.
|
|
495
496
|
DO NOT output the final result without wrapping it with "taskComplete".
|
package/src/CodeChunker.test.ts
CHANGED
|
@@ -162,6 +162,83 @@ describe("chunkFileContent", () => {
|
|
|
162
162
|
})
|
|
163
163
|
})
|
|
164
164
|
|
|
165
|
+
it("limits AST chunks by character count and drops punctuation-only segments", () => {
|
|
166
|
+
const content = [
|
|
167
|
+
"export function demo() {",
|
|
168
|
+
" const alpha = 1",
|
|
169
|
+
" const beta = 2",
|
|
170
|
+
" return alpha + beta",
|
|
171
|
+
"}",
|
|
172
|
+
].join("\n")
|
|
173
|
+
|
|
174
|
+
const chunks = chunkFileContent("src/demo.ts", content, {
|
|
175
|
+
chunkSize: 20,
|
|
176
|
+
chunkOverlap: 1,
|
|
177
|
+
chunkMaxCharacters: 21,
|
|
178
|
+
})
|
|
179
|
+
|
|
180
|
+
expect(chunks).toHaveLength(4)
|
|
181
|
+
expect(chunks).toMatchObject([
|
|
182
|
+
{
|
|
183
|
+
startLine: 1,
|
|
184
|
+
endLine: 1,
|
|
185
|
+
name: "demo",
|
|
186
|
+
type: "function",
|
|
187
|
+
content: "export function demo() {",
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
startLine: 2,
|
|
191
|
+
endLine: 2,
|
|
192
|
+
name: "demo",
|
|
193
|
+
type: "function",
|
|
194
|
+
content: " const alpha = 1",
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
startLine: 3,
|
|
198
|
+
endLine: 3,
|
|
199
|
+
name: "demo",
|
|
200
|
+
type: "function",
|
|
201
|
+
content: " const beta = 2",
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
startLine: 4,
|
|
205
|
+
endLine: 4,
|
|
206
|
+
name: "demo",
|
|
207
|
+
type: "function",
|
|
208
|
+
content: " return alpha + beta",
|
|
209
|
+
},
|
|
210
|
+
])
|
|
211
|
+
})
|
|
212
|
+
|
|
213
|
+
it("limits line-window chunks by character count while preserving overlap", () => {
|
|
214
|
+
const content = ["aaaaa", "bbbbb", "ccccc", "ddddd"].join("\n")
|
|
215
|
+
|
|
216
|
+
const chunks = chunkFileContent("docs/notes.txt", content, {
|
|
217
|
+
chunkSize: 4,
|
|
218
|
+
chunkOverlap: 1,
|
|
219
|
+
chunkMaxCharacters: 11,
|
|
220
|
+
})
|
|
221
|
+
|
|
222
|
+
expect(chunks).toHaveLength(3)
|
|
223
|
+
expect(chunks).toMatchObject([
|
|
224
|
+
{
|
|
225
|
+
startLine: 1,
|
|
226
|
+
endLine: 2,
|
|
227
|
+
content: ["aaaaa", "bbbbb"].join("\n"),
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
startLine: 2,
|
|
231
|
+
endLine: 3,
|
|
232
|
+
content: ["bbbbb", "ccccc"].join("\n"),
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
startLine: 3,
|
|
236
|
+
endLine: 4,
|
|
237
|
+
content: ["ccccc", "ddddd"].join("\n"),
|
|
238
|
+
},
|
|
239
|
+
])
|
|
240
|
+
})
|
|
241
|
+
|
|
165
242
|
it("keeps only the first oversized class segment when methods are present", () => {
|
|
166
243
|
const content = [
|
|
167
244
|
"class Example {",
|
package/src/CodeChunker.ts
CHANGED
|
@@ -59,18 +59,21 @@ export class CodeChunker extends ServiceMap.Service<
|
|
|
59
59
|
readonly path: string
|
|
60
60
|
readonly chunkSize: number
|
|
61
61
|
readonly chunkOverlap: number
|
|
62
|
+
readonly chunkMaxCharacters?: number | undefined
|
|
62
63
|
}): Effect.Effect<ReadonlyArray<CodeChunk>>
|
|
63
64
|
chunkFiles(options: {
|
|
64
65
|
readonly root: string
|
|
65
66
|
readonly paths: ReadonlyArray<string>
|
|
66
67
|
readonly chunkSize: number
|
|
67
68
|
readonly chunkOverlap: number
|
|
69
|
+
readonly chunkMaxCharacters?: number | undefined
|
|
68
70
|
}): Stream.Stream<CodeChunk>
|
|
69
71
|
chunkCodebase(options: {
|
|
70
72
|
readonly root: string
|
|
71
73
|
readonly maxFileSize?: string | undefined
|
|
72
74
|
readonly chunkSize: number
|
|
73
75
|
readonly chunkOverlap: number
|
|
76
|
+
readonly chunkMaxCharacters?: number | undefined
|
|
74
77
|
}): Stream.Stream<CodeChunk>
|
|
75
78
|
}
|
|
76
79
|
>()("clanka/CodeChunker") {}
|
|
@@ -157,6 +160,7 @@ interface LineRange {
|
|
|
157
160
|
interface ChunkSettings {
|
|
158
161
|
readonly chunkSize: number
|
|
159
162
|
readonly chunkOverlap: number
|
|
163
|
+
readonly chunkMaxCharacters: number
|
|
160
164
|
}
|
|
161
165
|
|
|
162
166
|
interface ChunkRange extends LineRange {
|
|
@@ -234,16 +238,23 @@ export const isMeaningfulFile = (path: string): boolean => {
|
|
|
234
238
|
const resolveChunkSettings = (options: {
|
|
235
239
|
readonly chunkSize: number
|
|
236
240
|
readonly chunkOverlap: number
|
|
241
|
+
readonly chunkMaxCharacters?: number | undefined
|
|
237
242
|
}): ChunkSettings => {
|
|
238
243
|
const chunkSize = Math.max(1, options.chunkSize)
|
|
239
244
|
const chunkOverlap = Math.max(
|
|
240
245
|
0,
|
|
241
246
|
Math.min(chunkSize - 1, options.chunkOverlap),
|
|
242
247
|
)
|
|
248
|
+
const chunkMaxCharacters =
|
|
249
|
+
options.chunkMaxCharacters !== undefined &&
|
|
250
|
+
Number.isFinite(options.chunkMaxCharacters)
|
|
251
|
+
? Math.max(1, Math.floor(options.chunkMaxCharacters))
|
|
252
|
+
: Number.POSITIVE_INFINITY
|
|
243
253
|
|
|
244
254
|
return {
|
|
245
255
|
chunkSize,
|
|
246
256
|
chunkOverlap,
|
|
257
|
+
chunkMaxCharacters,
|
|
247
258
|
}
|
|
248
259
|
}
|
|
249
260
|
|
|
@@ -345,24 +356,76 @@ const normalizeLineRange = (
|
|
|
345
356
|
}
|
|
346
357
|
}
|
|
347
358
|
|
|
359
|
+
const lineLengthPrefixSums = (
|
|
360
|
+
lines: ReadonlyArray<string>,
|
|
361
|
+
): ReadonlyArray<number> => {
|
|
362
|
+
const sums = [0] as Array<number>
|
|
363
|
+
|
|
364
|
+
for (let index = 0; index < lines.length; index++) {
|
|
365
|
+
sums.push(sums[index]! + lines[index]!.length)
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
return sums
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
const lineRangeCharacterLength = (
|
|
372
|
+
prefixSums: ReadonlyArray<number>,
|
|
373
|
+
range: LineRange,
|
|
374
|
+
): number =>
|
|
375
|
+
prefixSums[range.endLine]! -
|
|
376
|
+
prefixSums[range.startLine - 1]! +
|
|
377
|
+
(range.endLine - range.startLine)
|
|
378
|
+
|
|
379
|
+
const resolveSegmentEndLine = (options: {
|
|
380
|
+
readonly startLine: number
|
|
381
|
+
readonly maxEndLine: number
|
|
382
|
+
readonly settings: ChunkSettings
|
|
383
|
+
readonly prefixSums: ReadonlyArray<number>
|
|
384
|
+
}): number => {
|
|
385
|
+
if (options.settings.chunkMaxCharacters === Number.POSITIVE_INFINITY) {
|
|
386
|
+
return options.maxEndLine
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
let endLine = options.maxEndLine
|
|
390
|
+
while (
|
|
391
|
+
endLine > options.startLine &&
|
|
392
|
+
lineRangeCharacterLength(options.prefixSums, {
|
|
393
|
+
startLine: options.startLine,
|
|
394
|
+
endLine,
|
|
395
|
+
}) > options.settings.chunkMaxCharacters
|
|
396
|
+
) {
|
|
397
|
+
endLine--
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
return endLine
|
|
401
|
+
}
|
|
402
|
+
|
|
348
403
|
const splitRange = (
|
|
349
404
|
range: LineRange,
|
|
350
405
|
settings: ChunkSettings,
|
|
406
|
+
prefixSums: ReadonlyArray<number>,
|
|
351
407
|
): ReadonlyArray<LineRange> => {
|
|
352
408
|
const lineCount = range.endLine - range.startLine + 1
|
|
353
|
-
if (
|
|
409
|
+
if (
|
|
410
|
+
lineCount <= settings.chunkSize &&
|
|
411
|
+
lineRangeCharacterLength(prefixSums, range) <= settings.chunkMaxCharacters
|
|
412
|
+
) {
|
|
354
413
|
return [range]
|
|
355
414
|
}
|
|
356
|
-
|
|
357
|
-
const step = settings.chunkSize - settings.chunkOverlap
|
|
358
415
|
const out = [] as Array<LineRange>
|
|
359
416
|
|
|
360
|
-
for (
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
const endLine =
|
|
417
|
+
for (let startLine = range.startLine; startLine <= range.endLine; ) {
|
|
418
|
+
const maxEndLine = Math.min(
|
|
419
|
+
range.endLine,
|
|
420
|
+
startLine + settings.chunkSize - 1,
|
|
421
|
+
)
|
|
422
|
+
const endLine = resolveSegmentEndLine({
|
|
423
|
+
startLine,
|
|
424
|
+
maxEndLine,
|
|
425
|
+
settings,
|
|
426
|
+
prefixSums,
|
|
427
|
+
})
|
|
428
|
+
|
|
366
429
|
out.push({
|
|
367
430
|
startLine,
|
|
368
431
|
endLine,
|
|
@@ -371,6 +434,8 @@ const splitRange = (
|
|
|
371
434
|
if (endLine >= range.endLine) {
|
|
372
435
|
break
|
|
373
436
|
}
|
|
437
|
+
|
|
438
|
+
startLine = Math.max(startLine + 1, endLine - settings.chunkOverlap + 1)
|
|
374
439
|
}
|
|
375
440
|
|
|
376
441
|
return out
|
|
@@ -648,6 +713,7 @@ const chunksFromRanges = (
|
|
|
648
713
|
|
|
649
714
|
const out = [] as Array<CodeChunk>
|
|
650
715
|
const seen = new Set<string>()
|
|
716
|
+
const prefixSums = lineLengthPrefixSums(lines)
|
|
651
717
|
|
|
652
718
|
for (const range of ranges) {
|
|
653
719
|
const normalizedRange = normalizeLineRange(range, lines.length)
|
|
@@ -655,7 +721,7 @@ const chunksFromRanges = (
|
|
|
655
721
|
continue
|
|
656
722
|
}
|
|
657
723
|
|
|
658
|
-
const allSegments = splitRange(normalizedRange, settings)
|
|
724
|
+
const allSegments = splitRange(normalizedRange, settings, prefixSums)
|
|
659
725
|
const segments =
|
|
660
726
|
range.type === "class" &&
|
|
661
727
|
allSegments.length > 1 &&
|
|
@@ -709,8 +775,8 @@ const chunkWithLineWindows = (
|
|
|
709
775
|
lines: ReadonlyArray<string>,
|
|
710
776
|
settings: ChunkSettings,
|
|
711
777
|
): ReadonlyArray<CodeChunk> => {
|
|
712
|
-
const step = settings.chunkSize - settings.chunkOverlap
|
|
713
778
|
const out = [] as Array<CodeChunk>
|
|
779
|
+
const prefixSums = lineLengthPrefixSums(lines)
|
|
714
780
|
|
|
715
781
|
for (let index = 0; index < lines.length; ) {
|
|
716
782
|
if (!isMeaningfulLine(lines[index]!)) {
|
|
@@ -718,25 +784,38 @@ const chunkWithLineWindows = (
|
|
|
718
784
|
continue
|
|
719
785
|
}
|
|
720
786
|
|
|
721
|
-
const
|
|
722
|
-
const
|
|
723
|
-
|
|
787
|
+
const startLine = index + 1
|
|
788
|
+
const maxEndLine = Math.min(
|
|
789
|
+
lines.length,
|
|
790
|
+
startLine + settings.chunkSize - 1,
|
|
791
|
+
)
|
|
792
|
+
const endLine = resolveSegmentEndLine({
|
|
793
|
+
startLine,
|
|
794
|
+
maxEndLine,
|
|
795
|
+
settings,
|
|
796
|
+
prefixSums,
|
|
797
|
+
})
|
|
798
|
+
const chunkLines = lines.slice(startLine - 1, endLine)
|
|
724
799
|
|
|
725
800
|
out.push({
|
|
726
801
|
path,
|
|
727
|
-
startLine
|
|
728
|
-
endLine
|
|
802
|
+
startLine,
|
|
803
|
+
endLine,
|
|
729
804
|
name: undefined,
|
|
730
805
|
type: undefined,
|
|
731
806
|
parent: undefined,
|
|
732
807
|
content: chunkLines.join("\n"),
|
|
733
808
|
})
|
|
734
809
|
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
if (end >= lines.length) {
|
|
810
|
+
if (endLine >= lines.length) {
|
|
738
811
|
break
|
|
739
812
|
}
|
|
813
|
+
|
|
814
|
+
const nextStartLine = Math.max(
|
|
815
|
+
startLine + 1,
|
|
816
|
+
endLine - settings.chunkOverlap + 1,
|
|
817
|
+
)
|
|
818
|
+
index = nextStartLine - 1
|
|
740
819
|
}
|
|
741
820
|
|
|
742
821
|
return out
|
|
@@ -752,6 +831,7 @@ export const chunkFileContent = (
|
|
|
752
831
|
options: {
|
|
753
832
|
readonly chunkSize: number
|
|
754
833
|
readonly chunkOverlap: number
|
|
834
|
+
readonly chunkMaxCharacters?: number | undefined
|
|
755
835
|
},
|
|
756
836
|
): ReadonlyArray<CodeChunk> => {
|
|
757
837
|
if (content.trim().length === 0 || isProbablyMinified(content)) {
|
|
@@ -869,6 +949,9 @@ export const layer: Layer.Layer<
|
|
|
869
949
|
path,
|
|
870
950
|
chunkSize: options.chunkSize,
|
|
871
951
|
chunkOverlap: options.chunkOverlap,
|
|
952
|
+
...(options.chunkMaxCharacters === undefined
|
|
953
|
+
? {}
|
|
954
|
+
: { chunkMaxCharacters: options.chunkMaxCharacters }),
|
|
872
955
|
}),
|
|
873
956
|
Stream.fromArrayEffect,
|
|
874
957
|
),
|
|
@@ -891,6 +974,9 @@ export const layer: Layer.Layer<
|
|
|
891
974
|
paths: files,
|
|
892
975
|
chunkSize: options.chunkSize,
|
|
893
976
|
chunkOverlap: options.chunkOverlap,
|
|
977
|
+
...(options.chunkMaxCharacters === undefined
|
|
978
|
+
? {}
|
|
979
|
+
: { chunkMaxCharacters: options.chunkMaxCharacters }),
|
|
894
980
|
})
|
|
895
981
|
}, Stream.unwrap)
|
|
896
982
|
|
package/src/SemanticSearch.ts
CHANGED
|
@@ -42,10 +42,13 @@ export class SemanticSearch extends ServiceMap.Service<
|
|
|
42
42
|
|
|
43
43
|
const normalizePath = (path: string) => path.replace(/\\/g, "/")
|
|
44
44
|
|
|
45
|
-
const
|
|
45
|
+
const resolveChunkConfig = (options: {
|
|
46
|
+
readonly chunkMaxCharacters?: number | undefined
|
|
47
|
+
}) => ({
|
|
46
48
|
chunkSize: 30,
|
|
47
49
|
chunkOverlap: 0,
|
|
48
|
-
|
|
50
|
+
chunkMaxCharacters: options.chunkMaxCharacters ?? 10_000,
|
|
51
|
+
})
|
|
49
52
|
|
|
50
53
|
export const makeEmbeddingResolver = (
|
|
51
54
|
resolver: EmbeddingModel.Service["resolver"],
|
|
@@ -100,6 +103,7 @@ export const layer = (options: {
|
|
|
100
103
|
readonly embeddingBatchSize?: number | undefined
|
|
101
104
|
readonly embeddingRequestDelay?: Duration.Input | undefined
|
|
102
105
|
readonly concurrency?: number | undefined
|
|
106
|
+
readonly chunkMaxCharacters?: number | undefined
|
|
103
107
|
}): Layer.Layer<
|
|
104
108
|
SemanticSearch,
|
|
105
109
|
| SqlError.SqlError
|
|
@@ -121,6 +125,7 @@ export const layer = (options: {
|
|
|
121
125
|
const root = pathService.resolve(options.directory)
|
|
122
126
|
const resolver = makeEmbeddingResolver(embeddings.resolver, options)
|
|
123
127
|
const concurrency = options.concurrency ?? 2000
|
|
128
|
+
const chunkConfig = resolveChunkConfig(options)
|
|
124
129
|
const indexHandle = yield* FiberHandle.make()
|
|
125
130
|
const console = yield* Console.Console
|
|
126
131
|
|