@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
@@ -0,0 +1,354 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
+ import { z } from "zod";
4
+ import { createZvecGrep, } from "../index.js";
5
+ import { parseModifiedTime, splitPathFilters } from "./args.js";
6
+ import { readPackageVersion } from "./version.js";
7
+ const stringListInputSchema = z
8
+ .union([z.string(), z.array(z.string())])
9
+ .optional();
10
+ const timeInputSchema = z
11
+ .union([z.number().int().nonnegative(), z.string()])
12
+ .optional();
13
+ const codeSymbolTypeSchema = z.enum([
14
+ "module",
15
+ "class",
16
+ "interface",
17
+ "function",
18
+ "value",
19
+ "alias",
20
+ ]);
21
+ export async function runMcpServer(options) {
22
+ const zvecGrep = await createZvecGrep(options);
23
+ const server = createMcpServer(zvecGrep);
24
+ const transport = new StdioServerTransport();
25
+ const close = async () => {
26
+ await zvecGrep.close();
27
+ await server.close();
28
+ };
29
+ process.once("SIGINT", () => {
30
+ void close().finally(() => process.exit(130));
31
+ });
32
+ process.once("SIGTERM", () => {
33
+ void close().finally(() => process.exit(143));
34
+ });
35
+ await server.connect(transport);
36
+ }
37
+ function createMcpServer(zvecGrep) {
38
+ const server = new McpServer({
39
+ name: "zvec-grep",
40
+ version: readPackageVersion(),
41
+ }, {
42
+ instructions: [
43
+ "Use zvec-grep for repository code search before grep, rg, or broad file reads.",
44
+ "Use zvec_grep_search for indexed semantic and lexical retrieval, and zvec_grep_rg for explicit no-index lexical search.",
45
+ "Index management and status inspection are CLI-only operations.",
46
+ ].join(" "),
47
+ });
48
+ server.registerTool("zvec_grep_search", {
49
+ title: "zvec-grep indexed search",
50
+ description: "Search an indexed repository with zvec-grep hybrid semantic and lexical retrieval. Like the CLI, this may refresh a stale anonymous index unless autoUpdate is false.",
51
+ inputSchema: {
52
+ query: z
53
+ .string()
54
+ .optional()
55
+ .describe("Natural-language or exact search query."),
56
+ queries: stringListInputSchema.describe("Multiple query groups. Use this for related concepts."),
57
+ fts: stringListInputSchema.describe("Exact lexical anchors, such as symbols, flags, or error messages."),
58
+ vector: stringListInputSchema.describe("Explicit semantic/vector-only queries."),
59
+ root: z
60
+ .string()
61
+ .optional()
62
+ .describe("Repository root. Defaults to the MCP server working directory."),
63
+ collection: z
64
+ .string()
65
+ .optional()
66
+ .describe("Named collection to query instead of the anonymous repository index."),
67
+ limit: z
68
+ .number()
69
+ .int()
70
+ .positive()
71
+ .max(50)
72
+ .optional()
73
+ .describe("Maximum returned items per query/group."),
74
+ include: stringListInputSchema.describe("Path filters to include. Accepts an array or comma-separated string."),
75
+ exclude: stringListInputSchema.describe("Path filters to exclude. Accepts an array or comma-separated string."),
76
+ preferSymbol: z
77
+ .boolean()
78
+ .optional()
79
+ .describe("Prefer exact indexed symbols when query names a symbol."),
80
+ symbolTypes: z
81
+ .array(codeSymbolTypeSchema)
82
+ .default([])
83
+ .describe("Restrict indexed results to symbol types."),
84
+ modifiedAfter: timeInputSchema.describe("Only query files modified after this time. Accepts epoch milliseconds or a parseable date string."),
85
+ modifiedBefore: timeInputSchema.describe("Only query files modified before this time. Accepts epoch milliseconds or a parseable date string."),
86
+ autoUpdate: z
87
+ .boolean()
88
+ .optional()
89
+ .describe("Refresh an existing stale anonymous index before query. Defaults to CLI behavior: true."),
90
+ embeddingConcurrency: z
91
+ .number()
92
+ .int()
93
+ .positive()
94
+ .max(64)
95
+ .optional()
96
+ .describe("Embedding task concurrency for automatic index refresh."),
97
+ trace: z
98
+ .boolean()
99
+ .optional()
100
+ .describe("Include per-hit search trace in structured output."),
101
+ maxContentChars: z
102
+ .number()
103
+ .int()
104
+ .positive()
105
+ .max(6000)
106
+ .default(1200)
107
+ .describe("Maximum source characters to include per hit."),
108
+ },
109
+ annotations: {
110
+ readOnlyHint: false,
111
+ destructiveHint: false,
112
+ idempotentHint: true,
113
+ openWorldHint: true,
114
+ },
115
+ }, async (input) => {
116
+ const result = await zvecGrep.context(contextOptionsFromSearchInput(input));
117
+ return toolResult(contextText(result, input.maxContentChars), {
118
+ result: simplifyContextResult(result, input.maxContentChars),
119
+ });
120
+ });
121
+ server.registerTool("zvec_grep_rg", {
122
+ title: "zvec-grep no-index lexical search",
123
+ description: "Run explicit no-index lexical search through zvec-grep managed ripgrep output.",
124
+ inputSchema: {
125
+ pattern: z
126
+ .string()
127
+ .optional()
128
+ .describe("Regex or literal pattern to search for."),
129
+ patterns: stringListInputSchema.describe("Multiple regex or literal patterns to search for."),
130
+ root: z
131
+ .string()
132
+ .optional()
133
+ .describe("Repository root. Defaults to the MCP server working directory."),
134
+ paths: stringListInputSchema.describe("Optional paths to search within the root."),
135
+ fixedStrings: z
136
+ .boolean()
137
+ .optional()
138
+ .describe("Treat pattern as a literal string."),
139
+ ignoreCase: z
140
+ .boolean()
141
+ .optional()
142
+ .describe("Search case-insensitively."),
143
+ wordRegexp: z.boolean().optional().describe("Only match whole words."),
144
+ context: z
145
+ .number()
146
+ .int()
147
+ .nonnegative()
148
+ .max(20)
149
+ .optional()
150
+ .describe("Context lines before and after each match."),
151
+ beforeContext: z
152
+ .number()
153
+ .int()
154
+ .nonnegative()
155
+ .max(20)
156
+ .optional()
157
+ .describe("Context lines before each match."),
158
+ afterContext: z
159
+ .number()
160
+ .int()
161
+ .nonnegative()
162
+ .max(20)
163
+ .optional()
164
+ .describe("Context lines after each match."),
165
+ hidden: z
166
+ .boolean()
167
+ .optional()
168
+ .describe("Search hidden files and directories."),
169
+ glob: stringListInputSchema.describe("ripgrep glob filters, for example '*.ts' or '!dist/**'. Accepts an array or comma-separated string."),
170
+ limit: z
171
+ .number()
172
+ .int()
173
+ .positive()
174
+ .max(200)
175
+ .optional()
176
+ .describe("Maximum returned matches."),
177
+ maxContentChars: z
178
+ .number()
179
+ .int()
180
+ .positive()
181
+ .max(6000)
182
+ .default(1200)
183
+ .describe("Maximum source characters to include per hit."),
184
+ },
185
+ annotations: {
186
+ readOnlyHint: true,
187
+ destructiveHint: false,
188
+ idempotentHint: true,
189
+ openWorldHint: false,
190
+ },
191
+ }, async (input) => {
192
+ const result = await zvecGrep.context(contextOptionsFromRgInput(input));
193
+ return toolResult(contextText(result, input.maxContentChars), {
194
+ result: simplifyContextResult(result, input.maxContentChars),
195
+ });
196
+ });
197
+ return server;
198
+ }
199
+ function contextOptionsFromSearchInput(input) {
200
+ const queries = [
201
+ ...normalizeQueryList(input.query),
202
+ ...normalizeQueryList(input.queries),
203
+ ];
204
+ const fts = normalizeQueryList(input.fts);
205
+ const vector = normalizeQueryList(input.vector);
206
+ if (queries.length === 0 && fts.length === 0 && vector.length === 0) {
207
+ throw new Error("zvec_grep_search requires query, queries, fts, or vector.");
208
+ }
209
+ const includePaths = normalizePathFilters(input.include);
210
+ const excludePaths = normalizePathFilters(input.exclude);
211
+ return {
212
+ queries: queries.length > 0 ? queries : undefined,
213
+ routes: [
214
+ ...fts.map((query) => ({ mode: "fts", query })),
215
+ ...vector.map((query) => ({ mode: "vector", query })),
216
+ ],
217
+ root: normalizeOptionalString(input.root),
218
+ collection: normalizeOptionalString(input.collection),
219
+ limit: input.limit,
220
+ autoUpdate: input.autoUpdate ?? true,
221
+ trace: input.trace,
222
+ preferSymbol: input.preferSymbol,
223
+ symbolTypes: input.symbolTypes.length > 0 ? input.symbolTypes : undefined,
224
+ includePaths: includePaths.length > 0 ? includePaths : undefined,
225
+ excludePaths: excludePaths.length > 0 ? excludePaths : undefined,
226
+ modifiedAfter: normalizeModifiedTime(input.modifiedAfter, "modifiedAfter"),
227
+ modifiedBefore: normalizeModifiedTime(input.modifiedBefore, "modifiedBefore"),
228
+ embeddingConcurrency: input.embeddingConcurrency,
229
+ };
230
+ }
231
+ function contextOptionsFromRgInput(input) {
232
+ const queries = [
233
+ ...normalizeQueryList(input.pattern),
234
+ ...normalizeQueryList(input.patterns),
235
+ ];
236
+ if (queries.length === 0) {
237
+ throw new Error("zvec_grep_rg requires pattern or patterns.");
238
+ }
239
+ const globs = normalizePathFilters(input.glob);
240
+ const rgOptions = {
241
+ fixedStrings: input.fixedStrings,
242
+ ignoreCase: input.ignoreCase,
243
+ wordRegexp: input.wordRegexp,
244
+ beforeContext: input.beforeContext ?? input.context,
245
+ afterContext: input.afterContext ?? input.context,
246
+ hidden: input.hidden,
247
+ };
248
+ return {
249
+ queries,
250
+ rg: true,
251
+ rgOptions,
252
+ rgPaths: normalizePlainStringList(input.paths),
253
+ root: normalizeOptionalString(input.root),
254
+ limit: input.limit,
255
+ globs: globs.length > 0 ? globs : undefined,
256
+ };
257
+ }
258
+ function normalizeQueryList(value) {
259
+ return normalizePlainStringList(value) ?? [];
260
+ }
261
+ function normalizePlainStringList(value) {
262
+ const items = value === undefined ? [] : Array.isArray(value) ? value : [value];
263
+ const normalized = items
264
+ .map((item) => item.trim())
265
+ .filter((item) => item.length > 0);
266
+ return normalized.length > 0 ? normalized : undefined;
267
+ }
268
+ function normalizePathFilters(value) {
269
+ const items = value === undefined ? [] : Array.isArray(value) ? value : [value];
270
+ return items.flatMap(splitPathFilters);
271
+ }
272
+ function normalizeModifiedTime(value, option) {
273
+ if (value === undefined) {
274
+ return undefined;
275
+ }
276
+ return typeof value === "number" ? value : parseModifiedTime(value, option);
277
+ }
278
+ function normalizeOptionalString(value) {
279
+ const normalized = value?.trim() ?? "";
280
+ return normalized.length > 0 ? normalized : undefined;
281
+ }
282
+ function toolResult(text, structuredContent) {
283
+ return {
284
+ content: [{ type: "text", text }],
285
+ structuredContent,
286
+ };
287
+ }
288
+ function contextText(result, maxContentChars) {
289
+ const lines = [
290
+ `query: ${result.query}`,
291
+ `root: ${result.root}`,
292
+ `source: ${result.source}`,
293
+ `coverage: ${result.coverage}`,
294
+ `hits: ${result.items.length}`,
295
+ ];
296
+ for (const item of result.items) {
297
+ lines.push("");
298
+ lines.push(`${item.file.relativePath}:${rangeLabel(item.range)} rank=${item.rank} matchedBy=${item.matchedBy}`);
299
+ if (item.outline) {
300
+ lines.push(`outline: ${truncate(item.outline, maxContentChars)}`);
301
+ }
302
+ lines.push("source:");
303
+ lines.push(truncate(item.content, maxContentChars));
304
+ }
305
+ return lines.join("\n");
306
+ }
307
+ function simplifyContextResult(result, maxContentChars) {
308
+ return {
309
+ query: result.query,
310
+ root: result.root,
311
+ source: result.source,
312
+ coverage: result.coverage,
313
+ collection: result.collection,
314
+ diagnostics: result.diagnostics,
315
+ items: result.items.map((item) => ({
316
+ kind: item.kind,
317
+ rank: item.rank,
318
+ file: item.file,
319
+ range: item.range,
320
+ excerptRange: item.excerptRange,
321
+ outline: item.outline
322
+ ? truncate(item.outline, maxContentChars)
323
+ : undefined,
324
+ content: truncate(item.content, maxContentChars),
325
+ contentRole: item.contentRole,
326
+ status: item.status,
327
+ score: item.score,
328
+ matchedBy: item.matchedBy,
329
+ metadata: item.metadata,
330
+ entityId: item.entityId,
331
+ container: item.container,
332
+ trace: item.trace,
333
+ })),
334
+ };
335
+ }
336
+ function rangeLabel(range) {
337
+ if (range.kind === "text" &&
338
+ typeof range.startLine === "number" &&
339
+ typeof range.endLine === "number") {
340
+ return `${range.startLine}-${range.endLine}`;
341
+ }
342
+ if (typeof range.startOffset === "number" &&
343
+ typeof range.endOffset === "number") {
344
+ return `${range.startOffset}-${range.endOffset}`;
345
+ }
346
+ return range.kind;
347
+ }
348
+ function truncate(value, maxChars) {
349
+ if (value.length <= maxChars) {
350
+ return value;
351
+ }
352
+ return `${value.slice(0, maxChars)}\n...[truncated ${value.length - maxChars} chars]`;
353
+ }
354
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/cli/mcp.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,10 @@ import type { CodeSymbolType, ZvecGrepContextRoute } from "../index.js";
2
2
  export type ColorMode = "auto" | "always" | "never";
