@zvec/zvec-grep 0.1.3 → 0.1.5
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/README.md +127 -42
- package/README_CN.md +124 -42
- package/dist/cli/args.d.ts +3 -0
- package/dist/cli/args.js +490 -192
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/commands.d.ts +3 -1
- package/dist/cli/commands.js +590 -56
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/errors.js +6 -5
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/format/context.js +33 -29
- package/dist/cli/format/context.js.map +1 -1
- package/dist/cli/format/debug.js +12 -14
- package/dist/cli/format/debug.js.map +1 -1
- package/dist/cli/format/highlight.js.map +1 -1
- package/dist/cli/format/progress.js +8 -3
- package/dist/cli/format/progress.js.map +1 -1
- package/dist/cli/format/range.js.map +1 -1
- package/dist/cli/format/status.js +88 -26
- package/dist/cli/format/status.js.map +1 -1
- package/dist/cli/help.d.ts +1 -1
- package/dist/cli/help.js +170 -85
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/index.js +4 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mcp.d.ts +2 -0
- package/dist/cli/mcp.js +354 -0
- package/dist/cli/mcp.js.map +1 -0
- package/dist/cli/types.d.ts +22 -9
- package/dist/cli/types.js.map +1 -1
- package/dist/cli/version.js +3 -1
- package/dist/cli/version.js.map +1 -1
- package/dist/engine/collection/index.js +15 -15
- package/dist/engine/collection/index.js.map +1 -1
- package/dist/engine/config.d.ts +28 -0
- package/dist/engine/config.js +195 -0
- package/dist/engine/config.js.map +1 -0
- package/dist/engine/errors/details.js.map +1 -1
- package/dist/engine/errors/index.js.map +1 -1
- package/dist/engine/extraction/code/adapter.js.map +1 -1
- package/dist/engine/extraction/code/extractor.js +87 -73
- package/dist/engine/extraction/code/extractor.js.map +1 -1
- package/dist/engine/extraction/code/families/c-family.js +12 -6
- package/dist/engine/extraction/code/families/c-family.js.map +1 -1
- package/dist/engine/extraction/code/families/js-ts.js +24 -18
- package/dist/engine/extraction/code/families/js-ts.js.map +1 -1
- package/dist/engine/extraction/code/families/metadata.js +11 -8
- package/dist/engine/extraction/code/families/metadata.js.map +1 -1
- package/dist/engine/extraction/code/families/name-field.js +5 -5
- package/dist/engine/extraction/code/families/name-field.js.map +1 -1
- package/dist/engine/extraction/code/languages/c.js +1 -4
- package/dist/engine/extraction/code/languages/c.js.map +1 -1
- package/dist/engine/extraction/code/languages/cpp.js.map +1 -1
- package/dist/engine/extraction/code/languages/go.js +1 -3
- package/dist/engine/extraction/code/languages/go.js.map +1 -1
- package/dist/engine/extraction/code/languages/java.js.map +1 -1
- package/dist/engine/extraction/code/languages/javascript.js +1 -3
- package/dist/engine/extraction/code/languages/javascript.js.map +1 -1
- package/dist/engine/extraction/code/languages/python.js +5 -6
- package/dist/engine/extraction/code/languages/python.js.map +1 -1
- package/dist/engine/extraction/code/languages/rust.js +1 -5
- package/dist/engine/extraction/code/languages/rust.js.map +1 -1
- package/dist/engine/extraction/code/languages/typescript.js.map +1 -1
- package/dist/engine/extraction/ids.js.map +1 -1
- package/dist/engine/extraction/index.js +3 -3
- package/dist/engine/extraction/index.js.map +1 -1
- package/dist/engine/extraction/markdown/extractor.js +4 -2
- package/dist/engine/extraction/markdown/extractor.js.map +1 -1
- package/dist/engine/extraction/tree-sitter/grammar.js.map +1 -1
- package/dist/engine/extraction/tree-sitter/nodes.js +2 -1
- package/dist/engine/extraction/tree-sitter/nodes.js.map +1 -1
- package/dist/engine/extraction/tree-sitter/parser.js.map +1 -1
- package/dist/engine/files/file-type.js.map +1 -1
- package/dist/engine/models/catalog.js +7 -23
- package/dist/engine/models/catalog.js.map +1 -1
- package/dist/engine/models/embeddings.js +3 -3
- package/dist/engine/models/embeddings.js.map +1 -1
- package/dist/engine/models/factory.js.map +1 -1
- package/dist/engine/models/index.d.ts +1 -1
- package/dist/engine/models/index.js.map +1 -1
- package/dist/engine/models/providers/index.d.ts +1 -1
- package/dist/engine/models/providers/index.js +1 -1
- package/dist/engine/models/providers/index.js.map +1 -1
- package/dist/engine/models/providers/llama-cpp/embedding.js +49 -18
- package/dist/engine/models/providers/llama-cpp/embedding.js.map +1 -1
- package/dist/engine/models/providers/qwen/embedding.js +16 -11
- package/dist/engine/models/providers/qwen/embedding.js.map +1 -1
- package/dist/engine/models/providers/qwen/index.d.ts +1 -1
- package/dist/engine/models/providers/qwen/index.js +1 -1
- package/dist/engine/models/providers/qwen/index.js.map +1 -1
- package/dist/engine/pipeline/indexing/index.js +46 -33
- package/dist/engine/pipeline/indexing/index.js.map +1 -1
- package/dist/engine/pipeline/indexing/root-paths.js +10 -13
- package/dist/engine/pipeline/indexing/root-paths.js.map +1 -1
- package/dist/engine/pipeline/indexing/scanner/index.js +121 -46
- package/dist/engine/pipeline/indexing/scanner/index.js.map +1 -1
- package/dist/engine/pipeline/search/index.js +68 -24
- package/dist/engine/pipeline/search/index.js.map +1 -1
- package/dist/engine/service/index.d.ts +1 -1
- package/dist/engine/service/lexical.d.ts +14 -15
- package/dist/engine/service/lexical.js +78 -114
- package/dist/engine/service/lexical.js.map +1 -1
- package/dist/engine/service/root.js +2 -2
- package/dist/engine/service/root.js.map +1 -1
- package/dist/engine/service/structure-enrichment.js +17 -11
- package/dist/engine/service/structure-enrichment.js.map +1 -1
- package/dist/engine/service/types.d.ts +39 -8
- package/dist/engine/service/zvec-grep.js +303 -160
- package/dist/engine/service/zvec-grep.js.map +1 -1
- package/dist/engine/storage/index.js.map +1 -1
- package/dist/engine/storage/zvec.js +49 -28
- package/dist/engine/storage/zvec.js.map +1 -1
- package/dist/engine/types.d.ts +14 -0
- package/dist/engine/types.js.map +1 -1
- package/dist/engine/utils/file-selection.d.ts +10 -0
- package/dist/engine/utils/file-selection.js +120 -0
- package/dist/engine/utils/file-selection.js.map +1 -0
- package/dist/engine/utils/glob.d.ts +3 -0
- package/dist/engine/utils/glob.js +116 -18
- package/dist/engine/utils/glob.js.map +1 -1
- package/dist/engine/utils/hash.js.map +1 -1
- package/dist/engine/utils/json.d.ts +6 -2
- package/dist/engine/utils/json.js +50 -12
- package/dist/engine/utils/json.js.map +1 -1
- package/dist/engine/utils/lock.js +6 -6
- package/dist/engine/utils/lock.js.map +1 -1
- package/dist/engine/utils/path.js +2 -2
- package/dist/engine/utils/path.js.map +1 -1
- package/dist/engine/utils/timing.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +34 -7
- package/skills/zvec-grep/SKILL.md +58 -48
- package/skills/zvec-grep/agents/openai.yaml +1 -1
|
@@ -1,21 +1,27 @@
|
|
|
1
|
-
import { open, readFile, readdir, stat } from "node:fs/promises";
|
|
2
|
-
import { basename, join, relative } from "node:path";
|
|
1
|
+
import { open, readFile, readdir, realpath, stat } from "node:fs/promises";
|
|
2
|
+
import { basename, isAbsolute, join, relative, resolve } from "node:path";
|
|
3
3
|
import { detectFileType } from "../../../files/file-type.js";
|
|
4
4
|
import { sha256Text } from "../../../utils/hash.js";
|
|
5
|
+
import { matchesFileSelection, resolveFileTypePatterns, } from "../../../utils/file-selection.js";
|
|
5
6
|
import { normalizePathPattern, pathPatternMatches, pathPatternMightMatchDescendant, } from "../../../utils/glob.js";
|
|
6
7
|
import { normalizePath, toDisplayPath } from "../../../utils/path.js";
|
|
7
|
-
import { matchesRootExcludePatterns,
|
|
8
|
+
import { matchesRootExcludePatterns, matchesRootPatterns, normalizeRootPath, validateRootPaths, } from "../root-paths.js";
|
|
8
9
|
const DEFAULT_MAX_FILE_SIZE_BYTES = 1 * 1024 * 1024;
|
|
9
10
|
const BINARY_SNIFF_BYTES = 8192;
|
|
10
|
-
const BINARY_CONTROL_CHAR_RATIO = 0.
|
|
11
|
+
const BINARY_CONTROL_CHAR_RATIO = 0.3;
|
|
11
12
|
const DEFAULT_IGNORED_DIRECTORY_NAMES = [
|
|
12
13
|
"node_modules",
|
|
13
14
|
"vendor",
|
|
15
|
+
"thirdparty",
|
|
16
|
+
"third_party",
|
|
17
|
+
"external",
|
|
18
|
+
"deps",
|
|
14
19
|
"dist",
|
|
15
20
|
"build",
|
|
16
21
|
"out",
|
|
17
22
|
"target",
|
|
18
23
|
"coverage",
|
|
24
|
+
"generated",
|
|
19
25
|
"__pycache__",
|
|
20
26
|
"venv",
|
|
21
27
|
".venv",
|
|
@@ -38,10 +44,7 @@ const DEFAULT_IGNORED_DIRECTORY_NAMES = [
|
|
|
38
44
|
"temp",
|
|
39
45
|
"logs",
|
|
40
46
|
];
|
|
41
|
-
const HARD_SKIP_HIDDEN_NAMES = new Set([
|
|
42
|
-
".git",
|
|
43
|
-
".zvec-grep",
|
|
44
|
-
]);
|
|
47
|
+
const HARD_SKIP_HIDDEN_NAMES = new Set([".git", ".zvec-grep"]);
|
|
45
48
|
const DEFAULT_IGNORE_RULES = DEFAULT_IGNORED_DIRECTORY_NAMES.map((pattern) => ({
|
|
46
49
|
basePath: "",
|
|
47
50
|
pattern,
|
|
@@ -60,12 +63,16 @@ export async function scanRootPaths(collectionId, rootPaths) {
|
|
|
60
63
|
}
|
|
61
64
|
async function scanRootPath(collectionId, rootPath, files) {
|
|
62
65
|
const root = normalizeRootPath(rootPath);
|
|
66
|
+
const fileTypes = await resolveFileTypePatterns(root.fileTypes, root.excludedFileTypes);
|
|
63
67
|
const info = await stat(root.absolutePath).catch(() => null);
|
|
64
68
|
if (!info) {
|
|
65
69
|
return;
|
|
66
70
|
}
|
|
67
71
|
if (info.isFile()) {
|
|
68
|
-
const
|
|
72
|
+
const relativePath = basename(root.absolutePath);
|
|
73
|
+
const file = matchesFileSelection(relativePath, root, fileTypes)
|
|
74
|
+
? await readFileInfo(collectionId, root, root.absolutePath)
|
|
75
|
+
: null;
|
|
69
76
|
if (file) {
|
|
70
77
|
files.push(file);
|
|
71
78
|
}
|
|
@@ -77,13 +84,19 @@ async function scanRootPath(collectionId, rootPath, files) {
|
|
|
77
84
|
if (HARD_SKIP_HIDDEN_NAMES.has(basename(root.absolutePath))) {
|
|
78
85
|
return;
|
|
79
86
|
}
|
|
80
|
-
await
|
|
87
|
+
const rootRealPath = await realpath(root.absolutePath).catch(() => root.absolutePath);
|
|
88
|
+
await walk(collectionId, root, root.absolutePath, files, [
|
|
89
|
+
...(root.noIgnore ? [] : DEFAULT_IGNORE_RULES),
|
|
90
|
+
...(await readConfiguredIgnoreRules(root)),
|
|
91
|
+
], fileTypes, new Set([rootRealPath]), 0);
|
|
81
92
|
}
|
|
82
|
-
async function walk(collectionId, rootPath, currentPath, files, parentIgnoreRules) {
|
|
93
|
+
async function walk(collectionId, rootPath, currentPath, files, parentIgnoreRules, fileTypes, visitedDirectories, depth) {
|
|
83
94
|
let entries;
|
|
84
95
|
const ignoreRules = [
|
|
85
96
|
...parentIgnoreRules,
|
|
86
|
-
...
|
|
97
|
+
...(rootPath.noIgnore
|
|
98
|
+
? []
|
|
99
|
+
: await readGitIgnoreRules(rootPath, currentPath)),
|
|
87
100
|
];
|
|
88
101
|
try {
|
|
89
102
|
entries = await readdir(currentPath, { withFileTypes: true });
|
|
@@ -94,33 +107,63 @@ async function walk(collectionId, rootPath, currentPath, files, parentIgnoreRule
|
|
|
94
107
|
for (const entry of entries) {
|
|
95
108
|
const absolutePath = join(currentPath, entry.name);
|
|
96
109
|
const relativePath = toDisplayPath(relative(rootPath.absolutePath, absolutePath));
|
|
97
|
-
|
|
110
|
+
let isDirectory = entry.isDirectory();
|
|
111
|
+
let isFile = entry.isFile();
|
|
112
|
+
if (entry.isSymbolicLink() && rootPath.follow) {
|
|
113
|
+
const target = await stat(absolutePath).catch(() => null);
|
|
114
|
+
isDirectory = target?.isDirectory() === true;
|
|
115
|
+
isFile = target?.isFile() === true;
|
|
116
|
+
}
|
|
117
|
+
if (isDirectory) {
|
|
98
118
|
if (!rootPath.recursive) {
|
|
99
119
|
continue;
|
|
100
120
|
}
|
|
121
|
+
if (rootPath.maxDepth !== undefined && depth + 1 >= rootPath.maxDepth) {
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
101
124
|
const ignoreMatch = matchIgnoreRules(relativePath, true, ignoreRules);
|
|
102
|
-
if (HARD_SKIP_HIDDEN_NAMES.has(entry.name)
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
125
|
+
if (HARD_SKIP_HIDDEN_NAMES.has(entry.name) ||
|
|
126
|
+
matchesRootExcludePatterns(relativePath, rootPath) ||
|
|
127
|
+
(ignoreMatch.ignored &&
|
|
128
|
+
!ignoredPathExplicitlyIncluded(relativePath, rootPath, ignoreMatch)) ||
|
|
129
|
+
shouldSkipHiddenDirectory(entry.name, relativePath, rootPath)) {
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
if ((await isNestedGitRepositoryDirectory(absolutePath)) &&
|
|
133
|
+
!nestedGitRepositoryExplicitlyIncluded(relativePath, rootPath)) {
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
const realDirectory = await realpath(absolutePath).catch(() => null);
|
|
137
|
+
if (!realDirectory || visitedDirectories.has(realDirectory)) {
|
|
106
138
|
continue;
|
|
107
139
|
}
|
|
108
|
-
|
|
140
|
+
visitedDirectories.add(realDirectory);
|
|
141
|
+
await walk(collectionId, rootPath, absolutePath, files, ignoreRules, fileTypes, visitedDirectories, depth + 1);
|
|
109
142
|
continue;
|
|
110
143
|
}
|
|
111
|
-
if (!
|
|
144
|
+
if (!isFile) {
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
if (rootPath.maxDepth !== undefined && depth + 1 > rootPath.maxDepth) {
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
if (HARD_SKIP_HIDDEN_NAMES.has(entry.name)) {
|
|
112
151
|
continue;
|
|
113
152
|
}
|
|
114
153
|
const ignoreMatch = matchIgnoreRules(relativePath, false, ignoreRules);
|
|
115
|
-
if (ignoreMatch.ignored &&
|
|
154
|
+
if (ignoreMatch.ignored &&
|
|
155
|
+
!ignoredPathExplicitlyIncluded(relativePath, rootPath, ignoreMatch)) {
|
|
116
156
|
continue;
|
|
117
157
|
}
|
|
118
|
-
if (shouldSkipHiddenFile(entry.name, relativePath, rootPath
|
|
158
|
+
if (shouldSkipHiddenFile(entry.name, relativePath, rootPath)) {
|
|
119
159
|
continue;
|
|
120
160
|
}
|
|
121
161
|
if (!matchesRootPatterns(relativePath, rootPath)) {
|
|
122
162
|
continue;
|
|
123
163
|
}
|
|
164
|
+
if (!matchesFileSelection(relativePath, rootPath, fileTypes)) {
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
124
167
|
const file = await readFileInfo(collectionId, rootPath, absolutePath);
|
|
125
168
|
if (file) {
|
|
126
169
|
files.push(file);
|
|
@@ -138,6 +181,17 @@ async function readGitIgnoreRules(rootPath, currentPath) {
|
|
|
138
181
|
const basePath = toDisplayPath(relative(rootPath.absolutePath, currentPath));
|
|
139
182
|
return parseGitIgnoreRules(content, basePath);
|
|
140
183
|
}
|
|
184
|
+
async function readConfiguredIgnoreRules(rootPath) {
|
|
185
|
+
const rules = [];
|
|
186
|
+
for (const path of rootPath.ignoreFiles ?? []) {
|
|
187
|
+
const absolutePath = isAbsolute(path)
|
|
188
|
+
? path
|
|
189
|
+
: resolve(rootPath.absolutePath, path);
|
|
190
|
+
const content = await readFile(absolutePath, "utf8");
|
|
191
|
+
rules.push(...parseGitIgnoreRules(content, ""));
|
|
192
|
+
}
|
|
193
|
+
return rules;
|
|
194
|
+
}
|
|
141
195
|
function parseGitIgnoreRules(content, basePath) {
|
|
142
196
|
const rules = [];
|
|
143
197
|
for (const rawLine of content.split(/\r?\n/)) {
|
|
@@ -209,11 +263,13 @@ function includePatternNamesIgnoredPath(includePattern, relativePath, ignoredPat
|
|
|
209
263
|
const normalizedInclude = normalizePathPattern(includePattern);
|
|
210
264
|
const normalizedRelativePath = normalizePathPattern(relativePath);
|
|
211
265
|
const ignoredSegments = ignoredPattern.split("/");
|
|
212
|
-
if (!pathPatternMightMatchDescendant(normalizedInclude, normalizedRelativePath)
|
|
213
|
-
|
|
266
|
+
if (!pathPatternMightMatchDescendant(normalizedInclude, normalizedRelativePath) &&
|
|
267
|
+
!pathPatternMatches(normalizedInclude, normalizedRelativePath)) {
|
|
214
268
|
return false;
|
|
215
269
|
}
|
|
216
|
-
return normalizedInclude
|
|
270
|
+
return normalizedInclude
|
|
271
|
+
.split("/")
|
|
272
|
+
.some((segment) => ignoredSegments.some((ignoredSegment) => includeSegmentNamesIgnoredPath(segment, ignoredSegment)));
|
|
217
273
|
}
|
|
218
274
|
function includeSegmentNamesIgnoredPath(segment, ignoredSegment) {
|
|
219
275
|
if (segment === "*" || segment === "**" || segment === "?") {
|
|
@@ -258,28 +314,45 @@ function pathContainsMatchingSegment(path, pattern) {
|
|
|
258
314
|
function segmentMatches(pattern, segment) {
|
|
259
315
|
return pathPatternMatches(pattern, segment);
|
|
260
316
|
}
|
|
261
|
-
function shouldSkipHiddenDirectory(name, relativePath, rootPath
|
|
262
|
-
if (!isHiddenName(name)) {
|
|
317
|
+
function shouldSkipHiddenDirectory(name, relativePath, rootPath) {
|
|
318
|
+
if (!isHiddenName(name) || rootPath.hidden) {
|
|
263
319
|
return false;
|
|
264
320
|
}
|
|
265
|
-
|
|
321
|
+
return !hasIncludeDescendant(relativePath, rootPath.include);
|
|
322
|
+
}
|
|
323
|
+
function shouldSkipHiddenFile(name, relativePath, rootPath) {
|
|
324
|
+
return (isHiddenName(name) &&
|
|
325
|
+
!rootPath.hidden &&
|
|
326
|
+
!hasExplicitHiddenFileInclude(relativePath, rootPath.include));
|
|
327
|
+
}
|
|
328
|
+
async function isNestedGitRepositoryDirectory(absolutePath) {
|
|
329
|
+
const marker = await stat(join(absolutePath, ".git")).catch(() => null);
|
|
330
|
+
return marker !== null && (marker.isFile() || marker.isDirectory());
|
|
331
|
+
}
|
|
332
|
+
function nestedGitRepositoryExplicitlyIncluded(relativePath, rootPath) {
|
|
333
|
+
if (!rootPath.include || rootPath.include.length === 0) {
|
|
266
334
|
return false;
|
|
267
335
|
}
|
|
268
|
-
|
|
269
|
-
|
|
336
|
+
const normalizedRelativePath = normalizePathPattern(relativePath);
|
|
337
|
+
return rootPath.include.some((pattern) => {
|
|
338
|
+
const normalizedPattern = normalizePathPattern(pattern);
|
|
339
|
+
return (pathPatternMatches(normalizedPattern, normalizedRelativePath) ||
|
|
340
|
+
normalizedPattern.startsWith(`${normalizedRelativePath}/`));
|
|
341
|
+
});
|
|
270
342
|
}
|
|
271
|
-
function
|
|
272
|
-
if (
|
|
343
|
+
function hasIncludeDescendant(relativePath, includePatterns) {
|
|
344
|
+
if (!includePatterns || includePatterns.length === 0) {
|
|
273
345
|
return false;
|
|
274
346
|
}
|
|
275
|
-
return
|
|
347
|
+
return includePatterns.some((pattern) => includePatternDeclaresHiddenDirectory(pattern, relativePath) &&
|
|
348
|
+
pathPatternMightMatchDescendant(pattern, relativePath));
|
|
276
349
|
}
|
|
277
|
-
function
|
|
350
|
+
function hasExplicitHiddenFileInclude(relativePath, includePatterns) {
|
|
278
351
|
if (!includePatterns || includePatterns.length === 0) {
|
|
279
352
|
return false;
|
|
280
353
|
}
|
|
281
|
-
return includePatterns.some((pattern) => includePatternDeclaresHiddenDirectory(pattern, relativePath)
|
|
282
|
-
|
|
354
|
+
return includePatterns.some((pattern) => includePatternDeclaresHiddenDirectory(pattern, relativePath) &&
|
|
355
|
+
pathPatternMatches(pattern, relativePath));
|
|
283
356
|
}
|
|
284
357
|
function includePatternDeclaresHiddenDirectory(pattern, relativePath) {
|
|
285
358
|
const name = basename(relativePath);
|
|
@@ -322,21 +395,23 @@ async function readFileInfo(collectionId, rootPath, absolutePath) {
|
|
|
322
395
|
if (!info || !info.isFile()) {
|
|
323
396
|
return null;
|
|
324
397
|
}
|
|
325
|
-
|
|
398
|
+
const maxFileSize = rootPath.maxFileSizeBytes ?? DEFAULT_MAX_FILE_SIZE_BYTES;
|
|
399
|
+
if (info.size === 0 || info.size > maxFileSize) {
|
|
326
400
|
return null;
|
|
327
401
|
}
|
|
328
402
|
const detected = detectFileType(absolutePath);
|
|
329
403
|
if (!detected) {
|
|
330
404
|
return null;
|
|
331
405
|
}
|
|
332
|
-
if (detected.kind !== "image" && await isLikelyBinaryFile(absolutePath)) {
|
|
406
|
+
if (detected.kind !== "image" && (await isLikelyBinaryFile(absolutePath))) {
|
|
333
407
|
return null;
|
|
334
408
|
}
|
|
335
409
|
return {
|
|
336
410
|
id: makeFileId(collectionId, absolutePath),
|
|
337
411
|
collectionId,
|
|
338
412
|
absolutePath,
|
|
339
|
-
relativePath: toDisplayPath(relative(rootPath.absolutePath, absolutePath))
|
|
413
|
+
relativePath: toDisplayPath(relative(rootPath.absolutePath, absolutePath)) ||
|
|
414
|
+
basename(absolutePath),
|
|
340
415
|
rootPath: rootPath.absolutePath,
|
|
341
416
|
sizeBytes: info.size,
|
|
342
417
|
lastModifiedTime: info.mtimeMs,
|
|
@@ -373,14 +448,14 @@ async function isLikelyBinaryFile(path) {
|
|
|
373
448
|
}
|
|
374
449
|
}
|
|
375
450
|
function isSuspiciousControlByte(value) {
|
|
376
|
-
return value < 32
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
451
|
+
return (value < 32 &&
|
|
452
|
+
value !== 7 &&
|
|
453
|
+
value !== 8 &&
|
|
454
|
+
value !== 9 &&
|
|
455
|
+
value !== 10 &&
|
|
456
|
+
value !== 12 &&
|
|
457
|
+
value !== 13 &&
|
|
458
|
+
value !== 27);
|
|
384
459
|
}
|
|
385
460
|
function makeFileId(collectionId, absolutePath) {
|
|
386
461
|
return sha256Text(`${collectionId}\0${normalizePath(absolutePath)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/engine/pipeline/indexing/scanner/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/engine/pipeline/indexing/scanner/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { collectionDetail, detail, EngineError, errorDetails, } from "../../errors/index.js";
|
|
2
2
|
import { TimingCollector } from "../../utils/timing.js";
|
|
3
3
|
import { hasPathGlob, isAbsolutePathPattern, normalizePathForMatch, normalizePathPattern, pathPatternMatches, } from "../../utils/glob.js";
|
|
4
|
+
import { matchesFileSelection, resolveFileTypePatterns, } from "../../utils/file-selection.js";
|
|
4
5
|
const DEFAULT_LIMIT = 7;
|
|
5
6
|
const RRF_K = 60;
|
|
6
7
|
const RECALL_INITIAL_DEPTH = 200;
|
|
@@ -14,7 +15,8 @@ export async function searchPlanCollection(plan, ctx) {
|
|
|
14
15
|
const normalized = timings.timeSync("search_plan", () => validateSearchPlan(plan));
|
|
15
16
|
const limit = normalized.limit ?? DEFAULT_LIMIT;
|
|
16
17
|
const trace = normalized.trace === true || normalized.trackEntityId !== undefined;
|
|
17
|
-
const
|
|
18
|
+
const fileTypePatterns = await timings.time("search_file_types", () => resolveFileTypePatterns(normalized.fileTypes, normalized.excludedFileTypes));
|
|
19
|
+
const filter = timings.timeSync("search_filter", () => searchPlanToStorageFilter(normalized, ctx.storage, fileTypePatterns));
|
|
18
20
|
const hasSearchableFiles = !filterMatchesNoFiles(filter);
|
|
19
21
|
const candidates = new Map();
|
|
20
22
|
const vectorByRoute = hasSearchableFiles && planUsesVector(normalized)
|
|
@@ -132,9 +134,9 @@ function validateSearchPlan(plan) {
|
|
|
132
134
|
});
|
|
133
135
|
const modifiedAfter = normalizeModifiedTime(plan.modifiedAfter, "modifiedAfter");
|
|
134
136
|
const modifiedBefore = normalizeModifiedTime(plan.modifiedBefore, "modifiedBefore");
|
|
135
|
-
if (modifiedAfter !== undefined
|
|
136
|
-
|
|
137
|
-
|
|
137
|
+
if (modifiedAfter !== undefined &&
|
|
138
|
+
modifiedBefore !== undefined &&
|
|
139
|
+
modifiedAfter > modifiedBefore) {
|
|
138
140
|
throw new EngineError("Search plan modified-after filter must not be later than modified-before", {
|
|
139
141
|
code: "ZVEC_GREP.ENGINE.SEARCH_PLAN.INVALID_MODIFIED_TIME_RANGE",
|
|
140
142
|
context: `modifiedAfter=${modifiedAfter} modifiedBefore=${modifiedBefore}`,
|
|
@@ -145,6 +147,10 @@ function validateSearchPlan(plan) {
|
|
|
145
147
|
routes,
|
|
146
148
|
includePaths: normalizePathFilters(plan.includePaths, "includePaths"),
|
|
147
149
|
excludePaths: normalizePathFilters(plan.excludePaths, "excludePaths"),
|
|
150
|
+
globs: normalizeStringFilters(plan.globs, "globs"),
|
|
151
|
+
insensitiveGlobs: normalizeStringFilters(plan.insensitiveGlobs, "insensitiveGlobs"),
|
|
152
|
+
fileTypes: normalizeStringFilters(plan.fileTypes, "fileTypes"),
|
|
153
|
+
excludedFileTypes: normalizeStringFilters(plan.excludedFileTypes, "excludedFileTypes"),
|
|
148
154
|
modifiedAfter,
|
|
149
155
|
modifiedBefore,
|
|
150
156
|
};
|
|
@@ -200,6 +206,27 @@ function normalizePathFilters(value, field) {
|
|
|
200
206
|
}
|
|
201
207
|
return patterns.length > 0 ? patterns : undefined;
|
|
202
208
|
}
|
|
209
|
+
function normalizeStringFilters(value, field) {
|
|
210
|
+
if (value === undefined) {
|
|
211
|
+
return undefined;
|
|
212
|
+
}
|
|
213
|
+
if (!Array.isArray(value)) {
|
|
214
|
+
throw new EngineError("Search plan filters must be arrays", {
|
|
215
|
+
code: "ZVEC_GREP.ENGINE.SEARCH_PLAN.INVALID_FILTERS",
|
|
216
|
+
context: `field=${field}`,
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
const values = value.map((item, index) => {
|
|
220
|
+
if (typeof item !== "string" || !item.trim()) {
|
|
221
|
+
throw new EngineError("Search plan filters must contain strings", {
|
|
222
|
+
code: "ZVEC_GREP.ENGINE.SEARCH_PLAN.INVALID_FILTER",
|
|
223
|
+
context: `field=${field} index=${index}`,
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
return item.trim();
|
|
227
|
+
});
|
|
228
|
+
return values.length > 0 ? values : undefined;
|
|
229
|
+
}
|
|
203
230
|
function normalizeModifiedTime(value, field) {
|
|
204
231
|
if (value === undefined) {
|
|
205
232
|
return undefined;
|
|
@@ -285,9 +312,9 @@ function collectAdaptiveRecall(input) {
|
|
|
285
312
|
storage: input.storage,
|
|
286
313
|
candidates: input.candidates,
|
|
287
314
|
});
|
|
288
|
-
if (input.candidates.size >= targetCandidates
|
|
289
|
-
|
|
290
|
-
|
|
315
|
+
if (input.candidates.size >= targetCandidates ||
|
|
316
|
+
!saturated ||
|
|
317
|
+
depth >= RECALL_MAX_DEPTH) {
|
|
291
318
|
return depth;
|
|
292
319
|
}
|
|
293
320
|
previousDepth = depth;
|
|
@@ -379,9 +406,9 @@ function addOrUpdateRecall(candidate, recall) {
|
|
|
379
406
|
if (!recall.found) {
|
|
380
407
|
return;
|
|
381
408
|
}
|
|
382
|
-
if (!existing.found
|
|
383
|
-
|
|
384
|
-
|
|
409
|
+
if (!existing.found ||
|
|
410
|
+
existing.rank === undefined ||
|
|
411
|
+
(recall.rank !== undefined && recall.rank < existing.rank)) {
|
|
385
412
|
Object.assign(existing, recall, {
|
|
386
413
|
forced: existing.forced || recall.forced || undefined,
|
|
387
414
|
});
|
|
@@ -589,7 +616,9 @@ function searchTrackedEntityFts(input, route) {
|
|
|
589
616
|
if (groupHit) {
|
|
590
617
|
return groupHit;
|
|
591
618
|
}
|
|
592
|
-
return input.storage
|
|
619
|
+
return input.storage
|
|
620
|
+
.searchFts(route.query, input.recallDepth, restrictFilterToFile(input.filter, input.targetFileId))
|
|
621
|
+
.find((hit) => publicEntityId(hit.fragment) === input.entityId);
|
|
593
622
|
}
|
|
594
623
|
function searchTrackedEntityVector(input, vector) {
|
|
595
624
|
const [groupHit] = input.storage.searchVector(vector, 1, {
|
|
@@ -599,7 +628,9 @@ function searchTrackedEntityVector(input, vector) {
|
|
|
599
628
|
if (groupHit) {
|
|
600
629
|
return groupHit;
|
|
601
630
|
}
|
|
602
|
-
return input.storage
|
|
631
|
+
return input.storage
|
|
632
|
+
.searchVector(vector, input.recallDepth, restrictFilterToFile(input.filter, input.targetFileId))
|
|
633
|
+
.find((hit) => publicEntityId(hit.fragment) === input.entityId);
|
|
603
634
|
}
|
|
604
635
|
function restrictFilterToFile(filter, fileId) {
|
|
605
636
|
return {
|
|
@@ -607,13 +638,12 @@ function restrictFilterToFile(filter, fileId) {
|
|
|
607
638
|
fileIds: [fileId],
|
|
608
639
|
};
|
|
609
640
|
}
|
|
610
|
-
function searchPlanToStorageFilter(plan, storage) {
|
|
611
|
-
const fileIds = resolveFilteredFileIds(plan, storage.listFiles());
|
|
641
|
+
function searchPlanToStorageFilter(plan, storage, fileTypePatterns) {
|
|
642
|
+
const fileIds = resolveFilteredFileIds(plan, storage.listFiles(), fileTypePatterns);
|
|
612
643
|
const symbolTypes = plan.symbolTypes && plan.symbolTypes.length > 0
|
|
613
644
|
? plan.symbolTypes
|
|
614
645
|
: undefined;
|
|
615
|
-
if (fileIds === undefined
|
|
616
|
-
&& symbolTypes === undefined) {
|
|
646
|
+
if (fileIds === undefined && symbolTypes === undefined) {
|
|
617
647
|
return undefined;
|
|
618
648
|
}
|
|
619
649
|
return {
|
|
@@ -624,33 +654,47 @@ function searchPlanToStorageFilter(plan, storage) {
|
|
|
624
654
|
function filterMatchesNoFiles(filter) {
|
|
625
655
|
return filter?.fileIds !== undefined && filter.fileIds.length === 0;
|
|
626
656
|
}
|
|
627
|
-
function resolveFilteredFileIds(plan, files) {
|
|
657
|
+
function resolveFilteredFileIds(plan, files, fileTypePatterns) {
|
|
628
658
|
const includeMatchers = (plan.includePaths ?? []).map(compilePathFilter);
|
|
629
659
|
const excludeMatchers = (plan.excludePaths ?? []).map(compilePathFilter);
|
|
630
660
|
const hasModifiedFilter = plan.modifiedAfter !== undefined || plan.modifiedBefore !== undefined;
|
|
631
|
-
|
|
661
|
+
const hasSharedSelection = (plan.globs?.length ?? 0) > 0 ||
|
|
662
|
+
(plan.insensitiveGlobs?.length ?? 0) > 0 ||
|
|
663
|
+
fileTypePatterns.include.length > 0 ||
|
|
664
|
+
fileTypePatterns.exclude.length > 0;
|
|
665
|
+
if (includeMatchers.length === 0 &&
|
|
666
|
+
excludeMatchers.length === 0 &&
|
|
667
|
+
!hasModifiedFilter &&
|
|
668
|
+
!hasSharedSelection) {
|
|
632
669
|
return undefined;
|
|
633
670
|
}
|
|
634
671
|
return files
|
|
635
672
|
.filter((file) => {
|
|
636
|
-
const included = includeMatchers.length === 0
|
|
637
|
-
|
|
673
|
+
const included = includeMatchers.length === 0 ||
|
|
674
|
+
includeMatchers.some((matcher) => matcher(file));
|
|
638
675
|
const excluded = excludeMatchers.some((matcher) => matcher(file));
|
|
639
|
-
return included &&
|
|
676
|
+
return (included &&
|
|
677
|
+
!excluded &&
|
|
678
|
+
matchesFileSelection(file.relativePath, plan, fileTypePatterns) &&
|
|
679
|
+
matchesModifiedTimeFilter(file, plan));
|
|
640
680
|
})
|
|
641
681
|
.map((file) => file.id);
|
|
642
682
|
}
|
|
643
683
|
function matchesModifiedTimeFilter(file, plan) {
|
|
644
|
-
if (plan.modifiedAfter !== undefined &&
|
|
684
|
+
if (plan.modifiedAfter !== undefined &&
|
|
685
|
+
file.lastModifiedTime < plan.modifiedAfter) {
|
|
645
686
|
return false;
|
|
646
687
|
}
|
|
647
|
-
if (plan.modifiedBefore !== undefined &&
|
|
688
|
+
if (plan.modifiedBefore !== undefined &&
|
|
689
|
+
file.lastModifiedTime > plan.modifiedBefore) {
|
|
648
690
|
return false;
|
|
649
691
|
}
|
|
650
692
|
return true;
|
|
651
693
|
}
|
|
652
694
|
function compilePathFilter(pattern) {
|
|
653
|
-
const pathTarget = isAbsolutePathPattern(pattern)
|
|
695
|
+
const pathTarget = isAbsolutePathPattern(pattern)
|
|
696
|
+
? "absolutePath"
|
|
697
|
+
: "relativePath";
|
|
654
698
|
if (hasPathGlob(pattern)) {
|
|
655
699
|
return (file) => pathPatternMatches(pattern, normalizePathForMatch(file[pathTarget]));
|
|
656
700
|
}
|