@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.
Files changed (135) hide show
  1. package/README.md +127 -42
  2. package/README_CN.md +124 -42
  3. package/dist/cli/args.d.ts +3 -0
  4. package/dist/cli/args.js +490 -192
  5. package/dist/cli/args.js.map +1 -1
  6. package/dist/cli/commands.d.ts +3 -1
  7. package/dist/cli/commands.js +590 -56
  8. package/dist/cli/commands.js.map +1 -1
  9. package/dist/cli/errors.js +6 -5
  10. package/dist/cli/errors.js.map +1 -1
  11. package/dist/cli/format/context.js +33 -29
  12. package/dist/cli/format/context.js.map +1 -1
  13. package/dist/cli/format/debug.js +12 -14
  14. package/dist/cli/format/debug.js.map +1 -1
  15. package/dist/cli/format/highlight.js.map +1 -1
  16. package/dist/cli/format/progress.js +8 -3
  17. package/dist/cli/format/progress.js.map +1 -1
  18. package/dist/cli/format/range.js.map +1 -1
  19. package/dist/cli/format/status.js +88 -26
  20. package/dist/cli/format/status.js.map +1 -1
  21. package/dist/cli/help.d.ts +1 -1
  22. package/dist/cli/help.js +170 -85
  23. package/dist/cli/help.js.map +1 -1
  24. package/dist/cli/index.js +4 -4
  25. package/dist/cli/index.js.map +1 -1
  26. package/dist/cli/mcp.d.ts +2 -0
  27. package/dist/cli/mcp.js +354 -0
  28. package/dist/cli/mcp.js.map +1 -0
  29. package/dist/cli/types.d.ts +22 -9
  30. package/dist/cli/types.js.map +1 -1
  31. package/dist/cli/version.js +3 -1
  32. package/dist/cli/version.js.map +1 -1
  33. package/dist/engine/collection/index.js +15 -15
  34. package/dist/engine/collection/index.js.map +1 -1
  35. package/dist/engine/config.d.ts +28 -0
  36. package/dist/engine/config.js +195 -0
  37. package/dist/engine/config.js.map +1 -0
  38. package/dist/engine/errors/details.js.map +1 -1
  39. package/dist/engine/errors/index.js.map +1 -1
  40. package/dist/engine/extraction/code/adapter.js.map +1 -1
  41. package/dist/engine/extraction/code/extractor.js +87 -73
  42. package/dist/engine/extraction/code/extractor.js.map +1 -1
  43. package/dist/engine/extraction/code/families/c-family.js +12 -6
  44. package/dist/engine/extraction/code/families/c-family.js.map +1 -1
  45. package/dist/engine/extraction/code/families/js-ts.js +24 -18
  46. package/dist/engine/extraction/code/families/js-ts.js.map +1 -1
  47. package/dist/engine/extraction/code/families/metadata.js +11 -8
  48. package/dist/engine/extraction/code/families/metadata.js.map +1 -1
  49. package/dist/engine/extraction/code/families/name-field.js +5 -5
  50. package/dist/engine/extraction/code/families/name-field.js.map +1 -1
  51. package/dist/engine/extraction/code/languages/c.js +1 -4
  52. package/dist/engine/extraction/code/languages/c.js.map +1 -1
  53. package/dist/engine/extraction/code/languages/cpp.js.map +1 -1
  54. package/dist/engine/extraction/code/languages/go.js +1 -3
  55. package/dist/engine/extraction/code/languages/go.js.map +1 -1
  56. package/dist/engine/extraction/code/languages/java.js.map +1 -1
  57. package/dist/engine/extraction/code/languages/javascript.js +1 -3
  58. package/dist/engine/extraction/code/languages/javascript.js.map +1 -1
  59. package/dist/engine/extraction/code/languages/python.js +5 -6
  60. package/dist/engine/extraction/code/languages/python.js.map +1 -1
  61. package/dist/engine/extraction/code/languages/rust.js +1 -5
  62. package/dist/engine/extraction/code/languages/rust.js.map +1 -1
  63. package/dist/engine/extraction/code/languages/typescript.js.map +1 -1
  64. package/dist/engine/extraction/ids.js.map +1 -1
  65. package/dist/engine/extraction/index.js +3 -3
  66. package/dist/engine/extraction/index.js.map +1 -1
  67. package/dist/engine/extraction/markdown/extractor.js +4 -2
  68. package/dist/engine/extraction/markdown/extractor.js.map +1 -1
  69. package/dist/engine/extraction/tree-sitter/grammar.js.map +1 -1
  70. package/dist/engine/extraction/tree-sitter/nodes.js +2 -1
  71. package/dist/engine/extraction/tree-sitter/nodes.js.map +1 -1
  72. package/dist/engine/extraction/tree-sitter/parser.js.map +1 -1
  73. package/dist/engine/files/file-type.js.map +1 -1
  74. package/dist/engine/models/catalog.js +7 -23
  75. package/dist/engine/models/catalog.js.map +1 -1
  76. package/dist/engine/models/embeddings.js +3 -3
  77. package/dist/engine/models/embeddings.js.map +1 -1
  78. package/dist/engine/models/factory.js.map +1 -1
  79. package/dist/engine/models/index.d.ts +1 -1
  80. package/dist/engine/models/index.js.map +1 -1
  81. package/dist/engine/models/providers/index.d.ts +1 -1
  82. package/dist/engine/models/providers/index.js +1 -1
  83. package/dist/engine/models/providers/index.js.map +1 -1
  84. package/dist/engine/models/providers/llama-cpp/embedding.js +49 -18
  85. package/dist/engine/models/providers/llama-cpp/embedding.js.map +1 -1
  86. package/dist/engine/models/providers/qwen/embedding.js +16 -11
  87. package/dist/engine/models/providers/qwen/embedding.js.map +1 -1
  88. package/dist/engine/models/providers/qwen/index.d.ts +1 -1
  89. package/dist/engine/models/providers/qwen/index.js +1 -1
  90. package/dist/engine/models/providers/qwen/index.js.map +1 -1
  91. package/dist/engine/pipeline/indexing/index.js +46 -33
  92. package/dist/engine/pipeline/indexing/index.js.map +1 -1
  93. package/dist/engine/pipeline/indexing/root-paths.js +10 -13
  94. package/dist/engine/pipeline/indexing/root-paths.js.map +1 -1
  95. package/dist/engine/pipeline/indexing/scanner/index.js +121 -46
  96. package/dist/engine/pipeline/indexing/scanner/index.js.map +1 -1
  97. package/dist/engine/pipeline/search/index.js +68 -24
  98. package/dist/engine/pipeline/search/index.js.map +1 -1
  99. package/dist/engine/service/index.d.ts +1 -1
  100. package/dist/engine/service/lexical.d.ts +14 -15
  101. package/dist/engine/service/lexical.js +78 -114
  102. package/dist/engine/service/lexical.js.map +1 -1
  103. package/dist/engine/service/root.js +2 -2
  104. package/dist/engine/service/root.js.map +1 -1
  105. package/dist/engine/service/structure-enrichment.js +17 -11
  106. package/dist/engine/service/structure-enrichment.js.map +1 -1
  107. package/dist/engine/service/types.d.ts +39 -8
  108. package/dist/engine/service/zvec-grep.js +303 -160
  109. package/dist/engine/service/zvec-grep.js.map +1 -1
  110. package/dist/engine/storage/index.js.map +1 -1
  111. package/dist/engine/storage/zvec.js +49 -28
  112. package/dist/engine/storage/zvec.js.map +1 -1
  113. package/dist/engine/types.d.ts +14 -0
  114. package/dist/engine/types.js.map +1 -1
  115. package/dist/engine/utils/file-selection.d.ts +10 -0
  116. package/dist/engine/utils/file-selection.js +120 -0
  117. package/dist/engine/utils/file-selection.js.map +1 -0
  118. package/dist/engine/utils/glob.d.ts +3 -0
  119. package/dist/engine/utils/glob.js +116 -18
  120. package/dist/engine/utils/glob.js.map +1 -1
  121. package/dist/engine/utils/hash.js.map +1 -1
  122. package/dist/engine/utils/json.d.ts +6 -2
  123. package/dist/engine/utils/json.js +50 -12
  124. package/dist/engine/utils/json.js.map +1 -1
  125. package/dist/engine/utils/lock.js +6 -6
  126. package/dist/engine/utils/lock.js.map +1 -1
  127. package/dist/engine/utils/path.js +2 -2
  128. package/dist/engine/utils/path.js.map +1 -1
  129. package/dist/engine/utils/timing.js.map +1 -1
  130. package/dist/index.d.ts +3 -3
  131. package/dist/index.js +2 -2
  132. package/dist/index.js.map +1 -1
  133. package/package.json +34 -7
  134. package/skills/zvec-grep/SKILL.md +58 -48
  135. 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, matchesRootIncludePatterns, matchesRootPatterns, normalizeRootPath, validateRootPaths, } from "../root-paths.js";
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.30;
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 file = await readFileInfo(collectionId, root, root.absolutePath);
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 walk(collectionId, root, root.absolutePath, files, DEFAULT_IGNORE_RULES);
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
- ...await readGitIgnoreRules(rootPath, currentPath),
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
- if (entry.isDirectory()) {
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
- || matchesRootExcludePatterns(relativePath, rootPath)
104
- || (ignoreMatch.ignored && !ignoredPathExplicitlyIncluded(relativePath, rootPath, ignoreMatch))
105
- || shouldSkipHiddenDirectory(entry.name, relativePath, rootPath, ignoreMatch.matchedNegation)) {
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
- await walk(collectionId, rootPath, absolutePath, files, ignoreRules);
140
+ visitedDirectories.add(realDirectory);
141
+ await walk(collectionId, rootPath, absolutePath, files, ignoreRules, fileTypes, visitedDirectories, depth + 1);
109
142
  continue;
110
143
  }