3
3
  export type PreviewMode = "none" | "short" | "full";
4
4
  export type CliOptions = {
5
- help?: boolean;
6
- version?: boolean;
7
- index?: boolean;
8
- disableIndex?: boolean;
9
- status?: boolean;
10
- collections?: boolean;
5
+ mcp?: boolean;
6
+ installTargets?: string[];
7
+ installMcpToolTimeoutSeconds?: number;
8
+ yes?: boolean;
11
9
  collection?: string;
12
10
  rg?: boolean;
13
11
  rgCompatibilityOptions?: string[];
@@ -26,21 +24,34 @@ export type CliOptions = {
26
24
  apiKey?: string;
27
25
  endpoint?: string;
28
26
  limit?: number;
27
+ hybridQueries?: string[];
29
28
  routes?: ZvecGrepContextRoute[];
29
+ fuse?: boolean;
30
30
  rebuild?: boolean;
31
+ drop?: boolean;
32
+ force?: boolean;
31
33
  resetPaths?: boolean;
32
- noFallback?: boolean;
33
34
  noAutoUpdate?: boolean;
34
35
  preferSymbol?: boolean;
35
- includePaths?: string[];
36
- excludePaths?: string[];
36
+ globs?: string[];
37
+ insensitiveGlobs?: string[];
38
+ fileTypes?: string[];
39
+ excludedFileTypes?: string[];
40
+ hidden?: boolean;
41
+ noIgnore?: boolean;
42
+ ignoreFiles?: string[];
43
+ maxDepth?: number;
44
+ maxFileSizeBytes?: number;
45
+ follow?: boolean;
37
46
  modifiedAfter?: number;
38
47
  modifiedBefore?: number;
39
48
  symbolTypes?: CodeSymbolType[];
40
49
  embeddingConcurrency?: number;
41
50
  };
51
+ export type CliCommand = "query" | "index" | "status" | "collections" | "install" | "uninstall" | "serve" | "help" | "version";
42
52
  export type CliRgOptions = {
43
53
  patterns?: string[];
54
+ patternFiles?: string[];
44
55
  extraArgs?: string[];
45
56
  fixedStrings?: boolean;
46
57
  ignoreCase?: boolean;
@@ -50,8 +61,10 @@ export type CliRgOptions = {
50
61
  hidden?: boolean;
51
62
  };
52
63
  export type ParsedArgs = {
64
+ command: CliCommand;
53
65
  options: CliOptions;
54
66
  positionals: string[];
67
+ helpTopic?: string;
55
68
  };
56
69
  export declare const DEFAULT_LIMIT = 10;
57
70
  export declare const VALID_SYMBOL_TYPES: Set<CodeSymbolType>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AA4EA,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAGhC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAiB;IACxD,QAAQ;IACR,OAAO;IACP,WAAW;IACX,UAAU;IACV,OAAO;IACP,OAAO;CACR,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAoFA,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAEhC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAiB;IACxD,QAAQ;IACR,OAAO;IACP,WAAW;IACX,UAAU;IACV,OAAO;IACP,OAAO;CACR,CAAC,CAAC"}
@@ -2,7 +2,9 @@ import { readFileSync } from "node:fs";
2
2
  export function readPackageVersion() {
3
3
  try {
4
4
  const packageJson = JSON.parse(readFileSync(new URL("../../package.json", import.meta.url), "utf8"));
5
- return typeof packageJson.version === "string" ? packageJson.version : "0.0.0";
5
+ return typeof packageJson.version === "string"
6
+ ? packageJson.version
7
+ : "0.0.0";
6
8
  }
7
9
  catch {
8
10
  return "0.0.0";
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/cli/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAY,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAC3C,CAAC;QAE5B,OAAO,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/cli/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAY,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAC5C,CAAC;QAE3B,OAAO,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ;YAC5C,CAAC,CAAC,WAAW,CAAC,OAAO;YACrB,CAAC,CAAC,OAAO,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC"}
@@ -77,8 +77,8 @@ export class Collection {
77
77
  reason: file
78
78
  ? undefined
79
79
  : matchedRootPath
80
- ? "File belongs to this collection but has not been indexed"
81
- : "File is outside this collection roots or excluded by root patterns",
80
+ ? "File is under a collection root but has not been indexed; file-selection, ignore, discovery, size, or file-type rules may exclude it"
81
+ : "File is outside the collection roots or excluded by root include/exclude patterns",
82
82
  };
83
83
  }
84
84
  diagnoseEntitySearch(query, entityId) {
@@ -160,10 +160,7 @@ export class Collection {
160
160
  }
161
161
  }
162
162
  function collectionOperationDetails(name, operation) {
163
- return errorDetails([
164
- collectionDetail(name),
165
- detail("operation", operation),
166
- ]);
163
+ return errorDetails([collectionDetail(name), detail("operation", operation)]);
167
164
  }
168
165
  function collectionMismatchDetails(name, expected, actual) {
169
166
  return errorDetails([
@@ -173,10 +170,10 @@ function collectionMismatchDetails(name, expected, actual) {
173
170
  ]);
174
171
  }
175
172
  export function isCollectionIndexed(info) {
176
- return info?.embedding !== null
177
- && info?.embedding !== undefined
178
- && info.indexVersion !== null
179
- && info.indexVersion !== undefined;
173
+ return (info?.embedding !== null &&
174
+ info?.embedding !== undefined &&
175
+ info.indexVersion !== null &&
176
+ info.indexVersion !== undefined);
180
177
  }
181
178
  function requireIndexedEmbedding(info, operation) {
182
179
  if (isCollectionIndexed(info)) {
@@ -187,7 +184,7 @@ function requireIndexedEmbedding(info, operation) {
187
184
  context: errorDetails([
188
185
  collectionDetail(info.name),
189
186
  detail("operation", operation),
190
- detail("hint", "Run zg --index to build this index."),
187
+ detail("hint", "Run zg index to build this index."),
191
188
  ]),
192
189
  });
193
190
  }
@@ -281,7 +278,9 @@ export class CollectionRegistry {
281
278
  }
282
279
  async status(name) {
283
280
  const info = this.get(name);
284
- if (!info || !isCollectionIndexed(info) || info.indexPolicy === "disabled") {
281
+ if (!info ||
282
+ !isCollectionIndexed(info) ||
283
+ info.indexPolicy === "disabled") {
285
284
  return null;
286
285
  }
287
286
  return this.open(name).status();
@@ -449,7 +448,7 @@ export class CollectionRegistry {
449
448
  code: "ZVEC_GREP.ENGINE.COLLECTION.INDEX_DISABLED",
450
449
  context: errorDetails([
451
450
  collectionDetail(name),
452
- detail("hint", "Run zg --index to enable and build this index, or use zg --rg for no-index search."),
451
+ detail("hint", "Run zg index to enable and build this index, or use zg query --rg for no-index search."),
453
452
  ]),
454
453
  });
455
454
  }
@@ -458,7 +457,7 @@ export class CollectionRegistry {
458
457
  code: "ZVEC_GREP.ENGINE.COLLECTION.INDEX_MISSING",
459
458
  context: errorDetails([
460
459
  collectionDetail(name),
461
- detail("hint", "Run zg --index to build this index."),
460
+ detail("hint", "Run zg index to build this index."),
462
461
  ]),
463
462
  });
464
463
  }
@@ -501,7 +500,8 @@ class ZvecCollectionsMetaStore {
501
500
  return [];
502
501
  }
503
502
  const topk = Math.max(this.collection.stats.docCount, 1);
504
- return this.collection.querySync({ topk, includeVector: false })
503
+ return this.collection
504
+ .querySync({ topk, includeVector: false })
505
505
  .map((doc) => docToCollectionInfo(doc))
506
506
  .sort((left, right) => left.name.localeCompare(right.name));
507
507
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/collection/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/collection/index.ts"],"names":[],"mappings":"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"}