@mnemonik/shared 6.50.0 → 6.51.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/ast/astChunker.d.ts +124 -0
- package/dist/ast/astChunker.d.ts.map +1 -0
- package/dist/ast/astChunker.js +559 -0
- package/dist/ast/astChunker.js.map +1 -0
- package/dist/ast/grammars.d.ts +170 -0
- package/dist/ast/grammars.d.ts.map +1 -0
- package/dist/ast/grammars.js +411 -0
- package/dist/ast/grammars.js.map +1 -0
- package/dist/codeScanner.d.ts +59 -0
- package/dist/codeScanner.d.ts.map +1 -1
- package/dist/codeScanner.js +259 -2
- package/dist/codeScanner.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
- package/queries/bash.tags.scm +7 -0
- package/queries/groovy.tags.scm +15 -0
- package/queries/powershell.tags.scm +14 -0
- package/scripts/vendor-grammars.ts +317 -0
- package/src/ast/astChunker.ts +661 -0
- package/src/ast/grammars.ts +490 -0
- package/src/codeScanner.ts +273 -3
- package/src/index.ts +22 -0
- package/wasm/bash.tags.scm +7 -0
- package/wasm/bash.wasm +0 -0
- package/wasm/c-sharp.tags.scm +23 -0
- package/wasm/c-sharp.wasm +0 -0
- package/wasm/c.tags.scm +9 -0
- package/wasm/c.wasm +0 -0
- package/wasm/cpp.tags.scm +15 -0
- package/wasm/cpp.wasm +0 -0
- package/wasm/elixir.tags.scm +54 -0
- package/wasm/elixir.wasm +0 -0
- package/wasm/go.tags.scm +42 -0
- package/wasm/go.wasm +0 -0
- package/wasm/groovy.tags.scm +15 -0
- package/wasm/groovy.wasm +0 -0
- package/wasm/java.tags.scm +20 -0
- package/wasm/java.wasm +0 -0
- package/wasm/javascript.tags.scm +99 -0
- package/wasm/javascript.wasm +0 -0
- package/wasm/php.tags.scm +40 -0
- package/wasm/php.wasm +0 -0
- package/wasm/powershell.tags.scm +14 -0
- package/wasm/powershell.wasm +0 -0
- package/wasm/python.tags.scm +14 -0
- package/wasm/python.wasm +0 -0
- package/wasm/ruby.tags.scm +64 -0
- package/wasm/ruby.wasm +0 -0
- package/wasm/rust.tags.scm +60 -0
- package/wasm/rust.wasm +0 -0
- package/wasm/scala.tags.scm +66 -0
- package/wasm/scala.wasm +0 -0
- package/wasm/solidity.tags.scm +43 -0
- package/wasm/solidity.wasm +0 -0
- package/wasm/tsx.wasm +0 -0
- package/wasm/typescript.tags.scm +23 -0
- package/wasm/typescript.wasm +0 -0
package/dist/codeScanner.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ export interface CodeChunk {
|
|
|
36
36
|
size: number;
|
|
37
37
|
signature?: string;
|
|
38
38
|
symbolName?: string;
|
|
39
|
+
symbolKind?: string;
|
|
39
40
|
};
|
|
40
41
|
}
|
|
41
42
|
export interface ScanOptions {
|
|
@@ -43,6 +44,13 @@ export interface ScanOptions {
|
|
|
43
44
|
minChunkSize?: number;
|
|
44
45
|
ignorePatterns?: string[];
|
|
45
46
|
includeExtensions?: string[];
|
|
47
|
+
/**
|
|
48
|
+
* Byte ceiling above which a file is chunked heuristically instead of parsed.
|
|
49
|
+
* Defaults to `MAX_AST_PARSE_BYTES`; exposed so a caller (and the routing
|
|
50
|
+
* test) can drive the degradation path through production code rather than a
|
|
51
|
+
* mock.
|
|
52
|
+
*/
|
|
53
|
+
maxAstParseBytes?: number;
|
|
46
54
|
}
|
|
47
55
|
/**
|
|
48
56
|
* Directory basenames the scanner never indexes, across every ecosystem —
|
|
@@ -134,6 +142,29 @@ export declare function makeIgnoreMatcher(extraPatterns?: readonly string[]): (r
|
|
|
134
142
|
* (callers only test child directories).
|
|
135
143
|
*/
|
|
136
144
|
export declare function isGitBoundary(dirPath: string): Promise<boolean>;
|
|
145
|
+
/**
|
|
146
|
+
* Log which grammars this install ships — ONCE per process, at daemon start,
|
|
147
|
+
* never per file.
|
|
148
|
+
*
|
|
149
|
+
* A missing grammar silently degrades every file of that language to the
|
|
150
|
+
* heuristic chunker. Per-file warnings would say so 30,000 times and drown the
|
|
151
|
+
* log; saying nothing is how a half-broken install looks healthy. One startup
|
|
152
|
+
* line naming the vendored grammars, and a WARNING when an artifact is missing,
|
|
153
|
+
* is the whole contract.
|
|
154
|
+
*
|
|
155
|
+
* Deliberately a `statSync` of the artifacts (`astArtifactReport`) and not a
|
|
156
|
+
* load of them (`astCapabilityReport`). Loading all 18 to print this line costs
|
|
157
|
+
* ~690 ms and ~75 MB of RSS that is never returned — web-tree-sitter exposes no
|
|
158
|
+
* `Language.delete` — which is a permanent tax on a daemon watching a pure
|
|
159
|
+
* TypeScript repo, paid to pre-answer a question about seventeen languages it
|
|
160
|
+
* will never see. Grammars load lazily instead, on the first file of a language,
|
|
161
|
+
* and the two failure modes only a load can detect (`wasm_load_failed`,
|
|
162
|
+
* `query_compile_failed`) are warned there, once per language, by the
|
|
163
|
+
* `grammar_unavailable` branch in `chunkFile`.
|
|
164
|
+
*
|
|
165
|
+
* Cheap to call repeatedly: this latches, and the report instantiates nothing.
|
|
166
|
+
*/
|
|
167
|
+
export declare function logAstCapabilityOnce(): Promise<void>;
|
|
137
168
|
export declare class CodeScanner {
|
|
138
169
|
private options;
|
|
139
170
|
/**
|
|
@@ -278,6 +309,34 @@ export declare class CodeScanner {
|
|
|
278
309
|
*/
|
|
279
310
|
private static readonly MAX_FILE_SIZE;
|
|
280
311
|
private parseFile;
|
|
312
|
+
/**
|
|
313
|
+
* Hold every AST chunk at or under `maxChunkSize`, or answer `null` when this
|
|
314
|
+
* file cannot be held there on line boundaries.
|
|
315
|
+
*
|
|
316
|
+
* The AST chunker bounds only the spans it invents (`MAX_RAW_SPAN_CHARS`); a
|
|
317
|
+
* chunk that came from a definition is exactly as big as the definition, and a
|
|
318
|
+
* span that is one enormous line is left whole on purpose. Both used to reach
|
|
319
|
+
* the wire verbatim, where `scanChunkSchema` caps content at 500,000 chars and
|
|
320
|
+
* rejects the WHOLE push if any chunk is over — so one generated file stopped
|
|
321
|
+
* all scanning for that push — and where anything past 8191 tokens is only
|
|
322
|
+
* partially embedded.
|
|
323
|
+
*
|
|
324
|
+
* The invariants, all of which the split preserves:
|
|
325
|
+
* - content stays verbatim contiguous source: `lines[startLine-1..endLine-1]`
|
|
326
|
+
* joined by '\n', never a join of disjoint regions and never an elision;
|
|
327
|
+
* - total coverage is unchanged: the pieces tile the original range, in order,
|
|
328
|
+
* with no gap and no overlap;
|
|
329
|
+
* - the definition's identity rides on the piece that carries its signature —
|
|
330
|
+
* the first one — and the continuations are plain `raw` spans, because a
|
|
331
|
+
* continuation is not the definition and must not claim its name.
|
|
332
|
+
*
|
|
333
|
+
* `null` (the caller degrades the whole file to the heuristic chunker) is
|
|
334
|
+
* reserved for the one shape a line-boundary split cannot fix: a single line
|
|
335
|
+
* longer than the cap, as every generated `*_pb2.py` has. Cutting mid-line
|
|
336
|
+
* would give two chunks the same `filePath:startLine-endLine` staleness key,
|
|
337
|
+
* which is the collision the chunker refuses everywhere else.
|
|
338
|
+
*/
|
|
339
|
+
private boundAstChunks;
|
|
281
340
|
/**
|
|
282
341
|
* Detect language from file extension
|
|
283
342
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeScanner.d.ts","sourceRoot":"","sources":["../src/codeScanner.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"codeScanner.d.ts","sourceRoot":"","sources":["../src/codeScanner.ts"],"names":[],"mappings":"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"}
|
package/dist/codeScanner.js
CHANGED
|
@@ -5,9 +5,11 @@ import { readdir, readFile, stat, lstat, realpath } from 'fs/promises';
|
|
|
5
5
|
import { join, relative, extname, sep } from 'path';
|
|
6
6
|
import { createHash } from 'crypto';
|
|
7
7
|
import ignore from 'ignore';
|
|
8
|
-
import { debug as logDebug, warn as logWarn } from './logger.js';
|
|
8
|
+
import { debug as logDebug, info as logInfo, warn as logWarn } from './logger.js';
|
|
9
9
|
import { withTimeout } from './asyncUtils.js';
|
|
10
10
|
import { scrubSecrets } from './secretPatterns.js';
|
|
11
|
+
import { MAX_AST_PARSE_BYTES, chunkWithAst } from './ast/astChunker.js';
|
|
12
|
+
import { astArtifactReport, resolveAstLanguage } from './ast/grammars.js';
|
|
11
13
|
/**
|
|
12
14
|
* File operation timeout (5 seconds) to prevent hanging on slow/unresponsive filesystems
|
|
13
15
|
*/
|
|
@@ -450,6 +452,7 @@ const DEFAULT_OPTIONS = {
|
|
|
450
452
|
minChunkSize: 100,
|
|
451
453
|
ignorePatterns: [...BUILT_IN_IGNORE_DIRS, ...BUILT_IN_IGNORE_FILE_PATTERNS],
|
|
452
454
|
includeExtensions: [...DEFAULT_INCLUDE_EXTENSIONS],
|
|
455
|
+
maxAstParseBytes: MAX_AST_PARSE_BYTES,
|
|
453
456
|
};
|
|
454
457
|
/**
|
|
455
458
|
* Matchers for authority manifest / config / CI files whose verbatim content
|
|
@@ -543,6 +546,63 @@ export async function isGitBoundary(dirPath) {
|
|
|
543
546
|
return false;
|
|
544
547
|
}
|
|
545
548
|
}
|
|
549
|
+
/**
|
|
550
|
+
* Latch for `logAstCapabilityOnce`. A promise, not a boolean: two concurrent
|
|
551
|
+
* callers must both wait on the same report rather than the second returning
|
|
552
|
+
* before the first has logged.
|
|
553
|
+
*/
|
|
554
|
+
let astCapabilityLog = null;
|
|
555
|
+
/**
|
|
556
|
+
* `reason:grammar` pairs already warned about, for the reasons that are
|
|
557
|
+
* process-global rather than file-specific.
|
|
558
|
+
*
|
|
559
|
+
* Only `grammar_unavailable` qualifies: `loadGrammar` caches its failure, so the
|
|
560
|
+
* answer is identical for every file of that language and warning per file
|
|
561
|
+
* printed 1,037 lines in one scan of this repo. `file_too_large` and
|
|
562
|
+
* `parse_failed` are properties of one file and stay per file.
|
|
563
|
+
*/
|
|
564
|
+
const reportedGrammarFallbacks = new Set();
|
|
565
|
+
/**
|
|
566
|
+
* Log which grammars this install ships — ONCE per process, at daemon start,
|
|
567
|
+
* never per file.
|
|
568
|
+
*
|
|
569
|
+
* A missing grammar silently degrades every file of that language to the
|
|
570
|
+
* heuristic chunker. Per-file warnings would say so 30,000 times and drown the
|
|
571
|
+
* log; saying nothing is how a half-broken install looks healthy. One startup
|
|
572
|
+
* line naming the vendored grammars, and a WARNING when an artifact is missing,
|
|
573
|
+
* is the whole contract.
|
|
574
|
+
*
|
|
575
|
+
* Deliberately a `statSync` of the artifacts (`astArtifactReport`) and not a
|
|
576
|
+
* load of them (`astCapabilityReport`). Loading all 18 to print this line costs
|
|
577
|
+
* ~690 ms and ~75 MB of RSS that is never returned — web-tree-sitter exposes no
|
|
578
|
+
* `Language.delete` — which is a permanent tax on a daemon watching a pure
|
|
579
|
+
* TypeScript repo, paid to pre-answer a question about seventeen languages it
|
|
580
|
+
* will never see. Grammars load lazily instead, on the first file of a language,
|
|
581
|
+
* and the two failure modes only a load can detect (`wasm_load_failed`,
|
|
582
|
+
* `query_compile_failed`) are warned there, once per language, by the
|
|
583
|
+
* `grammar_unavailable` branch in `chunkFile`.
|
|
584
|
+
*
|
|
585
|
+
* Cheap to call repeatedly: this latches, and the report instantiates nothing.
|
|
586
|
+
*/
|
|
587
|
+
export function logAstCapabilityOnce() {
|
|
588
|
+
astCapabilityLog ??= (async () => {
|
|
589
|
+
const report = astArtifactReport();
|
|
590
|
+
const detail = {
|
|
591
|
+
grammars: report.vendored.length,
|
|
592
|
+
languages: report.vendored.join(' '),
|
|
593
|
+
};
|
|
594
|
+
if (report.missing.length > 0) {
|
|
595
|
+
logWarn('AST chunking: some vendored grammar artifacts are missing', {
|
|
596
|
+
...detail,
|
|
597
|
+
missing: report.missing.map((m) => `${m.id}(${m.reason}: ${m.detail})`).join('; '),
|
|
598
|
+
});
|
|
599
|
+
}
|
|
600
|
+
else {
|
|
601
|
+
logInfo('AST chunking ready (grammars load lazily, per language)', detail);
|
|
602
|
+
}
|
|
603
|
+
})();
|
|
604
|
+
return astCapabilityLog;
|
|
605
|
+
}
|
|
546
606
|
export class CodeScanner {
|
|
547
607
|
options;
|
|
548
608
|
/**
|
|
@@ -1012,12 +1072,130 @@ export class CodeScanner {
|
|
|
1012
1072
|
if (language === 'markdown') {
|
|
1013
1073
|
return this.chunkMarkdown(content, relativePath, stats.size);
|
|
1014
1074
|
}
|
|
1015
|
-
const structuredChunks = this.extractStructuredChunks(content, language);
|
|
1016
1075
|
const fileMetadata = {
|
|
1017
1076
|
fileName: filePath.split('/').pop() || '',
|
|
1018
1077
|
extension: extname(filePath),
|
|
1019
1078
|
size: stats.size,
|
|
1020
1079
|
};
|
|
1080
|
+
// AST first for the languages with a vendored grammar. `null` means "no
|
|
1081
|
+
// grammar for this" — the honest majority of the allowlist — and the
|
|
1082
|
+
// heuristic path below takes over with no log, because that is not a
|
|
1083
|
+
// degradation.
|
|
1084
|
+
const astLanguage = resolveAstLanguage(fileMetadata.extension, language);
|
|
1085
|
+
if (astLanguage) {
|
|
1086
|
+
const ast = await chunkWithAst(content, astLanguage, {
|
|
1087
|
+
maxParseBytes: this.options.maxAstParseBytes,
|
|
1088
|
+
});
|
|
1089
|
+
if ('chunks' in ast) {
|
|
1090
|
+
// A definition the chunker could not place reaches no chunk, so its
|
|
1091
|
+
// name reaches no index and a citation to it resolves as
|
|
1092
|
+
// `unresolved_symbol`. It cannot be emitted (two chunks over one line
|
|
1093
|
+
// range collide on the `filePath:startLine-endLine` staleness key), but
|
|
1094
|
+
// a scan that quietly loses symbols must not look like a healthy one.
|
|
1095
|
+
if (ast.droppedDefinitions > 0) {
|
|
1096
|
+
logWarn('AST chunker dropped definitions that share a line range', {
|
|
1097
|
+
filePath: relativePath,
|
|
1098
|
+
grammar: astLanguage,
|
|
1099
|
+
droppedDefinitions: ast.droppedDefinitions,
|
|
1100
|
+
});
|
|
1101
|
+
}
|
|
1102
|
+
// `errorNodes` is handed back precisely so this degradation is not
|
|
1103
|
+
// silent, and discarding it made it silent. One ERROR node can swallow
|
|
1104
|
+
// the rest of a file — `typeof import(...)` in a type argument does
|
|
1105
|
+
// exactly that to tree-sitter-typescript — after which no definition is
|
|
1106
|
+
// captured and the file arrives as one unnamed whole-file chunk. Naming
|
|
1107
|
+
// the file, the error count and how many definitions survived is what
|
|
1108
|
+
// makes that visible in a scan log.
|
|
1109
|
+
//
|
|
1110
|
+
// Deliberately NOT a fallback to the heuristic path: measured on the
|
|
1111
|
+
// real construct (tests/AgentInjectionDeliveryWiring.test.ts), the
|
|
1112
|
+
// heuristic path names nothing either (its name pattern needs a
|
|
1113
|
+
// leading `function`/`class`/`const`) AND covers less — it emitted 3
|
|
1114
|
+
// chunks starting at line 18 and dropped lines 1-17, because the
|
|
1115
|
+
// uncovered-region supplement only fires above 50 lines. Trading
|
|
1116
|
+
// total coverage for no gain is worse than one honest blob, so the
|
|
1117
|
+
// AST result stands and the log says so.
|
|
1118
|
+
if (ast.errorNodes > 0) {
|
|
1119
|
+
logWarn('AST parse errors; extents and symbol names degraded for this file', {
|
|
1120
|
+
filePath: relativePath,
|
|
1121
|
+
grammar: astLanguage,
|
|
1122
|
+
errorNodes: ast.errorNodes,
|
|
1123
|
+
definitions: ast.chunks.filter((chunk) => chunk.symbolKind).length,
|
|
1124
|
+
chunks: ast.chunks.length,
|
|
1125
|
+
});
|
|
1126
|
+
}
|
|
1127
|
+
// The wire cap (`scanChunkSchema` allows 500,000 chars) and the
|
|
1128
|
+
// embedding cap (8191 tokens per input) are both downstream of
|
|
1129
|
+
// `maxChunkSize`, and the AST chunker only bounds its uncovered spans:
|
|
1130
|
+
// a definition chunk is whatever the definition is. `boundAstChunks`
|
|
1131
|
+
// makes the cap unreachable by construction, or answers null when the
|
|
1132
|
+
// file cannot be bounded on line boundaries at all.
|
|
1133
|
+
const bounded = this.boundAstChunks(ast.chunks);
|
|
1134
|
+
if (bounded) {
|
|
1135
|
+
// Zero chunks here means the file has no non-whitespace line — the AST
|
|
1136
|
+
// chunker covers every other line by construction — so returning
|
|
1137
|
+
// nothing is the correct answer, not a lost file.
|
|
1138
|
+
return bounded.map(({ symbolName, symbolKind, signature, ...chunk }) => ({
|
|
1139
|
+
...chunk,
|
|
1140
|
+
filePath: relativePath,
|
|
1141
|
+
language,
|
|
1142
|
+
contentHash: this.hash(chunk.content),
|
|
1143
|
+
metadata: {
|
|
1144
|
+
...fileMetadata,
|
|
1145
|
+
...(signature ? { signature } : {}),
|
|
1146
|
+
...(symbolName ? { symbolName } : {}),
|
|
1147
|
+
...(symbolKind ? { symbolKind } : {}),
|
|
1148
|
+
},
|
|
1149
|
+
}));
|
|
1150
|
+
}
|
|
1151
|
+
// One line longer than `maxChunkSize` — a generated `*_pb2.py` carries
|
|
1152
|
+
// the whole serialized descriptor on one. Splitting it would have to
|
|
1153
|
+
// cut mid-line, and two chunks over one line range collide on the
|
|
1154
|
+
// `filePath:startLine-endLine` staleness key, so the whole file goes to
|
|
1155
|
+
// the heuristic chunker, which force-splits long lines by character
|
|
1156
|
+
// count. Loud, because a file that loses its symbol names must not look
|
|
1157
|
+
// like a healthy one.
|
|
1158
|
+
logWarn('AST chunk exceeds maxChunkSize on a single line; heuristic chunking instead', {
|
|
1159
|
+
filePath: relativePath,
|
|
1160
|
+
grammar: astLanguage,
|
|
1161
|
+
maxChunkSize: this.options.maxChunkSize,
|
|
1162
|
+
longestLine: content
|
|
1163
|
+
.split('\n')
|
|
1164
|
+
.reduce((longest, line) => Math.max(longest, line.length), 0),
|
|
1165
|
+
});
|
|
1166
|
+
}
|
|
1167
|
+
else if (ast.unsupported === 'grammar_unavailable') {
|
|
1168
|
+
// Process-global, not per file: `loadGrammar` caches its failures, so
|
|
1169
|
+
// every file of this language degrades for the same reason. Warned per
|
|
1170
|
+
// file, this printed 1,037 identical lines in one scan of this repo —
|
|
1171
|
+
// the log flood `logAstCapabilityOnce` exists to avoid. Once per
|
|
1172
|
+
// (reason, grammar); the file-specific reasons below stay per file.
|
|
1173
|
+
const key = `${ast.unsupported}:${astLanguage}`;
|
|
1174
|
+
if (!reportedGrammarFallbacks.has(key)) {
|
|
1175
|
+
reportedGrammarFallbacks.add(key);
|
|
1176
|
+
logWarn('AST chunking unavailable for a whole language; heuristic chunking instead', {
|
|
1177
|
+
grammar: astLanguage,
|
|
1178
|
+
reason: ast.unsupported,
|
|
1179
|
+
detail: ast.detail,
|
|
1180
|
+
firstFile: relativePath,
|
|
1181
|
+
note: 'logged once per grammar per process; every file of this language degrades',
|
|
1182
|
+
});
|
|
1183
|
+
}
|
|
1184
|
+
}
|
|
1185
|
+
else {
|
|
1186
|
+
// Not a silent no-op: name the file AND the reason, then degrade to the
|
|
1187
|
+
// heuristic path. A degraded scan indistinguishable from a healthy one
|
|
1188
|
+
// is the defect class this routing exists to avoid — and degrading to
|
|
1189
|
+
// zero chunks would delete the file from the index instead.
|
|
1190
|
+
logWarn('AST chunking unavailable; falling back to heuristic chunking', {
|
|
1191
|
+
filePath: relativePath,
|
|
1192
|
+
grammar: astLanguage,
|
|
1193
|
+
reason: ast.unsupported,
|
|
1194
|
+
detail: ast.detail,
|
|
1195
|
+
});
|
|
1196
|
+
}
|
|
1197
|
+
}
|
|
1198
|
+
const structuredChunks = this.extractStructuredChunks(content, language);
|
|
1021
1199
|
if (structuredChunks.length > 0) {
|
|
1022
1200
|
const mapped = structuredChunks.map(({ signature, symbolName, ...chunk }) => ({
|
|
1023
1201
|
...chunk,
|
|
@@ -1063,6 +1241,85 @@ export class CodeScanner {
|
|
|
1063
1241
|
return [];
|
|
1064
1242
|
}
|
|
1065
1243
|
}
|
|
1244
|
+
/**
|
|
1245
|
+
* Hold every AST chunk at or under `maxChunkSize`, or answer `null` when this
|
|
1246
|
+
* file cannot be held there on line boundaries.
|
|
1247
|
+
*
|
|
1248
|
+
* The AST chunker bounds only the spans it invents (`MAX_RAW_SPAN_CHARS`); a
|
|
1249
|
+
* chunk that came from a definition is exactly as big as the definition, and a
|
|
1250
|
+
* span that is one enormous line is left whole on purpose. Both used to reach
|
|
1251
|
+
* the wire verbatim, where `scanChunkSchema` caps content at 500,000 chars and
|
|
1252
|
+
* rejects the WHOLE push if any chunk is over — so one generated file stopped
|
|
1253
|
+
* all scanning for that push — and where anything past 8191 tokens is only
|
|
1254
|
+
* partially embedded.
|
|
1255
|
+
*
|
|
1256
|
+
* The invariants, all of which the split preserves:
|
|
1257
|
+
* - content stays verbatim contiguous source: `lines[startLine-1..endLine-1]`
|
|
1258
|
+
* joined by '\n', never a join of disjoint regions and never an elision;
|
|
1259
|
+
* - total coverage is unchanged: the pieces tile the original range, in order,
|
|
1260
|
+
* with no gap and no overlap;
|
|
1261
|
+
* - the definition's identity rides on the piece that carries its signature —
|
|
1262
|
+
* the first one — and the continuations are plain `raw` spans, because a
|
|
1263
|
+
* continuation is not the definition and must not claim its name.
|
|
1264
|
+
*
|
|
1265
|
+
* `null` (the caller degrades the whole file to the heuristic chunker) is
|
|
1266
|
+
* reserved for the one shape a line-boundary split cannot fix: a single line
|
|
1267
|
+
* longer than the cap, as every generated `*_pb2.py` has. Cutting mid-line
|
|
1268
|
+
* would give two chunks the same `filePath:startLine-endLine` staleness key,
|
|
1269
|
+
* which is the collision the chunker refuses everywhere else.
|
|
1270
|
+
*/
|
|
1271
|
+
boundAstChunks(chunks) {
|
|
1272
|
+
const max = this.options.maxChunkSize;
|
|
1273
|
+
if (chunks.every((chunk) => chunk.content.length <= max))
|
|
1274
|
+
return [...chunks];
|
|
1275
|
+
const bounded = [];
|
|
1276
|
+
for (const chunk of chunks) {
|
|
1277
|
+
if (chunk.content.length <= max) {
|
|
1278
|
+
bounded.push(chunk);
|
|
1279
|
+
continue;
|
|
1280
|
+
}
|
|
1281
|
+
// `content` is exactly `startLine..endLine` joined by '\n', so this split
|
|
1282
|
+
// recovers the file's own lines for that range.
|
|
1283
|
+
const lines = chunk.content.split('\n');
|
|
1284
|
+
if (lines.some((line) => line.length > max))
|
|
1285
|
+
return null;
|
|
1286
|
+
/** `from`/`to` are 0-based offsets into `lines`, inclusive. */
|
|
1287
|
+
const emit = (from, to) => {
|
|
1288
|
+
const content = lines.slice(from, to + 1).join('\n');
|
|
1289
|
+
// A piece of nothing but blank lines is owed no chunk (the chunker's own
|
|
1290
|
+
// rule) and `scanChunkSchema` requires content.min(1) anyway.
|
|
1291
|
+
if (content.trim() === '')
|
|
1292
|
+
return;
|
|
1293
|
+
const isFirst = from === 0;
|
|
1294
|
+
bounded.push({
|
|
1295
|
+
content,
|
|
1296
|
+
startLine: chunk.startLine + from,
|
|
1297
|
+
endLine: chunk.startLine + to,
|
|
1298
|
+
chunkType: isFirst ? chunk.chunkType : 'raw',
|
|
1299
|
+
...(isFirst && chunk.symbolName ? { symbolName: chunk.symbolName } : {}),
|
|
1300
|
+
...(isFirst && chunk.symbolKind ? { symbolKind: chunk.symbolKind } : {}),
|
|
1301
|
+
...(isFirst && chunk.signature ? { signature: chunk.signature } : {}),
|
|
1302
|
+
});
|
|
1303
|
+
};
|
|
1304
|
+
let pieceStart = 0;
|
|
1305
|
+
let pieceLength = 0;
|
|
1306
|
+
for (let i = 0; i < lines.length; i++) {
|
|
1307
|
+
const lineLength = (lines[i] ?? '').length;
|
|
1308
|
+
// The '\n' the join will put back is part of what has to fit.
|
|
1309
|
+
const withLine = i === pieceStart ? lineLength : pieceLength + 1 + lineLength;
|
|
1310
|
+
if (i > pieceStart && withLine > max) {
|
|
1311
|
+
emit(pieceStart, i - 1);
|
|
1312
|
+
pieceStart = i;
|
|
1313
|
+
pieceLength = lineLength;
|
|
1314
|
+
}
|
|
1315
|
+
else {
|
|
1316
|
+
pieceLength = withLine;
|
|
1317
|
+
}
|
|
1318
|
+
}
|
|
1319
|
+
emit(pieceStart, lines.length - 1);
|
|
1320
|
+
}
|
|
1321
|
+
return bounded;
|
|
1322
|
+
}
|
|
1066
1323
|
/**
|
|
1067
1324
|
* Detect language from file extension
|
|
1068
1325
|
*/
|
package/dist/codeScanner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeScanner.js","sourceRoot":"","sources":["../src/codeScanner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codeScanner.js","sourceRoot":"","sources":["../src/codeScanner.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export { MCP_INSTRUCTIONS, MCP_INSTRUCTIONS_RAW, getMcpInstructions } from './instructions.js';
|
|
8
8
|
export { USAGE_GUIDE } from './usageGuide.js';
|
|
9
|
-
export { CodeScanner, MAX_SCANNED_FILE_BYTES, AUTHORITY_FILE_MATCHERS, BUILT_IN_IGNORE_DIRS, DEFAULT_INCLUDE_EXTENSIONS, languageForExtension, makeIgnoreMatcher, isGitBoundary, FIXTURE_PATH_RE, isFixturePath, isSecretFile, isAuthorityOnlyPath, type CodeChunk, type ScanOptions, } from './codeScanner.js';
|
|
9
|
+
export { CodeScanner, MAX_SCANNED_FILE_BYTES, AUTHORITY_FILE_MATCHERS, BUILT_IN_IGNORE_DIRS, DEFAULT_INCLUDE_EXTENSIONS, languageForExtension, makeIgnoreMatcher, isGitBoundary, FIXTURE_PATH_RE, isFixturePath, isSecretFile, isAuthorityOnlyPath, logAstCapabilityOnce, type CodeChunk, type ScanOptions, } from './codeScanner.js';
|
|
10
|
+
export { AST_LANGUAGE_IDS, QUERY_CHAIN, VENDORED_ARTIFACT_DIR, astArtifactReport, astCapabilityReport, grammarArtifactBasename, loadGrammar, loadedGrammarIds, resolveAstLanguage, type AstLanguageId, type GrammarBinding, type GrammarLoad, type GrammarUnavailableReason, } from './ast/grammars.js';
|
|
11
|
+
export { MAX_AST_PARSE_BYTES, chunkWithAst, type AstChunk, type AstChunkResult, } from './ast/astChunker.js';
|
|
10
12
|
export { SECRET_PATTERNS, SECRET_REDACTION_PLACEHOLDER, scrubSecrets, redactHighEntropyTokens, } from './secretPatterns.js';
|
|
11
13
|
export { FETCH_TIMEOUT_MS, TELEMETRY_TIMEOUT_MS, POST_TOOL_TIMEOUT_MS, MCP_PRECHECK_TIMEOUT_MS, withHookTimeout, } from './hookTimeouts.js';
|
|
12
14
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,KAAK,SAAS,EACd,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,eAAe,EACf,4BAA4B,EAC5B,YAAY,EACZ,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,GAChB,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,SAAS,EACd,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,wBAAwB,GAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,KAAK,QAAQ,EACb,KAAK,cAAc,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,4BAA4B,EAC5B,YAAY,EACZ,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,GAChB,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export { MCP_INSTRUCTIONS, MCP_INSTRUCTIONS_RAW, getMcpInstructions } from './instructions.js';
|
|
8
8
|
export { USAGE_GUIDE } from './usageGuide.js';
|
|
9
|
-
export { CodeScanner, MAX_SCANNED_FILE_BYTES, AUTHORITY_FILE_MATCHERS, BUILT_IN_IGNORE_DIRS, DEFAULT_INCLUDE_EXTENSIONS, languageForExtension, makeIgnoreMatcher, isGitBoundary, FIXTURE_PATH_RE, isFixturePath, isSecretFile, isAuthorityOnlyPath, } from './codeScanner.js';
|
|
9
|
+
export { CodeScanner, MAX_SCANNED_FILE_BYTES, AUTHORITY_FILE_MATCHERS, BUILT_IN_IGNORE_DIRS, DEFAULT_INCLUDE_EXTENSIONS, languageForExtension, makeIgnoreMatcher, isGitBoundary, FIXTURE_PATH_RE, isFixturePath, isSecretFile, isAuthorityOnlyPath, logAstCapabilityOnce, } from './codeScanner.js';
|
|
10
|
+
export { AST_LANGUAGE_IDS, QUERY_CHAIN, VENDORED_ARTIFACT_DIR, astArtifactReport, astCapabilityReport, grammarArtifactBasename, loadGrammar, loadedGrammarIds, resolveAstLanguage, } from './ast/grammars.js';
|
|
11
|
+
export { MAX_AST_PARSE_BYTES, chunkWithAst, } from './ast/astChunker.js';
|
|
10
12
|
export { SECRET_PATTERNS, SECRET_REDACTION_PLACEHOLDER, scrubSecrets, redactHighEntropyTokens, } from './secretPatterns.js';
|
|
11
13
|
export { FETCH_TIMEOUT_MS, TELEMETRY_TIMEOUT_MS, POST_TOOL_TIMEOUT_MS, MCP_PRECHECK_TIMEOUT_MS, withHookTimeout, } from './hookTimeouts.js';
|
|
12
14
|
//# sourceMappingURL=index.js.map
|