111
- if (!entry.isFile()) {
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 && !ignoredPathExplicitlyIncluded(relativePath, rootPath, ignoreMatch)) {
154
+ if (ignoreMatch.ignored &&
155
+ !ignoredPathExplicitlyIncluded(relativePath, rootPath, ignoreMatch)) {
116
156
  continue;
117
157
  }
118
- if (shouldSkipHiddenFile(entry.name, relativePath, rootPath, ignoreMatch.matchedNegation)) {
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
- && !pathPatternMatches(normalizedInclude, normalizedRelativePath)) {
266
+ if (!pathPatternMightMatchDescendant(normalizedInclude, normalizedRelativePath) &&
267
+ !pathPatternMatches(normalizedInclude, normalizedRelativePath)) {
214
268
  return false;
215
269
  }
216
- return normalizedInclude.split("/").some((segment) => ignoredSegments.some((ignoredSegment) => includeSegmentNamesIgnoredPath(segment, ignoredSegment)));
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, unignoredByGitIgnore) {
262
- if (!isHiddenName(name)) {
317
+ function shouldSkipHiddenDirectory(name, relativePath, rootPath) {
318
+ if (!isHiddenName(name) || rootPath.hidden) {
263
319
  return false;
264
320
  }
265
- if (unignoredByGitIgnore) {
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
- return !matchesRootIncludePatterns(relativePath, rootPath)
269
- && !hasIncludeDescendant(relativePath, rootPath.include);
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 shouldSkipHiddenFile(name, relativePath, rootPath, unignoredByGitIgnore) {
272
- if (unignoredByGitIgnore) {
343
+ function hasIncludeDescendant(relativePath, includePatterns) {
344
+ if (!includePatterns || includePatterns.length === 0) {
273
345
  return false;
274
346
  }
275
- return isHiddenName(name) && !matchesRootIncludePatterns(relativePath, rootPath);
347
+ return includePatterns.some((pattern) => includePatternDeclaresHiddenDirectory(pattern, relativePath) &&
348
+ pathPatternMightMatchDescendant(pattern, relativePath));
276
349
  }
277
- function hasIncludeDescendant(relativePath, includePatterns) {
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
- && pathPatternMightMatchDescendant(pattern, relativePath));
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
- if (info.size === 0 || info.size > DEFAULT_MAX_FILE_SIZE_BYTES) {
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
- && value !== 7
378
- && value !== 8
379
- && value !== 9
380
- && value !== 10
381
- && value !== 12
382
- && value !== 13
383
- && value !== 27;
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 filter = timings.timeSync("search_filter", () => searchPlanToStorageFilter(normalized, ctx.storage));
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
- && modifiedBefore !== undefined
137
- && modifiedAfter > modifiedBefore) {
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
- || !saturated
290
- || depth >= RECALL_MAX_DEPTH) {
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
- || existing.rank === undefined
384
- || (recall.rank !== undefined && recall.rank < existing.rank)) {
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.searchFts(route.query, input.recallDepth, restrictFilterToFile(input.filter, input.targetFileId)).find((hit) => publicEntityId(hit.fragment) === input.entityId);
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.searchVector(vector, input.recallDepth, restrictFilterToFile(input.filter, input.targetFileId)).find((hit) => publicEntityId(hit.fragment) === input.entityId);
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
- if (includeMatchers.length === 0 && excludeMatchers.length === 0 && !hasModifiedFilter) {
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
- || includeMatchers.some((matcher) => matcher(file));
673
+ const included = includeMatchers.length === 0 ||
674
+ includeMatchers.some((matcher) => matcher(file));
638
675
  const excluded = excludeMatchers.some((matcher) => matcher(file));
639
- return included && !excluded && matchesModifiedTimeFilter(file, plan);
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 && file.lastModifiedTime < plan.modifiedAfter) {
684
+ if (plan.modifiedAfter !== undefined &&
685
+ file.lastModifiedTime < plan.modifiedAfter) {
645
686
  return false;
646
687
  }
647
- if (plan.modifiedBefore !== undefined && file.lastModifiedTime > plan.modifiedBefore) {
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) ? "absolutePath" : "relativePath";
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
  }