@zvec/zvec-grep 0.1.5 → 0.1.6

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 (317) hide show
  1. package/README.md +88 -249
  2. package/README_CN.md +82 -246
  3. package/dist/authorization/index.d.ts +7 -0
  4. package/dist/authorization/index.js +7 -0
  5. package/dist/authorization/index.js.map +1 -0
  6. package/dist/authorization/manager.d.ts +8 -0
  7. package/dist/authorization/manager.js +19 -0
  8. package/dist/authorization/manager.js.map +1 -0
  9. package/dist/authorization/operation.d.ts +7 -0
  10. package/dist/authorization/operation.js +50 -0
  11. package/dist/authorization/operation.js.map +1 -0
  12. package/dist/authorization/planner.d.ts +21 -0
  13. package/dist/authorization/planner.js +97 -0
  14. package/dist/authorization/planner.js.map +1 -0
  15. package/dist/authorization/prompt.d.ts +11 -0
  16. package/dist/authorization/prompt.js +62 -0
  17. package/dist/authorization/prompt.js.map +1 -0
  18. package/dist/authorization/store.d.ts +20 -0
  19. package/dist/authorization/store.js +251 -0
  20. package/dist/authorization/store.js.map +1 -0
  21. package/dist/authorization/target.d.ts +15 -0
  22. package/dist/authorization/target.js +49 -0
  23. package/dist/authorization/target.js.map +1 -0
  24. package/dist/authorization/types.d.ts +61 -0
  25. package/dist/authorization/types.js +2 -0
  26. package/dist/authorization/types.js.map +1 -0
  27. package/dist/cli/args.d.ts +1 -1
  28. package/dist/cli/args.js +304 -54
  29. package/dist/cli/args.js.map +1 -1
  30. package/dist/cli/auth.d.ts +21 -0
  31. package/dist/cli/auth.js +212 -0
  32. package/dist/cli/auth.js.map +1 -0
  33. package/dist/cli/commands.js +433 -618
  34. package/dist/cli/commands.js.map +1 -1
  35. package/dist/cli/errors.js +2 -2
  36. package/dist/cli/errors.js.map +1 -1
  37. package/dist/cli/format/context.d.ts +1 -0
  38. package/dist/cli/format/context.js +241 -45
  39. package/dist/cli/format/context.js.map +1 -1
  40. package/dist/cli/format/debug.js +2 -2
  41. package/dist/cli/format/debug.js.map +1 -1
  42. package/dist/cli/format/progress.d.ts +4 -0
  43. package/dist/cli/format/progress.js +219 -46
  44. package/dist/cli/format/progress.js.map +1 -1
  45. package/dist/cli/format/status.d.ts +77 -6
  46. package/dist/cli/format/status.js +302 -106
  47. package/dist/cli/format/status.js.map +1 -1
  48. package/dist/cli/help.js +258 -59
  49. package/dist/cli/help.js.map +1 -1
  50. package/dist/cli/index.js +0 -0
  51. package/dist/cli/install.d.ts +4 -0
  52. package/dist/cli/install.js +845 -0
  53. package/dist/cli/install.js.map +1 -0
  54. package/dist/cli/managed-rg.d.ts +10 -0
  55. package/dist/cli/managed-rg.js +329 -0
  56. package/dist/cli/managed-rg.js.map +1 -0
  57. package/dist/cli/types.d.ts +20 -6
  58. package/dist/cli/types.js.map +1 -1
  59. package/dist/client/daemon-client.d.ts +19 -0
  60. package/dist/client/daemon-client.js +180 -0
  61. package/dist/client/daemon-client.js.map +1 -0
  62. package/dist/client/mode-router.d.ts +9 -0
  63. package/dist/client/mode-router.js +28 -0
  64. package/dist/client/mode-router.js.map +1 -0
  65. package/dist/client/search-policy.d.ts +11 -0
  66. package/dist/client/search-policy.js +15 -0
  67. package/dist/client/search-policy.js.map +1 -0
  68. package/dist/daemon/backend.d.ts +76 -0
  69. package/dist/daemon/backend.js +1049 -0
  70. package/dist/daemon/backend.js.map +1 -0
  71. package/dist/daemon/change-set.d.ts +25 -0
  72. package/dist/daemon/change-set.js +101 -0
  73. package/dist/daemon/change-set.js.map +1 -0
  74. package/dist/daemon/config.d.ts +24 -0
  75. package/dist/daemon/config.js +88 -0
  76. package/dist/daemon/config.js.map +1 -0
  77. package/dist/daemon/errors.d.ts +5 -0
  78. package/dist/daemon/errors.js +11 -0
  79. package/dist/daemon/errors.js.map +1 -0
  80. package/dist/daemon/http-server.d.ts +30 -0
  81. package/dist/daemon/http-server.js +287 -0
  82. package/dist/daemon/http-server.js.map +1 -0
  83. package/dist/daemon/index-coordinator.d.ts +23 -0
  84. package/dist/daemon/index-coordinator.js +68 -0
  85. package/dist/daemon/index-coordinator.js.map +1 -0
  86. package/dist/daemon/job-scheduler.d.ts +70 -0
  87. package/dist/daemon/job-scheduler.js +366 -0
  88. package/dist/daemon/job-scheduler.js.map +1 -0
  89. package/dist/daemon/logger.d.ts +9 -0
  90. package/dist/daemon/logger.js +53 -0
  91. package/dist/daemon/logger.js.map +1 -0
  92. package/dist/daemon/model-pool.d.ts +45 -0
  93. package/dist/daemon/model-pool.js +187 -0
  94. package/dist/daemon/model-pool.js.map +1 -0
  95. package/dist/daemon/root-lease.d.ts +14 -0
  96. package/dist/daemon/root-lease.js +188 -0
  97. package/dist/daemon/root-lease.js.map +1 -0
  98. package/dist/daemon/root-runtime.d.ts +78 -0
  99. package/dist/daemon/root-runtime.js +333 -0
  100. package/dist/daemon/root-runtime.js.map +1 -0
  101. package/dist/daemon/runtime-manager.d.ts +45 -0
  102. package/dist/daemon/runtime-manager.js +243 -0
  103. package/dist/daemon/runtime-manager.js.map +1 -0
  104. package/dist/daemon/runtime.d.ts +12 -0
  105. package/dist/daemon/runtime.js +102 -0
  106. package/dist/daemon/runtime.js.map +1 -0
  107. package/dist/daemon/server-controller.d.ts +39 -0
  108. package/dist/daemon/server-controller.js +203 -0
  109. package/dist/daemon/server-controller.js.map +1 -0
  110. package/dist/daemon/watch-manager.d.ts +50 -0
  111. package/dist/daemon/watch-manager.js +293 -0
  112. package/dist/daemon/watch-manager.js.map +1 -0
  113. package/dist/daemon/workspace-read-session-cache.d.ts +31 -0
  114. package/dist/daemon/workspace-read-session-cache.js +115 -0
  115. package/dist/daemon/workspace-read-session-cache.js.map +1 -0
  116. package/dist/engine/config.d.ts +30 -8
  117. package/dist/engine/config.js +171 -45
  118. package/dist/engine/config.js.map +1 -1
  119. package/dist/engine/{errors/index.d.ts → errors.d.ts} +6 -1
  120. package/dist/engine/{errors/details.js → errors.js} +17 -4
  121. package/dist/engine/errors.js.map +1 -0
  122. package/dist/engine/extraction/code/adapter.d.ts +1 -1
  123. package/dist/engine/extraction/code/extractor.d.ts +5 -11
  124. package/dist/engine/extraction/code/extractor.js +105 -44
  125. package/dist/engine/extraction/code/extractor.js.map +1 -1
  126. package/dist/engine/extraction/code/families/c-family.js +1 -1
  127. package/dist/engine/extraction/code/families/c-family.js.map +1 -1
  128. package/dist/engine/extraction/code/families/js-ts.d.ts +1 -1
  129. package/dist/engine/extraction/code/families/metadata.d.ts +1 -1
  130. package/dist/engine/extraction/code/tree-sitter/grammar.js.map +1 -0
  131. package/dist/engine/extraction/code/tree-sitter/nodes.js.map +1 -0
  132. package/dist/engine/extraction/code/tree-sitter/parser.js.map +1 -0
  133. package/dist/engine/extraction/image/extractor.d.ts +5 -0
  134. package/dist/engine/extraction/image/extractor.js +35 -0
  135. package/dist/engine/extraction/image/extractor.js.map +1 -0
  136. package/dist/engine/extraction/index.d.ts +3 -44
  137. package/dist/engine/extraction/index.js +1 -280
  138. package/dist/engine/extraction/index.js.map +1 -1
  139. package/dist/engine/extraction/markdown/extractor.d.ts +5 -11
  140. package/dist/engine/extraction/markdown/extractor.js +35 -16
  141. package/dist/engine/extraction/markdown/extractor.js.map +1 -1
  142. package/dist/engine/extraction/runtime.d.ts +4 -0
  143. package/dist/engine/extraction/runtime.js +26 -0
  144. package/dist/engine/extraction/runtime.js.map +1 -0
  145. package/dist/engine/extraction/source.d.ts +18 -0
  146. package/dist/engine/extraction/source.js +22 -0
  147. package/dist/engine/extraction/source.js.map +1 -0
  148. package/dist/engine/extraction/text/extractor.d.ts +7 -0
  149. package/dist/engine/extraction/text/extractor.js +168 -0
  150. package/dist/engine/extraction/text/extractor.js.map +1 -0
  151. package/dist/engine/extraction/types.d.ts +4 -0
  152. package/dist/engine/{models → extraction}/types.js.map +1 -1
  153. package/dist/engine/{files/file-type.d.ts → file-type.d.ts} +1 -1
  154. package/dist/engine/file-type.js.map +1 -0
  155. package/dist/engine/index-status.d.ts +9 -0
  156. package/dist/engine/index-status.js +38 -0
  157. package/dist/engine/index-status.js.map +1 -0
  158. package/dist/engine/manifest.d.ts +12 -0
  159. package/dist/engine/manifest.js +120 -0
  160. package/dist/engine/manifest.js.map +1 -0
  161. package/dist/engine/models/{providers/llama-cpp/embedding.d.ts → backends/llama-cpp.d.ts} +25 -20
  162. package/dist/engine/models/{providers/llama-cpp/embedding.js → backends/llama-cpp.js} +127 -106
  163. package/dist/engine/models/backends/llama-cpp.js.map +1 -0
  164. package/dist/engine/models/backends/model2vec.d.ts +57 -0
  165. package/dist/engine/models/backends/model2vec.js +332 -0
  166. package/dist/engine/models/backends/model2vec.js.map +1 -0
  167. package/dist/engine/models/backends/qwen.d.ts +44 -0
  168. package/dist/engine/models/{providers/qwen/embedding.js → backends/qwen.js} +155 -94
  169. package/dist/engine/models/backends/qwen.js.map +1 -0
  170. package/dist/engine/models/backends/transformers-js.d.ts +87 -0
  171. package/dist/engine/models/backends/transformers-js.js +316 -0
  172. package/dist/engine/models/backends/transformers-js.js.map +1 -0
  173. package/dist/engine/models/catalog.d.ts +188 -23
  174. package/dist/engine/models/catalog.js +172 -25
  175. package/dist/engine/models/catalog.js.map +1 -1
  176. package/dist/engine/models/download-progress.d.ts +15 -0
  177. package/dist/engine/models/download-progress.js +48 -0
  178. package/dist/engine/models/download-progress.js.map +1 -0
  179. package/dist/engine/models/embeddings.d.ts +58 -18
  180. package/dist/engine/models/embeddings.js +52 -28
  181. package/dist/engine/models/embeddings.js.map +1 -1
  182. package/dist/engine/models/factory.d.ts +2 -5
  183. package/dist/engine/models/factory.js +41 -56
  184. package/dist/engine/models/factory.js.map +1 -1
  185. package/dist/engine/models/index.d.ts +4 -6
  186. package/dist/engine/models/index.js +4 -4
  187. package/dist/engine/models/index.js.map +1 -1
  188. package/dist/engine/models/ranking.d.ts +7 -3
  189. package/dist/engine/models/resolution.d.ts +8 -0
  190. package/dist/engine/models/resolution.js +22 -0
  191. package/dist/engine/models/resolution.js.map +1 -0
  192. package/dist/engine/pipeline/indexing/index.d.ts +9 -7
  193. package/dist/engine/pipeline/indexing/index.js +360 -121
  194. package/dist/engine/pipeline/indexing/index.js.map +1 -1
  195. package/dist/engine/pipeline/indexing/root-paths.js +6 -6
  196. package/dist/engine/pipeline/indexing/root-paths.js.map +1 -1
  197. package/dist/engine/pipeline/indexing/scanner/index.d.ts +6 -1
  198. package/dist/engine/pipeline/indexing/scanner/index.js +233 -29
  199. package/dist/engine/pipeline/indexing/scanner/index.js.map +1 -1
  200. package/dist/engine/pipeline/search/index.d.ts +6 -6
  201. package/dist/engine/pipeline/search/index.js +8 -10
  202. package/dist/engine/pipeline/search/index.js.map +1 -1
  203. package/dist/engine/service/index.d.ts +3 -2
  204. package/dist/engine/service/index.js +1 -1
  205. package/dist/engine/service/index.js.map +1 -1
  206. package/dist/engine/service/root.d.ts +13 -12
  207. package/dist/engine/service/root.js +35 -24
  208. package/dist/engine/service/root.js.map +1 -1
  209. package/dist/engine/service/structure-enrichment.js +12 -14
  210. package/dist/engine/service/structure-enrichment.js.map +1 -1
  211. package/dist/engine/service/types.d.ts +32 -37
  212. package/dist/engine/service/workspace-index.d.ts +24 -0
  213. package/dist/engine/service/workspace-index.js +151 -0
  214. package/dist/engine/service/workspace-index.js.map +1 -0
  215. package/dist/engine/service/zvec-grep.d.ts +12 -1
  216. package/dist/engine/service/zvec-grep.js +677 -486
  217. package/dist/engine/service/zvec-grep.js.map +1 -1
  218. package/dist/engine/storage/index.d.ts +8 -4
  219. package/dist/engine/storage/index.js +1 -1
  220. package/dist/engine/storage/index.js.map +1 -1
  221. package/dist/engine/storage/zvec.d.ts +10 -33
  222. package/dist/engine/storage/zvec.js +95 -38
  223. package/dist/engine/storage/zvec.js.map +1 -1
  224. package/dist/engine/types.d.ts +15 -23
  225. package/dist/engine/types.js +1 -1
  226. package/dist/engine/types.js.map +1 -1
  227. package/dist/engine/utils/daemon-lease.d.ts +17 -0
  228. package/dist/engine/utils/daemon-lease.js +175 -0
  229. package/dist/engine/utils/daemon-lease.js.map +1 -0
  230. package/dist/engine/utils/file-selection.js +38 -1
  231. package/dist/engine/utils/file-selection.js.map +1 -1
  232. package/dist/engine/utils/lock.js +1 -1
  233. package/dist/engine/utils/lock.js.map +1 -1
  234. package/dist/index-progress.d.ts +10 -0
  235. package/dist/index-progress.js +159 -0
  236. package/dist/index-progress.js.map +1 -0
  237. package/dist/index.d.ts +4 -4
  238. package/dist/index.js +1 -1
  239. package/dist/index.js.map +1 -1
  240. package/dist/mcp/http-transport.d.ts +27 -0
  241. package/dist/mcp/http-transport.js +182 -0
  242. package/dist/mcp/http-transport.js.map +1 -0
  243. package/dist/mcp/input-normalization.d.ts +38 -0
  244. package/dist/mcp/input-normalization.js +95 -0
  245. package/dist/mcp/input-normalization.js.map +1 -0
  246. package/dist/mcp/progress-heartbeat.d.ts +17 -0
  247. package/dist/mcp/progress-heartbeat.js +46 -0
  248. package/dist/mcp/progress-heartbeat.js.map +1 -0
  249. package/dist/mcp/request-metadata.d.ts +2 -0
  250. package/dist/mcp/request-metadata.js +11 -0
  251. package/dist/mcp/request-metadata.js.map +1 -0
  252. package/dist/mcp/request-state.d.ts +40 -0
  253. package/dist/mcp/request-state.js +210 -0
  254. package/dist/mcp/request-state.js.map +1 -0
  255. package/dist/mcp/result-format.d.ts +13 -0
  256. package/dist/mcp/result-format.js +75 -0
  257. package/dist/mcp/result-format.js.map +1 -0
  258. package/dist/mcp/schemas.d.ts +430 -0
  259. package/dist/mcp/schemas.js +447 -0
  260. package/dist/mcp/schemas.js.map +1 -0
  261. package/dist/mcp/tools.d.ts +150 -0
  262. package/dist/mcp/tools.js +448 -0
  263. package/dist/mcp/tools.js.map +1 -0
  264. package/dist/mcp/toolset.d.ts +5 -0
  265. package/dist/mcp/toolset.js +12 -0
  266. package/dist/mcp/toolset.js.map +1 -0
  267. package/dist/observability/trace-context.d.ts +11 -0
  268. package/dist/observability/trace-context.js +138 -0
  269. package/dist/observability/trace-context.js.map +1 -0
  270. package/docs/01-agents.md +111 -0
  271. package/docs/02-cli.md +229 -0
  272. package/docs/03-mcp.md +167 -0
  273. package/docs/04-pipeline.md +218 -0
  274. package/docs/05-architecture.md +86 -0
  275. package/docs/06-server.md +210 -0
  276. package/docs/07-embedding.md +179 -0
  277. package/docs/08-roadmap.md +85 -0
  278. package/docs/README.md +53 -0
  279. package/package.json +17 -8
  280. package/skills/zvec-grep/SKILL.md +43 -133
  281. package/skills/zvec-grep/agents/openai.yaml +2 -2
  282. package/skills/zvec-grep/references/cli-fallback.md +85 -0
  283. package/dist/cli/mcp.d.ts +0 -2
  284. package/dist/cli/mcp.js +0 -354
  285. package/dist/cli/mcp.js.map +0 -1
  286. package/dist/engine/collection/index.d.ts +0 -55
  287. package/dist/engine/collection/index.js +0 -710
  288. package/dist/engine/collection/index.js.map +0 -1
  289. package/dist/engine/errors/details.d.ts +0 -6
  290. package/dist/engine/errors/details.js.map +0 -1
  291. package/dist/engine/errors/index.js +0 -16
  292. package/dist/engine/errors/index.js.map +0 -1
  293. package/dist/engine/extraction/tree-sitter/grammar.js.map +0 -1
  294. package/dist/engine/extraction/tree-sitter/nodes.js.map +0 -1
  295. package/dist/engine/extraction/tree-sitter/parser.js.map +0 -1
  296. package/dist/engine/files/file-type.js.map +0 -1
  297. package/dist/engine/models/providers/index.d.ts +0 -2
  298. package/dist/engine/models/providers/index.js +0 -3
  299. package/dist/engine/models/providers/index.js.map +0 -1
  300. package/dist/engine/models/providers/llama-cpp/embedding.js.map +0 -1
  301. package/dist/engine/models/providers/llama-cpp/index.d.ts +0 -1
  302. package/dist/engine/models/providers/llama-cpp/index.js +0 -2
  303. package/dist/engine/models/providers/llama-cpp/index.js.map +0 -1
  304. package/dist/engine/models/providers/qwen/embedding.d.ts +0 -42
  305. package/dist/engine/models/providers/qwen/embedding.js.map +0 -1
  306. package/dist/engine/models/providers/qwen/index.d.ts +0 -1
  307. package/dist/engine/models/providers/qwen/index.js +0 -2
  308. package/dist/engine/models/providers/qwen/index.js.map +0 -1
  309. package/dist/engine/models/types.d.ts +0 -30
  310. /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/grammar.d.ts +0 -0
  311. /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/grammar.js +0 -0
  312. /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/nodes.d.ts +0 -0
  313. /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/nodes.js +0 -0
  314. /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/parser.d.ts +0 -0
  315. /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/parser.js +0 -0
  316. /package/dist/engine/{models → extraction}/types.js +0 -0
  317. /package/dist/engine/{files/file-type.js → file-type.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/cli/install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { CliOptions, ParsedArgs } from "./types.js";
2
+ export declare function tokenizeManagedRgCommand(command: string): string[];
3
+ export declare function parseManagedRgCommand(root: string, command: string): {
4
+ queries: string[];
5
+ options: CliOptions;
6
+ };
7
+ export declare function normalizeManagedRgInput(parsed: ParsedArgs): {
8
+ queries: string[];
9
+ options: CliOptions;
10
+ };
@@ -0,0 +1,329 @@
1
+ import { realpathSync } from "node:fs";
2
+ import { basename, dirname, isAbsolute, relative, resolve } from "node:path";
3
+ import { parseArgs } from "./args.js";
4
+ const MANAGED_RG_OPTION_KEYS = new Set([
5
+ "rg",
6
+ "rgCompatibilityOptions",
7
+ "rgOptions",
8
+ "rgPaths",
9
+ "globs",
10
+ "insensitiveGlobs",
11
+ "fileTypes",
12
+ "excludedFileTypes",
13
+ "hidden",
14
+ "noIgnore",
15
+ "ignoreFiles",
16
+ "maxDepth",
17
+ "maxFileSizeBytes",
18
+ "follow",
19
+ ]);
20
+ function scanManagedRgCommand(command) {
21
+ const tokens = [];
22
+ let token = "";
23
+ let tokenStarted = false;
24
+ let quote;
25
+ let escaping = false;
26
+ const finishToken = () => {
27
+ if (!tokenStarted) {
28
+ return;
29
+ }
30
+ tokens.push(token);
31
+ token = "";
32
+ tokenStarted = false;
33
+ };
34
+ for (let index = 0; index < command.length; index++) {
35
+ const character = command[index];
36
+ if (character === "\0") {
37
+ throw new Error("rg command cannot contain NUL characters.");
38
+ }
39
+ if (character === "\n" || character === "\r") {
40
+ throw new Error("rg command must be a single command on one line.");
41
+ }
42
+ if (escaping) {
43
+ token += character;
44
+ tokenStarted = true;
45
+ escaping = false;
46
+ continue;
47
+ }
48
+ if (quote === "'") {
49
+ if (character === "'") {
50
+ quote = undefined;
51
+ }
52
+ else {
53
+ token += character;
54
+ }
55
+ tokenStarted = true;
56
+ continue;
57
+ }
58
+ if (quote === '"') {
59
+ if (character === '"') {
60
+ quote = undefined;
61
+ }
62
+ else if (character === "\\") {
63
+ const nextCharacter = command[index + 1];
64
+ if (nextCharacter === undefined) {
65
+ throw new Error("rg command ends with an incomplete escape.");
66
+ }
67
+ if ('"\\$`'.includes(nextCharacter)) {
68
+ token += nextCharacter;
69
+ index += 1;
70
+ }
71
+ else {
72
+ token += character;
73
+ }
74
+ }
75
+ else if (character === "`" || startsExpansion(command, index)) {
76
+ throw new Error("rg command does not support shell expansion.");
77
+ }
78
+ else {
79
+ token += character;
80
+ }
81
+ tokenStarted = true;
82
+ continue;
83
+ }
84
+ if (/\s/u.test(character)) {
85
+ finishToken();
86
+ continue;
87
+ }
88
+ if (character === "'" || character === '"') {
89
+ quote = character;
90
+ tokenStarted = true;
91
+ continue;
92
+ }
93
+ if (character === "\\") {
94
+ escaping = true;
95
+ tokenStarted = true;
96
+ continue;
97
+ }
98
+ if (character === "|" || character === ">") {
99
+ finishToken();
100
+ tokens.push(character);
101
+ continue;
102
+ }
103
+ if ("&;<>()".includes(character)) {
104
+ throw new Error(`rg command does not support shell operator ${JSON.stringify(character)}.`);
105
+ }
106
+ if (character === "`" || startsExpansion(command, index)) {
107
+ throw new Error("rg command does not support shell expansion.");
108
+ }
109
+ token += character;
110
+ tokenStarted = true;
111
+ }
112
+ if (escaping) {
113
+ throw new Error("rg command ends with an incomplete escape.");
114
+ }
115
+ if (quote) {
116
+ throw new Error(`rg command has an unclosed ${quote} quote.`);
117
+ }
118
+ finishToken();
119
+ return tokens;
120
+ }
121
+ export function tokenizeManagedRgCommand(command) {
122
+ return normalizeManagedRgShellSuffix(scanManagedRgCommand(command)).argv;
123
+ }
124
+ function normalizeManagedRgShellSuffix(scannedTokens) {
125
+ const tokens = [...scannedTokens];
126
+ let limit;
127
+ const headPipeIndex = tokens.lastIndexOf("|");
128
+ if (headPipeIndex >= 0) {
129
+ const suffix = tokens.slice(headPipeIndex + 1);
130
+ limit = parseHeadLimit(suffix);
131
+ tokens.splice(headPipeIndex);
132
+ }
133
+ if (tokens.length >= 3 &&
134
+ tokens.at(-3) === "2" &&
135
+ tokens.at(-2) === ">" &&
136
+ tokens.at(-1) === "/dev/null") {
137
+ tokens.splice(-3);
138
+ }
139
+ const unsupportedOperator = tokens.find((token) => token === "|" || token === ">");
140
+ if (unsupportedOperator) {
141
+ throw new Error(`rg command does not support shell operator ${JSON.stringify(unsupportedOperator)}.`);
142
+ }
143
+ return {
144
+ argv: normalizeManagedRgCompatibilityTokens(tokens),
145
+ limit,
146
+ };
147
+ }
148
+ function parseHeadLimit(tokens) {
149
+ if (tokens[0] !== "head") {
150
+ throw new Error(`rg command only supports a trailing "| head", "| head -N", or "| head -n N" output bound.`);
151
+ }
152
+ let raw;
153
+ if (tokens.length === 1) {
154
+ raw = "10";
155
+ }
156
+ else if (tokens.length === 2 && /^-\d+$/u.test(tokens[1])) {
157
+ raw = tokens[1].slice(1);
158
+ }
159
+ else if (tokens.length === 3 &&
160
+ tokens[1] === "-n" &&
161
+ /^\d+$/u.test(tokens[2])) {
162
+ raw = tokens[2];
163
+ }
164
+ if (!raw) {
165
+ throw new Error(`rg command only supports a trailing "| head", "| head -N", or "| head -n N" output bound.`);
166
+ }
167
+ const limit = Number(raw);
168
+ if (!Number.isSafeInteger(limit) || limit <= 0) {
169
+ throw new Error("rg command head limit must be a positive safe integer.");
170
+ }
171
+ return limit;
172
+ }
173
+ function normalizeManagedRgCompatibilityTokens(scannedTokens) {
174
+ const tokens = [];
175
+ let filesWithMatches = false;
176
+ for (const token of scannedTokens) {
177
+ if (token === "-l" || token === "--files-with-matches") {
178
+ filesWithMatches = true;
179
+ continue;
180
+ }
181
+ if (/^-[^-]+$/u.test(token) && token.includes("l")) {
182
+ const withoutFilesWithMatches = token.replaceAll("l", "");
183
+ if (withoutFilesWithMatches !== "-") {
184
+ tokens.push(withoutFilesWithMatches);
185
+ }
186
+ filesWithMatches = true;
187
+ continue;
188
+ }
189
+ tokens.push(token);
190
+ }
191
+ if (filesWithMatches) {
192
+ tokens.splice(1, 0, "--max-count", "1");
193
+ }
194
+ const hyphenPatternIndex = tokens.findIndex((token, index) => index > 0 && token !== "--" && /^-{3,}/u.test(token));
195
+ if (hyphenPatternIndex > 0 &&
196
+ !tokens.slice(1, hyphenPatternIndex).includes("--")) {
197
+ tokens.splice(hyphenPatternIndex, 0, "--");
198
+ }
199
+ return tokens;
200
+ }
201
+ function validateManagedRgTokens(tokens) {
202
+ if (tokens[0] !== "rg") {
203
+ throw new Error('rg command must start with "rg".');
204
+ }
205
+ if (tokens.length === 1) {
206
+ throw new Error("rg command requires a pattern.");
207
+ }
208
+ }
209
+ export function parseManagedRgCommand(root, command) {
210
+ const normalizedCommand = normalizeManagedRgShellSuffix(scanManagedRgCommand(command));
211
+ const argv = normalizedCommand.argv;
212
+ validateManagedRgTokens(argv);
213
+ const parsed = parseArgs(["query", "--rg", ...argv.slice(1)]);
214
+ assertOnlyManagedRgOptions(parsed.options);
215
+ const normalized = normalizeManagedRgInput(parsed);
216
+ normalized.queries = normalized.queries
217
+ .map((query) => query.trim())
218
+ .filter((query) => query.length > 0);
219
+ if (normalized.queries.length === 0 &&
220
+ (normalized.options.rgOptions?.patternFiles?.length ?? 0) === 0) {
221
+ throw new Error("rg command requires a non-empty pattern.");
222
+ }
223
+ assertRootScopedPaths(root, normalized.options);
224
+ return {
225
+ queries: normalized.queries,
226
+ options: {
227
+ ...normalized.options,
228
+ // Match ripgrep semantics: the search is exhaustive unless the caller
229
+ // explicitly supplies a trailing `head` output bound.
230
+ limit: normalizedCommand.limit,
231
+ },
232
+ };
233
+ }
234
+ export function normalizeManagedRgInput(parsed) {
235
+ const explicitPatterns = parsed.options.rgOptions?.patterns ?? [];
236
+ const hasPatternFiles = (parsed.options.rgOptions?.patternFiles?.length ?? 0) > 0;
237
+ const queries = explicitPatterns.length > 0 || hasPatternFiles
238
+ ? explicitPatterns
239
+ : parsed.positionals.slice(0, 1);
240
+ const paths = explicitPatterns.length > 0 || hasPatternFiles
241
+ ? parsed.positionals
242
+ : parsed.positionals.slice(1);
243
+ return {
244
+ queries,
245
+ options: {
246
+ ...parsed.options,
247
+ rgPaths: paths.length > 0 ? paths : undefined,
248
+ },
249
+ };
250
+ }
251
+ function startsExpansion(command, index) {
252
+ return (command[index] === "$" &&
253
+ (command[index + 1] === "(" || command[index + 1] === "{"));
254
+ }
255
+ function assertOnlyManagedRgOptions(options) {
256
+ const unsupported = Object.keys(options).find((key) => !MANAGED_RG_OPTION_KEYS.has(key));
257
+ if (unsupported) {
258
+ throw new Error(`rg command option ${JSON.stringify(`--${toKebabCase(unsupported)}`)} is not supported by the MCP tool.`);
259
+ }
260
+ }
261
+ function assertRootScopedPaths(root, options) {
262
+ if (options.follow) {
263
+ throw new Error('rg command option "--follow" is not supported by the MCP tool.');
264
+ }
265
+ const resolvedRoot = resolve(root);
266
+ const canonicalRoot = resolveThroughExistingAncestor(resolvedRoot);
267
+ for (const path of options.rgPaths ?? []) {
268
+ assertRootScopedPath(resolvedRoot, canonicalRoot, path, "search path");
269
+ }
270
+ for (const path of options.ignoreFiles ?? []) {
271
+ assertRootScopedPath(resolvedRoot, canonicalRoot, path, "ignore file");
272
+ }
273
+ for (const path of options.rgOptions?.patternFiles ?? []) {
274
+ if (path === "-") {
275
+ throw new Error("rg command cannot read patterns from stdin.");
276
+ }
277
+ assertRootScopedPath(resolvedRoot, canonicalRoot, path, "pattern file");
278
+ }
279
+ }
280
+ function assertRootScopedPath(resolvedRoot, canonicalRoot, path, label) {
281
+ const resolvedPath = resolve(resolvedRoot, path);
282
+ if (pathEscapesRoot(resolvedRoot, resolvedPath)) {
283
+ throw new Error(`${label} must stay within root: ${path}`);
284
+ }
285
+ const canonicalPath = resolveThroughExistingAncestor(resolvedPath);
286
+ if (pathEscapesRoot(canonicalRoot, canonicalPath)) {
287
+ throw new Error(`${label} resolves outside root: ${path}`);
288
+ }
289
+ }
290
+ function pathEscapesRoot(root, path) {
291
+ const relativePath = relative(root, path);
292
+ return (relativePath === ".." ||
293
+ relativePath.startsWith("../") ||
294
+ relativePath.startsWith("..\\") ||
295
+ isAbsolute(relativePath));
296
+ }
297
+ function resolveThroughExistingAncestor(path) {
298
+ let current = path;
299
+ const missingSegments = [];
300
+ while (true) {
301
+ try {
302
+ return resolve(realpathSync(current), ...missingSegments);
303
+ }
304
+ catch (error) {
305
+ if (!isMissingPathError(error)) {
306
+ throw error;
307
+ }
308
+ }
309
+ const parent = dirname(current);
310
+ if (parent === current) {
311
+ return path;
312
+ }
313
+ missingSegments.unshift(basename(current));
314
+ current = parent;
315
+ }
316
+ }
317
+ function isMissingPathError(error) {
318
+ if (!error ||
319
+ typeof error !== "object" ||
320
+ !("code" in error) ||
321
+ typeof error.code !== "string") {
322
+ return false;
323
+ }
324
+ return error.code === "ENOENT" || error.code === "ENOTDIR";
325
+ }
326
+ function toKebabCase(value) {
327
+ return value.replace(/[A-Z]/g, (character) => `-${character.toLowerCase()}`);
328
+ }
329
+ //# sourceMappingURL=managed-rg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-rg.js","sourceRoot":"","sources":["../../src/cli/managed-rg.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,26 @@
1
1
  import type { CodeSymbolType, ZvecGrepContextRoute } from "../index.js";
2
+ import type { ZvecGrepClientMode } from "../engine/config.js";
3
+ import type { McpToolset } from "../mcp/toolset.js";
2
4
  export type ColorMode = "auto" | "always" | "never";
3
5
  export type PreviewMode = "none" | "short" | "full";
6
+ export type QueryRefreshMode = "background" | "wait" | "off";
4
7
  export type CliOptions = {
5
- mcp?: boolean;
8
+ configAction?: "model-set" | "provider-set";
9
+ defaultModel?: boolean;
10
+ authAction?: "grant" | "status" | "revoke";
11
+ authorizationCapability?: "embedding";
12
+ authorizationScope?: "workspace";
13
+ allowRemote?: boolean;
14
+ serverAction?: "on" | "off" | "status" | "run";
15
+ mcpToolset?: McpToolset;
16
+ listen?: string;
17
+ serverTokenFile?: string;
18
+ mode?: ZvecGrepClientMode;
19
+ forceDirect?: boolean;
6
20
  installTargets?: string[];
7
21
  installMcpToolTimeoutSeconds?: number;
22
+ installMcpTokenEnv?: string;
8
23
  yes?: boolean;
9
- collection?: string;
10
24
  rg?: boolean;
11
25
  rgCompatibilityOptions?: string[];
12
26
  rgOptions?: CliRgOptions;
@@ -14,13 +28,13 @@ export type CliOptions = {
14
28
  debug?: boolean;
15
29
  trace?: boolean;
16
30
  human?: boolean;
31
+ checkReady?: boolean;
17
32
  preview?: PreviewMode;
18
33
  color?: ColorMode;
19
34
  home?: string;
20
35
  embedding?: string;
21
36
  modelCacheDir?: string;
22
- llamaGpu?: "auto" | "metal" | "vulkan" | "cuda" | false;
23
- embeddingParallelism?: number;
37
+ device?: "auto" | "cpu" | "metal" | "vulkan" | "cuda";
24
38
  apiKey?: string;
25
39
  endpoint?: string;
26
40
  limit?: number;
@@ -31,7 +45,7 @@ export type CliOptions = {
31
45
  drop?: boolean;
32
46
  force?: boolean;
33
47
  resetPaths?: boolean;
34
- noAutoUpdate?: boolean;
48
+ refresh?: QueryRefreshMode;
35
49
  preferSymbol?: boolean;
36
50
  globs?: string[];
37
51
  insensitiveGlobs?: string[];
@@ -48,7 +62,7 @@ export type CliOptions = {
48
62
  symbolTypes?: CodeSymbolType[];
49
63
  embeddingConcurrency?: number;
50
64
  };
51
- export type CliCommand = "query" | "index" | "status" | "collections" | "install" | "uninstall" | "serve" | "help" | "version";
65
+ export type CliCommand = "query" | "index" | "status" | "install" | "uninstall" | "config" | "auth" | "server" | "help" | "version";
52
66
  export type CliRgOptions = {
53
67
  patterns?: string[];
54
68
  patternFiles?: string[];
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAoGA,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"}
@@ -0,0 +1,19 @@
1
+ import type { Progress } from "@modelcontextprotocol/client";
2
+ type DaemonToolCallOptions = {
3
+ onProgress?: (progress: Progress) => void;
4
+ embeddingEnvironment?: string;
5
+ };
6
+ export declare class DaemonClient {
7
+ private readonly options;
8
+ constructor(options: {
9
+ serverUrl: string;
10
+ home?: string;
11
+ tokenFile?: string;
12
+ allowRemote?: boolean;
13
+ });
14
+ callTool(name: string, args: Record<string, unknown>, callOptions?: DaemonToolCallOptions): Promise<Record<string, unknown>>;
15
+ callTextTool(name: string, args: Record<string, unknown>, callOptions?: DaemonToolCallOptions): Promise<string>;
16
+ private invokeTool;
17
+ }
18
+ export declare function daemonAdminServerUrl(serverUrl: string): URL;
19
+ export {};