@zvec/zvec-grep 0.1.5 → 0.1.7

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 (358) hide show
  1. package/README.md +154 -236
  2. package/README_CN.md +142 -233
  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 +338 -55
  29. package/dist/cli/args.js.map +1 -1
  30. package/dist/cli/auth.d.ts +21 -0
  31. package/dist/cli/auth.js +209 -0
  32. package/dist/cli/auth.js.map +1 -0
  33. package/dist/cli/commands.js +469 -625
  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 +4 -0
  38. package/dist/cli/format/context.js +311 -44
  39. package/dist/cli/format/context.js.map +1 -1
  40. package/dist/cli/format/debug.js +12 -6
  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 +79 -6
  46. package/dist/cli/format/status.js +341 -111
  47. package/dist/cli/format/status.js.map +1 -1
  48. package/dist/cli/help.js +395 -63
  49. package/dist/cli/help.js.map +1 -1
  50. package/dist/cli/index.d.ts +1 -1
  51. package/dist/cli/index.js +1 -1
  52. package/dist/cli/install.d.ts +4 -0
  53. package/dist/cli/install.js +963 -0
  54. package/dist/cli/install.js.map +1 -0
  55. package/dist/cli/managed-rg.d.ts +10 -0
  56. package/dist/cli/managed-rg.js +329 -0
  57. package/dist/cli/managed-rg.js.map +1 -0
  58. package/dist/cli/server-search.d.ts +3 -0
  59. package/dist/cli/server-search.js +12 -0
  60. package/dist/cli/server-search.js.map +1 -0
  61. package/dist/cli/types.d.ts +23 -6
  62. package/dist/cli/types.js.map +1 -1
  63. package/dist/client/daemon-client.d.ts +31 -0
  64. package/dist/client/daemon-client.js +203 -0
  65. package/dist/client/daemon-client.js.map +1 -0
  66. package/dist/client/mode-router.d.ts +9 -0
  67. package/dist/client/mode-router.js +28 -0
  68. package/dist/client/mode-router.js.map +1 -0
  69. package/dist/client/search-policy.d.ts +11 -0
  70. package/dist/client/search-policy.js +15 -0
  71. package/dist/client/search-policy.js.map +1 -0
  72. package/dist/daemon/backend.d.ts +77 -0
  73. package/dist/daemon/backend.js +1087 -0
  74. package/dist/daemon/backend.js.map +1 -0
  75. package/dist/daemon/change-set.d.ts +25 -0
  76. package/dist/daemon/change-set.js +101 -0
  77. package/dist/daemon/change-set.js.map +1 -0
  78. package/dist/daemon/config.d.ts +24 -0
  79. package/dist/daemon/config.js +88 -0
  80. package/dist/daemon/config.js.map +1 -0
  81. package/dist/daemon/errors.d.ts +5 -0
  82. package/dist/daemon/errors.js +11 -0
  83. package/dist/daemon/errors.js.map +1 -0
  84. package/dist/daemon/http-server.d.ts +30 -0
  85. package/dist/daemon/http-server.js +288 -0
  86. package/dist/daemon/http-server.js.map +1 -0
  87. package/dist/daemon/index-coordinator.d.ts +24 -0
  88. package/dist/daemon/index-coordinator.js +68 -0
  89. package/dist/daemon/index-coordinator.js.map +1 -0
  90. package/dist/daemon/job-scheduler.d.ts +70 -0
  91. package/dist/daemon/job-scheduler.js +366 -0
  92. package/dist/daemon/job-scheduler.js.map +1 -0
  93. package/dist/daemon/logger.d.ts +9 -0
  94. package/dist/daemon/logger.js +53 -0
  95. package/dist/daemon/logger.js.map +1 -0
  96. package/dist/daemon/model-pool.d.ts +45 -0
  97. package/dist/daemon/model-pool.js +187 -0
  98. package/dist/daemon/model-pool.js.map +1 -0
  99. package/dist/daemon/root-lease.d.ts +14 -0
  100. package/dist/daemon/root-lease.js +188 -0
  101. package/dist/daemon/root-lease.js.map +1 -0
  102. package/dist/daemon/root-runtime.d.ts +78 -0
  103. package/dist/daemon/root-runtime.js +333 -0
  104. package/dist/daemon/root-runtime.js.map +1 -0
  105. package/dist/daemon/runtime-manager.d.ts +46 -0
  106. package/dist/daemon/runtime-manager.js +246 -0
  107. package/dist/daemon/runtime-manager.js.map +1 -0
  108. package/dist/daemon/runtime.d.ts +12 -0
  109. package/dist/daemon/runtime.js +102 -0
  110. package/dist/daemon/runtime.js.map +1 -0
  111. package/dist/daemon/server-controller.d.ts +39 -0
  112. package/dist/daemon/server-controller.js +254 -0
  113. package/dist/daemon/server-controller.js.map +1 -0
  114. package/dist/daemon/watch-manager.d.ts +50 -0
  115. package/dist/daemon/watch-manager.js +293 -0
  116. package/dist/daemon/watch-manager.js.map +1 -0
  117. package/dist/daemon/workspace-read-session-cache.d.ts +31 -0
  118. package/dist/daemon/workspace-read-session-cache.js +115 -0
  119. package/dist/daemon/workspace-read-session-cache.js.map +1 -0
  120. package/dist/engine/code-formats.d.ts +3 -0
  121. package/dist/engine/code-formats.js +14 -0
  122. package/dist/engine/code-formats.js.map +1 -0
  123. package/dist/engine/config.d.ts +30 -8
  124. package/dist/engine/config.js +171 -45
  125. package/dist/engine/config.js.map +1 -1
  126. package/dist/engine/{errors/index.d.ts → errors.d.ts} +6 -1
  127. package/dist/engine/{errors/details.js → errors.js} +17 -4
  128. package/dist/engine/errors.js.map +1 -0
  129. package/dist/engine/extraction/code/adapter.d.ts +1 -1
  130. package/dist/engine/extraction/code/adapter.js +1 -1
  131. package/dist/engine/extraction/code/adapter.js.map +1 -1
  132. package/dist/engine/extraction/code/extractor.d.ts +5 -11
  133. package/dist/engine/extraction/code/extractor.js +116 -48
  134. package/dist/engine/extraction/code/extractor.js.map +1 -1
  135. package/dist/engine/extraction/code/families/c-family.js +1 -1
  136. package/dist/engine/extraction/code/families/c-family.js.map +1 -1
  137. package/dist/engine/extraction/code/families/js-ts.d.ts +1 -1
  138. package/dist/engine/extraction/code/families/metadata.d.ts +1 -1
  139. package/dist/engine/extraction/code/tree-sitter/grammar.js.map +1 -0
  140. package/dist/engine/extraction/code/tree-sitter/nodes.js.map +1 -0
  141. package/dist/engine/extraction/code/tree-sitter/parser.js.map +1 -0
  142. package/dist/engine/extraction/image/extractor.d.ts +5 -0
  143. package/dist/engine/extraction/image/extractor.js +35 -0
  144. package/dist/engine/extraction/image/extractor.js.map +1 -0
  145. package/dist/engine/extraction/index.d.ts +4 -44
  146. package/dist/engine/extraction/index.js +2 -280
  147. package/dist/engine/extraction/index.js.map +1 -1
  148. package/dist/engine/extraction/markdown/extractor.d.ts +5 -11
  149. package/dist/engine/extraction/markdown/extractor.js +38 -17
  150. package/dist/engine/extraction/markdown/extractor.js.map +1 -1
  151. package/dist/engine/extraction/runtime.d.ts +4 -0
  152. package/dist/engine/extraction/runtime.js +26 -0
  153. package/dist/engine/extraction/runtime.js.map +1 -0
  154. package/dist/engine/extraction/source.d.ts +18 -0
  155. package/dist/engine/extraction/source.js +22 -0
  156. package/dist/engine/extraction/source.js.map +1 -0
  157. package/dist/engine/extraction/text/extractor.d.ts +7 -0
  158. package/dist/engine/extraction/text/extractor.js +168 -0
  159. package/dist/engine/extraction/text/extractor.js.map +1 -0
  160. package/dist/engine/extraction/types.d.ts +4 -0
  161. package/dist/engine/{models → extraction}/types.js.map +1 -1
  162. package/dist/engine/extraction/vector-content.d.ts +5 -0
  163. package/dist/engine/extraction/vector-content.js +95 -0
  164. package/dist/engine/extraction/vector-content.js.map +1 -0
  165. package/dist/engine/file-size-policy.d.ts +6 -0
  166. package/dist/engine/file-size-policy.js +20 -0
  167. package/dist/engine/file-size-policy.js.map +1 -0
  168. package/dist/engine/file-type.d.ts +15 -0
  169. package/dist/engine/file-type.js +152 -0
  170. package/dist/engine/file-type.js.map +1 -0
  171. package/dist/engine/index-status.d.ts +9 -0
  172. package/dist/engine/index-status.js +38 -0
  173. package/dist/engine/index-status.js.map +1 -0
  174. package/dist/engine/manifest.d.ts +13 -0
  175. package/dist/engine/manifest.js +124 -0
  176. package/dist/engine/manifest.js.map +1 -0
  177. package/dist/engine/models/{providers/llama-cpp/embedding.d.ts → backends/llama-cpp.d.ts} +25 -20
  178. package/dist/engine/models/{providers/llama-cpp/embedding.js → backends/llama-cpp.js} +127 -106
  179. package/dist/engine/models/backends/llama-cpp.js.map +1 -0
  180. package/dist/engine/models/backends/model2vec-runtime.d.ts +63 -0
  181. package/dist/engine/models/backends/model2vec-runtime.js +112 -0
  182. package/dist/engine/models/backends/model2vec-runtime.js.map +1 -0
  183. package/dist/engine/models/backends/model2vec-tokenizer.d.ts +2 -0
  184. package/dist/engine/models/backends/model2vec-tokenizer.js +42 -0
  185. package/dist/engine/models/backends/model2vec-tokenizer.js.map +1 -0
  186. package/dist/engine/models/backends/model2vec-worker-pool.d.ts +25 -0
  187. package/dist/engine/models/backends/model2vec-worker-pool.js +264 -0
  188. package/dist/engine/models/backends/model2vec-worker-pool.js.map +1 -0
  189. package/dist/engine/models/backends/model2vec-worker.d.ts +1 -0
  190. package/dist/engine/models/backends/model2vec-worker.js +41 -0
  191. package/dist/engine/models/backends/model2vec-worker.js.map +1 -0
  192. package/dist/engine/models/backends/model2vec.d.ts +40 -0
  193. package/dist/engine/models/backends/model2vec.js +311 -0
  194. package/dist/engine/models/backends/model2vec.js.map +1 -0
  195. package/dist/engine/models/backends/qwen.d.ts +44 -0
  196. package/dist/engine/models/{providers/qwen/embedding.js → backends/qwen.js} +155 -94
  197. package/dist/engine/models/backends/qwen.js.map +1 -0
  198. package/dist/engine/models/backends/transformers-js.d.ts +87 -0
  199. package/dist/engine/models/backends/transformers-js.js +316 -0
  200. package/dist/engine/models/backends/transformers-js.js.map +1 -0
  201. package/dist/engine/models/catalog.d.ts +207 -23
  202. package/dist/engine/models/catalog.js +191 -25
  203. package/dist/engine/models/catalog.js.map +1 -1
  204. package/dist/engine/models/download-progress.d.ts +15 -0
  205. package/dist/engine/models/download-progress.js +48 -0
  206. package/dist/engine/models/download-progress.js.map +1 -0
  207. package/dist/engine/models/embeddings.d.ts +59 -18
  208. package/dist/engine/models/embeddings.js +52 -28
  209. package/dist/engine/models/embeddings.js.map +1 -1
  210. package/dist/engine/models/factory.d.ts +2 -5
  211. package/dist/engine/models/factory.js +41 -56
  212. package/dist/engine/models/factory.js.map +1 -1
  213. package/dist/engine/models/index.d.ts +4 -6
  214. package/dist/engine/models/index.js +4 -4
  215. package/dist/engine/models/index.js.map +1 -1
  216. package/dist/engine/models/ranking.d.ts +7 -3
  217. package/dist/engine/models/resolution.d.ts +8 -0
  218. package/dist/engine/models/resolution.js +22 -0
  219. package/dist/engine/models/resolution.js.map +1 -0
  220. package/dist/engine/pipeline/indexing/index.d.ts +9 -7
  221. package/dist/engine/pipeline/indexing/index.js +409 -165
  222. package/dist/engine/pipeline/indexing/index.js.map +1 -1
  223. package/dist/engine/pipeline/indexing/input-budget.d.ts +2 -0
  224. package/dist/engine/pipeline/indexing/input-budget.js +51 -0
  225. package/dist/engine/pipeline/indexing/input-budget.js.map +1 -0
  226. package/dist/engine/pipeline/indexing/root-paths.js +6 -6
  227. package/dist/engine/pipeline/indexing/root-paths.js.map +1 -1
  228. package/dist/engine/pipeline/indexing/scanner/index.d.ts +9 -2
  229. package/dist/engine/pipeline/indexing/scanner/index.js +291 -35
  230. package/dist/engine/pipeline/indexing/scanner/index.js.map +1 -1
  231. package/dist/engine/pipeline/search/index.d.ts +6 -6
  232. package/dist/engine/pipeline/search/index.js +8 -10
  233. package/dist/engine/pipeline/search/index.js.map +1 -1
  234. package/dist/engine/service/index.d.ts +3 -2
  235. package/dist/engine/service/index.js +1 -1
  236. package/dist/engine/service/index.js.map +1 -1
  237. package/dist/engine/service/root.d.ts +10 -12
  238. package/dist/engine/service/root.js +29 -25
  239. package/dist/engine/service/root.js.map +1 -1
  240. package/dist/engine/service/structure-enrichment.d.ts +1 -1
  241. package/dist/engine/service/structure-enrichment.js +20 -22
  242. package/dist/engine/service/structure-enrichment.js.map +1 -1
  243. package/dist/engine/service/types.d.ts +40 -38
  244. package/dist/engine/service/workspace-index.d.ts +26 -0
  245. package/dist/engine/service/workspace-index.js +157 -0
  246. package/dist/engine/service/workspace-index.js.map +1 -0
  247. package/dist/engine/service/zvec-grep.d.ts +12 -1
  248. package/dist/engine/service/zvec-grep.js +698 -489
  249. package/dist/engine/service/zvec-grep.js.map +1 -1
  250. package/dist/engine/storage/index.d.ts +30 -20
  251. package/dist/engine/storage/index.js +2 -1
  252. package/dist/engine/storage/index.js.map +1 -1
  253. package/dist/engine/storage/layout.d.ts +10 -0
  254. package/dist/engine/storage/layout.js +29 -0
  255. package/dist/engine/storage/layout.js.map +1 -0
  256. package/dist/engine/storage/zvec.d.ts +4 -67
  257. package/dist/engine/storage/zvec.js +115 -85
  258. package/dist/engine/storage/zvec.js.map +1 -1
  259. package/dist/engine/types.d.ts +29 -23
  260. package/dist/engine/types.js +1 -1
  261. package/dist/engine/types.js.map +1 -1
  262. package/dist/engine/utils/daemon-lease.d.ts +17 -0
  263. package/dist/engine/utils/daemon-lease.js +175 -0
  264. package/dist/engine/utils/daemon-lease.js.map +1 -0
  265. package/dist/engine/utils/file-selection.js +38 -1
  266. package/dist/engine/utils/file-selection.js.map +1 -1
  267. package/dist/engine/utils/lock.js +1 -1
  268. package/dist/engine/utils/lock.js.map +1 -1
  269. package/dist/index-progress.d.ts +10 -0
  270. package/dist/index-progress.js +159 -0
  271. package/dist/index-progress.js.map +1 -0
  272. package/dist/index.d.ts +4 -4
  273. package/dist/index.js +1 -1
  274. package/dist/index.js.map +1 -1
  275. package/dist/mcp/http-transport.d.ts +27 -0
  276. package/dist/mcp/http-transport.js +182 -0
  277. package/dist/mcp/http-transport.js.map +1 -0
  278. package/dist/mcp/input-normalization.d.ts +38 -0
  279. package/dist/mcp/input-normalization.js +104 -0
  280. package/dist/mcp/input-normalization.js.map +1 -0
  281. package/dist/mcp/progress-heartbeat.d.ts +17 -0
  282. package/dist/mcp/progress-heartbeat.js +46 -0
  283. package/dist/mcp/progress-heartbeat.js.map +1 -0
  284. package/dist/mcp/request-metadata.d.ts +2 -0
  285. package/dist/mcp/request-metadata.js +11 -0
  286. package/dist/mcp/request-metadata.js.map +1 -0
  287. package/dist/mcp/request-state.d.ts +40 -0
  288. package/dist/mcp/request-state.js +210 -0
  289. package/dist/mcp/request-state.js.map +1 -0
  290. package/dist/mcp/result-format.d.ts +13 -0
  291. package/dist/mcp/result-format.js +75 -0
  292. package/dist/mcp/result-format.js.map +1 -0
  293. package/dist/mcp/schemas.d.ts +672 -0
  294. package/dist/mcp/schemas.js +506 -0
  295. package/dist/mcp/schemas.js.map +1 -0
  296. package/dist/mcp/stdio-bridge.d.ts +9 -0
  297. package/dist/mcp/stdio-bridge.js +131 -0
  298. package/dist/mcp/stdio-bridge.js.map +1 -0
  299. package/dist/mcp/tools.d.ts +153 -0
  300. package/dist/mcp/tools.js +482 -0
  301. package/dist/mcp/tools.js.map +1 -0
  302. package/dist/mcp/toolset.d.ts +5 -0
  303. package/dist/mcp/toolset.js +12 -0
  304. package/dist/mcp/toolset.js.map +1 -0
  305. package/dist/observability/trace-context.d.ts +11 -0
  306. package/dist/observability/trace-context.js +138 -0
  307. package/dist/observability/trace-context.js.map +1 -0
  308. package/dist/prompts/zvec-grep-guidance.d.ts +2 -0
  309. package/dist/prompts/zvec-grep-guidance.js +9 -0
  310. package/dist/prompts/zvec-grep-guidance.js.map +1 -0
  311. package/docs/01-agents.md +132 -0
  312. package/docs/02-cli.md +239 -0
  313. package/docs/03-mcp.md +185 -0
  314. package/docs/04-pipeline.md +226 -0
  315. package/docs/05-architecture.md +86 -0
  316. package/docs/06-server.md +215 -0
  317. package/docs/07-embedding.md +182 -0
  318. package/docs/08-roadmap.md +85 -0
  319. package/docs/README.md +53 -0
  320. package/package.json +20 -11
  321. package/dist/cli/mcp.d.ts +0 -2
  322. package/dist/cli/mcp.js +0 -354
  323. package/dist/cli/mcp.js.map +0 -1
  324. package/dist/engine/collection/index.d.ts +0 -55
  325. package/dist/engine/collection/index.js +0 -710
  326. package/dist/engine/collection/index.js.map +0 -1
  327. package/dist/engine/errors/details.d.ts +0 -6
  328. package/dist/engine/errors/details.js.map +0 -1
  329. package/dist/engine/errors/index.js +0 -16
  330. package/dist/engine/errors/index.js.map +0 -1
  331. package/dist/engine/extraction/tree-sitter/grammar.js.map +0 -1
  332. package/dist/engine/extraction/tree-sitter/nodes.js.map +0 -1
  333. package/dist/engine/extraction/tree-sitter/parser.js.map +0 -1
  334. package/dist/engine/files/file-type.d.ts +0 -5
  335. package/dist/engine/files/file-type.js +0 -119
  336. package/dist/engine/files/file-type.js.map +0 -1
  337. package/dist/engine/models/providers/index.d.ts +0 -2
  338. package/dist/engine/models/providers/index.js +0 -3
  339. package/dist/engine/models/providers/index.js.map +0 -1
  340. package/dist/engine/models/providers/llama-cpp/embedding.js.map +0 -1
  341. package/dist/engine/models/providers/llama-cpp/index.d.ts +0 -1
  342. package/dist/engine/models/providers/llama-cpp/index.js +0 -2
  343. package/dist/engine/models/providers/llama-cpp/index.js.map +0 -1
  344. package/dist/engine/models/providers/qwen/embedding.d.ts +0 -42
  345. package/dist/engine/models/providers/qwen/embedding.js.map +0 -1
  346. package/dist/engine/models/providers/qwen/index.d.ts +0 -1
  347. package/dist/engine/models/providers/qwen/index.js +0 -2
  348. package/dist/engine/models/providers/qwen/index.js.map +0 -1
  349. package/dist/engine/models/types.d.ts +0 -30
  350. package/skills/zvec-grep/SKILL.md +0 -151
  351. package/skills/zvec-grep/agents/openai.yaml +0 -4
  352. /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/grammar.d.ts +0 -0
  353. /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/grammar.js +0 -0
  354. /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/nodes.d.ts +0 -0
  355. /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/nodes.js +0 -0
  356. /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/parser.d.ts +0 -0
  357. /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/parser.js +0 -0
  358. /package/dist/engine/{models → extraction}/types.js +0 -0
package/dist/cli/help.js CHANGED
@@ -1,3 +1,7 @@
1
+ import { COMPONENT_CODE_FORMATS, STRUCTURED_CODE_FORMATS, } from "../engine/code-formats.js";
2
+ import { listKnownBinaryExtensionGroups, listRecognizedFileTypes, } from "../engine/file-type.js";
3
+ import { resolveMaxFileSizeBytes } from "../engine/file-size-policy.js";
4
+ import { listEmbeddingModels } from "../engine/models/index.js";
1
5
  export function printHelp(version, topic) {
2
6
  if (!topic) {
3
7
  console.log(mainHelp(version));
@@ -9,6 +13,36 @@ export function printHelp(version, topic) {
9
13
  }
10
14
  console.log(help);
11
15
  }
16
+ const ENVIRONMENT_VARIABLES = {
17
+ ZVEC_GREP_HOME: "Runtime and daemon state directory; Workspace indexes stay under <root>/.zvec-grep",
18
+ ZVEC_GREP_MODE: "Default client mode: direct, server, or auto",
19
+ ZVEC_GREP_SERVER_URL: "MCP server URL used by CLI clients",
20
+ ZVEC_GREP_SERVER_TOKEN: "Server/client Bearer token",
21
+ ZVEC_GREP_SERVER_TOKEN_FILE: "File containing the Server/client Bearer token",
22
+ ZVEC_GREP_MCP_TOOLSET: "Server MCP surface: agent or full",
23
+ ZVEC_GREP_EMBEDDING: "Default model for new indexes and auth grant",
24
+ ZVEC_GREP_API_KEY: "Embedding provider credential fallback",
25
+ ZVEC_GREP_ENDPOINT: "Remote Embedding endpoint fallback",
26
+ ZVEC_GREP_MODEL_CACHE: "Local embedding model cache directory",
27
+ ZVEC_GREP_DEVICE: "Local embedding device: auto, cpu, metal, vulkan, or cuda",
28
+ DASHSCOPE_API_KEY: "Qwen credential fallback after ZVEC_GREP_API_KEY",
29
+ QWEN_API_KEY: "Qwen credential fallback after DASHSCOPE_API_KEY",
30
+ ZVEC_GREP_AUTHORIZATION_KEY_FILE: "Workspace grant signing-key file (advanced)",
31
+ ZVEC_GREP_METAL_KEEP_RESIDENCY: "Set to 1 to keep llama.cpp Metal residency enabled (advanced)",
32
+ ZVEC_GREP_LLAMA_CONTEXT_PARALLELISM: "Positive llama.cpp context parallelism override (advanced)",
33
+ NO_COLOR: "Disable terminal colors",
34
+ CODEX_HOME: "Codex configuration directory used by zg install",
35
+ CLAUDE_CONFIG_DIR: "Claude configuration directory used by zg install",
36
+ OPENCODE_CONFIG: "OpenCode configuration file used by zg install",
37
+ CURSOR_CONFIG_DIR: "Cursor configuration directory used by zg install",
38
+ };
39
+ const MAIN_ENVIRONMENT_VARIABLES = [
40
+ "ZVEC_GREP_HOME",
41
+ "ZVEC_GREP_MODE",
42
+ "ZVEC_GREP_EMBEDDING",
43
+ "ZVEC_GREP_API_KEY",
44
+ "ZVEC_GREP_SERVER_URL",
45
+ ];
12
46
  function mainHelp(version) {
13
47
  return `zvec-grep ${version}
14
48
 
@@ -19,20 +53,30 @@ Commands:
19
53
  query Search indexed context or run managed ripgrep
20
54
  index Build, rebuild, or drop the workspace index
21
55
  status Show workspace and index status
22
- collections Manage named collections
56
+ config Configure provider credentials and embedding model defaults
57
+ auth Manage Workspace Remote Embedding authorization
58
+ server Start, stop, inspect, or run the shared MCP server
23
59
  install Install agent integrations
24
60
  uninstall Remove agent integrations
25
- help Show help for a command
61
+ help Show help for a command or topic
26
62
  version Print the installed version
27
63
 
28
64
  Examples:
29
65
  zg query "where authentication is validated"
30
66
  zg query --fts "AuthService"
31
67
  zg query --rg -F "AuthService" src
32
- zg index --embedding local/embeddinggemma-300m
68
+ zg index --embedding local/potion-code-16m-v2
33
69
  zg status
70
+ zg auth status
71
+ zg server on
72
+ zg config model set local/potion-code-16m-v2 --device metal
34
73
  zg install
35
74
 
75
+ Environment:
76
+ ${formatEnvironmentVariables(MAIN_ENVIRONMENT_VARIABLES)}
77
+
78
+ Run zg help models or zg help file-types for supported indexing capabilities.
79
+ Run zg help environment for all variables, scopes, aliases, and precedence.
36
80
  Run zg help <command> or zg <command> --help for command-specific help.
37
81
  Use zg -h/--help for this page and zg -v/--version for the version.`;
38
82
  }
@@ -50,53 +94,74 @@ Search routes:
50
94
  --fts <query> Add an exact/lexical query
51
95
  --vector <query> Add a semantic/vector query
52
96
  --fuse Fuse all query groups into one ranked list
53
- --rg Run exhaustive managed ripgrep; cannot be mixed with indexed routes
54
-
55
- Each route option consumes one query and may be repeated. Without --fuse,
56
- --limit applies to each query group; with --fuse it applies to the final list.
97
+ --rg Run exhaustive managed ripgrep
57
98
 
58
99
  Result options:
59
- --limit <n> Maximum results
60
- --human Human-readable ranked output
61
- --preview <none|short|full> Indexed source preview size
100
+ --limit <n> Maximum results per group (default: 7)
101
+ --human Human-readable output (default: agent markdown)
102
+ --preview <none|short|full> Indexed preview size (default: none; --human: full)
62
103
  --debug Print diagnostics to stderr
63
104
  --trace Include per-hit indexed search trace
64
- --color <auto|always|never> Color mode
65
- --no-color Disable color
105
+ --refresh <background|wait|off> Refresh policy (defaults: server=background, direct=off)
106
+ In direct mode, background warns and falls back to off
107
+ --mode <direct|server|auto> Select indexed query transport (default: auto)
108
+
109
+ Indexed results are shown by query group, preserving each group's own rank.
110
+ A result that matches more than one group is shown in each matching group.
66
111
 
67
- File filters (indexed and --rg):
112
+ Embedding runtime:
113
+ --api-key <key> Embedding provider API key
114
+ --model-cache <path> Local model cache directory
115
+ --device <device> auto, cpu, metal, vulkan, cuda
116
+ --allow-remote Allow Remote Embedding for this command only
117
+
118
+ File filters:
68
119
  -g, --glob <glob> Include paths; prefix with ! to exclude; repeatable
69
120
  --iglob <glob> Case-insensitive path glob; repeatable
70
121
  -t, --type <type> Include a ripgrep file type; repeatable
71
122
  -T, --type-not <type> Exclude a ripgrep file type; repeatable
72
123
  --modified-after <time> Only files modified after a date or epoch milliseconds
73
124
  --modified-before <time> Only files modified before a date or epoch milliseconds
74
-
75
- Indexed-only filters:
76
- --collection <name> Query a named collection
77
125
  --symbol-type <type> module, class, interface, function, value, alias
78
126
  --prefer-symbol Prefer exact indexed symbols
79
- --no-auto-update Do not refresh a stale anonymous index
80
- --embedding-concurrency <n> Concurrency for automatic index refresh
81
-
82
- Managed --rg supports common ripgrep matching, file-selection, context, engine,
83
- encoding, and discovery flags, including -e/-f, -F, -i/-s/-S, -w/-x/-v,
84
- -A/-B/-C, -m, -P/-U, -g/--iglob, -t/-T, --hidden, --no-ignore,
85
- --ignore-file, --max-depth, --max-filesize, -L, and -z. Use -e when a
86
- pattern begins with "-". Options that replace rg's output format, such as
87
- --json, --count, --files, -l, -o, --replace, and --vimgrep, are rejected.
88
- .git/** and .zvec-grep/** remain excluded.`;
127
+
128
+ Managed --rg supports common ripgrep matching, context, engine, encoding,
129
+ discovery, glob, and type flags. Use -e when a pattern begins with "-".
130
+ Options that replace rg's output format are rejected.
131
+
132
+ Environment:
133
+ ${formatEnvironmentVariables([
134
+ "ZVEC_GREP_MODE",
135
+ "ZVEC_GREP_API_KEY",
136
+ "ZVEC_GREP_ENDPOINT",
137
+ "ZVEC_GREP_MODEL_CACHE",
138
+ "ZVEC_GREP_DEVICE",
139
+ ])}
140
+
141
+ See zg help environment for precedence and Server-mode scope.`;
89
142
  case "index":
90
143
  return `Usage:
91
144
  zg index [root] [options]
92
145
  zg index [root] --rebuild [options]
93
146
  zg index [root] --drop [--yes]
94
147
 
95
- Options:
96
- --embedding <model> Model such as local/embeddinggemma-300m or qwen/text-embedding-v4
148
+ Index options:
97
149
  --rebuild Rebuild the existing index
98
150
  --drop Permanently remove the workspace index
99
151
  --yes Confirm --drop without prompting
152
+ --debug Print skipped-file diagnostics to stderr
153
+ --mode <direct|server|auto> Select indexing transport
154
+
155
+ Embedding options:
156
+ --embedding <model> Model such as local/potion-code-16m-v2 or qwen/text-embedding-v4
157
+ --api-key <key> Embedding provider API key
158
+ --endpoint <url> Embedding provider endpoint
159
+ --model-cache <path> Local model cache directory
160
+ --device <device> auto, cpu, metal, vulkan, cuda
161
+ --embedding-concurrency <n> Embedding task concurrency
162
+ --allow-remote Allow Remote Embedding for this command only
163
+
164
+ File selection:
100
165
  -g, --glob <glob> Include paths; prefix with ! to exclude; repeatable
101
166
  --iglob <glob> Case-insensitive path glob; repeatable
102
167
  -t, --type <type> Include a ripgrep file type; repeatable
@@ -108,69 +173,336 @@ Options:
108
173
  --max-filesize <size> Maximum bytes or K/M/G/T size
109
174
  -L, --follow Follow symbolic links safely
110
175
  --reset-paths Clear inherited file-selection settings
111
- --embedding-concurrency <n> Embedding task concurrency
112
- --api-key <key> Embedding provider API key
113
- --endpoint <url> Embedding provider endpoint
114
- --model-cache <path> Local model cache directory
115
- --gpu Try GPU acceleration
116
- --no-gpu Force CPU local embeddings
117
- --llama-gpu <mode> auto, metal, vulkan, cuda, off
118
- --embedding-parallelism <n> Local embedding context parallelism
119
176
 
120
177
  New indexes require --embedding, ZVEC_GREP_EMBEDDING, or a configured default.
121
- Existing indexes reuse their stored embedding schema. Explicit model/provider
122
- options used for a successful index are persisted in ~/.zvec-grep/config.json.`;
178
+ Existing indexes reuse their stored embedding schema.
179
+
180
+ Environment:
181
+ ${formatEnvironmentVariables([
182
+ "ZVEC_GREP_MODE",
183
+ "ZVEC_GREP_EMBEDDING",
184
+ "ZVEC_GREP_API_KEY",
185
+ "ZVEC_GREP_ENDPOINT",
186
+ "ZVEC_GREP_MODEL_CACHE",
187
+ "ZVEC_GREP_DEVICE",
188
+ ])}
189
+
190
+ See zg help environment for precedence and Server-mode scope.`;
123
191
  case "status":
124
192
  return `Usage:
125
- zg status [root] [--color <auto|always|never>] [--no-color]
193
+ zg status [root] [--mode <direct|server|auto>] [--check-ready]
126
194
 
127
195
  Shows the nearest workspace root, index policy, index state, embedding schema,
128
- stored paths, refresh status, and suggested next action.`;
129
- case "collections":
196
+ stored paths, refresh status, and suggested next action.
197
+
198
+ --check-ready preserves the normal output and exits non-zero unless the
199
+ Workspace index is ready.`;
200
+ case "config":
201
+ return `Usage:
202
+ zg config provider set <provider> --api-key <key>
203
+ zg config model set <model> [--endpoint <url> | --device <device>] [--default]
204
+
205
+ Provider options:
206
+ --api-key <key> Default API key for the provider
207
+
208
+ Model options:
209
+ --endpoint <url> Endpoint for a remote embedding model
210
+ --device <device> Local device: auto, cpu, metal, vulkan, cuda
211
+ --default Use this model for new indexes
212
+
213
+ Remote models support --endpoint; local models support --device. At least one
214
+ model option is required. --default may be used alone or with a runtime option.
215
+ Existing indexes continue to use their stored model.
216
+
217
+ Global configuration is stored in ~/.zvec-grep/config.json.`;
218
+ case "auth":
219
+ return `Usage:
220
+ zg auth grant [root] --capability embedding --scope workspace [--embedding <model>]
221
+ zg auth status [root]
222
+ zg auth revoke [root]
223
+
224
+ Manage the signed Remote Embedding grant stored in the Workspace under
225
+ .zvec-grep/authorization.json. Workspace grants are shared by zg CLI and zg MCP.
226
+
227
+ --embedding selects the Remote Embedding model to authorize; it does not run
228
+ embedding. If omitted, auth grant uses the existing Workspace index model, then
229
+ ZVEC_GREP_EMBEDDING, then the global default.
230
+
231
+ Scopes used during operations:
232
+ once Current CLI command or Agent tool call only
233
+ workspace Persisted in this Workspace
234
+
235
+ Use --allow-remote on zg query or zg index to authorize Remote Embedding for
236
+ that command only. This authorization is not persisted. API credentials
237
+ configure a provider but do not grant permission.
238
+
239
+ Environment used by auth grant:
240
+ ${formatEnvironmentVariables([
241
+ "ZVEC_GREP_EMBEDDING",
242
+ "ZVEC_GREP_API_KEY",
243
+ "ZVEC_GREP_ENDPOINT",
244
+ "ZVEC_GREP_AUTHORIZATION_KEY_FILE",
245
+ ])}`;
246
+ case "server":
130
247
  return `Usage:
131
- zg collections
132
- zg collections info <name>
133
- zg collections index <name> [root] [options]
134
- zg collections remove <name>
248
+ zg server --stdio [--token-file <path>] [--mcp-toolset <agent|full>]
249
+ zg server on [--listen 127.0.0.1:7999] [--token-file <path>] [--mcp-toolset <agent|full>]
250
+ zg server off [--token-file <path>]
251
+ zg server status [--check-ready]
252
+ zg server run [--listen 127.0.0.1:7999] [--token-file <path>] [--mcp-toolset <agent|full>]
253
+
254
+ --stdio is the MCP client bootstrap transport. It safely starts or reuses the
255
+ shared daemon, proxies MCP over stdin/stdout, and leaves the daemon running
256
+ when the client disconnects.
257
+
258
+ The server listens on loopback. Authentication is disabled by default; pass a
259
+ token file or set ZVEC_GREP_SERVER_TOKEN to require Bearer authentication.
260
+ The public MCP endpoint defaults to the agent toolset (indexed search only).
261
+ Use --mcp-toolset full, or ZVEC_GREP_MCP_TOOLSET=full, to expose managed rg and
262
+ the four index and status tools. CLI managed rg, index, and status commands
263
+ continue to use the daemon's internal administration endpoint.
264
+ --check-ready exits non-zero unless the server is ready.
135
265
 
136
- Named collections support the same embedding, file-selection, discovery,
137
- rebuild, and embedding-concurrency options as zg index.`;
266
+ Environment:
267
+ ${formatEnvironmentVariables([
268
+ "ZVEC_GREP_HOME",
269
+ "ZVEC_GREP_SERVER_URL",
270
+ "ZVEC_GREP_SERVER_TOKEN",
271
+ "ZVEC_GREP_SERVER_TOKEN_FILE",
272
+ "ZVEC_GREP_MCP_TOOLSET",
273
+ ])}
274
+
275
+ See zg help environment for daemon startup scope.`;
138
276
  case "install":
139
277
  return `Usage:
140
- zg install [--target codex|all|auto] [--yes] [--force]
278
+ zg install [--target codex|claude|opencode|cursor|all|auto] [--mcp-transport stdio|http] [--mcp-toolset agent|full] [--yes] [--force]
141
279
 
142
280
  Options:
143
- --target <agent> Agent integration to install
144
- --mcp-tool-timeout <seconds> MCP tool timeout written to agent configuration
145
- --yes Use default choices without prompting
146
- --force Replace conflicting unmanaged integration configuration
281
+ --target <agent> codex, claude, opencode, cursor, auto, or all; repeatable
282
+ --mcp-transport <stdio|http> MCP connection mode (default: stdio)
283
+ --mcp-toolset <agent|full> Daemon MCP toolset (default: agent)
284
+ --mcp-tool-timeout <seconds> Codex MCP tool timeout (default: 600)
285
+ --mcp-token-env <name> HTTP mode Bearer token environment variable
286
+ --yes Install detected agents without prompting
287
+ --force Replace conflicting unmanaged configuration
147
288
 
148
- This installs agent guidance and MCP configuration. It does not install the npm package.`;
289
+ Interactive setup detects supported agents, configures stdio by default, and
290
+ starts the shared daemon. In stdio mode an agent reconnect also starts the
291
+ daemon automatically after a reboot. HTTP users manage later daemon restarts.
292
+ Codex, Claude Code, and OpenCode also receive managed guidance;
293
+ Codex and Claude Code receive local tool pre-approval. Remote Embedding
294
+ authorization remains separate and is requested by zvec-grep on first remote
295
+ use. This does not install the npm package.`;
149
296
  case "uninstall":
150
297
  return `Usage:
151
- zg uninstall [--target codex|all|auto] [--yes]
298
+ zg uninstall [--target codex|claude|opencode|cursor|all|auto] [--yes]
152
299
 
153
- Removes zvec-grep-managed agent guidance and MCP configuration. It does not
154
- remove the npm package or unrelated user configuration.`;
300
+ Removes zvec-grep-managed MCP configuration, trust, and guidance.`;
155
301
  case "help":
156
302
  return `Usage:
157
- zg help [command]
303
+ zg help [command|topic]
158
304
  zg <command> --help
159
305
  zg -h
160
- zg --help`;
306
+ zg --help
307
+
308
+ Topics:
309
+ models Supported embedding models
310
+ file-types Supported file types and structural parsing
311
+ environment, env Environment variables and precedence`;
312
+ case "models":
313
+ return modelsHelp();
314
+ case "file-types":
315
+ return fileTypesHelp();
316
+ case "environment":
317
+ case "env":
318
+ return environmentHelp();
161
319
  case "version":
162
320
  return `Usage:
163
321
  zg version
164
322
  zg version -v
165
323
  zg -v
166
324
  zg --version`;
167
- case "serve":
168
- return `Usage:
169
- zg serve --mcp
170
-
171
- Starts the stdio MCP process used by installed agent integrations.`;
172
325
  default:
173
326
  return undefined;
174
327
  }
175
328
  }
329
+ function modelsHelp() {
330
+ const models = listEmbeddingModels().sort((left, right) => {
331
+ const leftRuntime = left.provider === "local" ? 0 : 1;
332
+ const rightRuntime = right.provider === "local" ? 0 : 1;
333
+ return (leftRuntime - rightRuntime ||
334
+ left.reference.localeCompare(right.reference));
335
+ });
336
+ return `Usage:
337
+ zg help models
338
+
339
+ Supported embedding models:
340
+ ${formatEmbeddingModels(models)}
341
+
342
+ Local models are downloaded to the model cache on first use. Remote models
343
+ require provider credentials plus --allow-remote or a Workspace authorization.
344
+ Only qwen/qwen3-vl-embedding accepts image input.
345
+
346
+ Existing indexes keep their stored model. See zg help environment for
347
+ new-index model selection and runtime precedence.`;
348
+ }
349
+ function fileTypesHelp() {
350
+ const types = listRecognizedFileTypes();
351
+ const structuredFormats = new Set(STRUCTURED_CODE_FORMATS);
352
+ const componentFormats = new Set(COMPONENT_CODE_FORMATS);
353
+ const codeTypes = types.filter((type) => type.kind === "code");
354
+ const structuredCode = codeTypes.filter((type) => structuredFormats.has(type.format));
355
+ const componentCode = codeTypes.filter((type) => componentFormats.has(type.format));
356
+ const plainCode = codeTypes.filter((type) => !structuredFormats.has(type.format) && !componentFormats.has(type.format));
357
+ const documentsAndData = types.filter((type) => type.kind === "text" || type.kind === "data");
358
+ const images = types.filter((type) => type.kind === "image");
359
+ const skipped = listKnownBinaryExtensionGroups().map((group) => [
360
+ group.label,
361
+ group.extensions.join(", "),
362
+ ]);
363
+ const sizeLimits = [
364
+ ["Code", "code"],
365
+ ["Text", "text"],
366
+ ["Data", "data"],
367
+ ["Image", "image"],
368
+ ].map(([label, kind]) => [
369
+ label,
370
+ `${resolveMaxFileSizeBytes(kind) / (1024 * 1024)} MiB`,
371
+ ]);
372
+ return `Usage:
373
+ zg help file-types
374
+
375
+ Structured code (symbols and scopes):
376
+ ${formatFileTypeTable(structuredCode)}
377
+
378
+ Component code (JavaScript and TypeScript script blocks):
379
+ ${formatFileTypeTable(componentCode)}
380
+
381
+ Other code (plain-text chunks):
382
+ ${formatFileTypeTable(plainCode)}
383
+
384
+ Documents and data:
385
+ ${formatFileTypeTable(documentsAndData)}
386
+ Markdown preserves heading structure; other formats use text chunks.
387
+
388
+ Images (multimodal embedding required):
389
+ ${formatFileTypeTable(images)}
390
+ Images are ignored by default and must be explicitly selected.
391
+
392
+ Other text:
393
+ Unknown non-binary extensions and extensionless files use text chunks.
394
+
395
+ Skipped binary types:
396
+ ${formatTable(["GROUP", "EXTENSIONS"], skipped)}
397
+ Files detected as binary by content are also skipped.
398
+
399
+ Indexing rules:
400
+ Default size limits:
401
+ ${formatTable(["KIND", "MAX SIZE"], sizeLimits)}
402
+ Empty files are skipped. Use --max-filesize to override the size limit.
403
+ Common dependencies, build output, generated files, and lock files are
404
+ ignored by default. .git and .zvec-grep are always skipped.`;
405
+ }
406
+ function formatEmbeddingModels(models) {
407
+ const rows = models.map((model) => {
408
+ const runtime = model.provider === "local" ? "local" : "remote";
409
+ const input = "kind" in model && model.kind === "multimodal" ? "text,image" : "text";
410
+ const inputLimit = "maxInputTokens" in model ? model.maxInputTokens : model.contextSize;
411
+ return [
412
+ model.reference,
413
+ runtime,
414
+ input,
415
+ String(model.dimension),
416
+ String(inputLimit),
417
+ model.backend,
418
+ ];
419
+ });
420
+ return formatTable(["MODEL", "RUNTIME", "INPUT", "DIMS", "TOKENS", "BACKEND"], rows, new Set([3, 4]));
421
+ }
422
+ function formatFileTypeTable(types) {
423
+ const rows = [...types]
424
+ .sort((left, right) => left.format.localeCompare(right.format))
425
+ .map((type) => [type.format, type.patterns.join(", ")]);
426
+ return formatTable(["TYPE", "FILES"], rows);
427
+ }
428
+ function formatTable(header, rows, rightAlignedColumns = new Set()) {
429
+ const widths = header.map((label, index) => Math.max(label.length, ...rows.map((row) => row[index].length)));
430
+ const separator = widths.map((width) => "-".repeat(width));
431
+ return [header, separator, ...rows]
432
+ .map((row) => ` ${row
433
+ .map((value, index) => index === row.length - 1
434
+ ? value
435
+ : rightAlignedColumns.has(index)
436
+ ? value.padStart(widths[index])
437
+ : value.padEnd(widths[index]))
438
+ .join(" ")}`)
439
+ .join("\n");
440
+ }
441
+ function environmentHelp() {
442
+ return `Usage:
443
+ zg help environment
444
+ zg help env
445
+
446
+ Client and Server:
447
+ ${formatEnvironmentVariables([
448
+ "ZVEC_GREP_MODE",
449
+ "ZVEC_GREP_SERVER_URL",
450
+ "ZVEC_GREP_SERVER_TOKEN",
451
+ "ZVEC_GREP_SERVER_TOKEN_FILE",
452
+ "ZVEC_GREP_MCP_TOOLSET",
453
+ ])}
454
+
455
+ Embedding:
456
+ ${formatEnvironmentVariables([
457
+ "ZVEC_GREP_EMBEDDING",
458
+ "ZVEC_GREP_API_KEY",
459
+ "ZVEC_GREP_ENDPOINT",
460
+ "ZVEC_GREP_MODEL_CACHE",
461
+ "ZVEC_GREP_DEVICE",
462
+ ])}
463
+
464
+ Qwen credential aliases:
465
+ ${formatEnvironmentVariables(["DASHSCOPE_API_KEY", "QWEN_API_KEY"])}
466
+
467
+ State and authorization:
468
+ ${formatEnvironmentVariables([
469
+ "ZVEC_GREP_HOME",
470
+ "ZVEC_GREP_AUTHORIZATION_KEY_FILE",
471
+ ])}
472
+
473
+ Advanced:
474
+ ${formatEnvironmentVariables([
475
+ "ZVEC_GREP_METAL_KEEP_RESIDENCY",
476
+ "ZVEC_GREP_LLAMA_CONTEXT_PARALLELISM",
477
+ "NO_COLOR",
478
+ ])}
479
+
480
+ Agent integration paths:
481
+ ${formatEnvironmentVariables([
482
+ "CODEX_HOME",
483
+ "CLAUDE_CONFIG_DIR",
484
+ "OPENCODE_CONFIG",
485
+ "CURSOR_CONFIG_DIR",
486
+ ])}
487
+
488
+ Precedence:
489
+ Embedding runtime CLI > Workspace snapshot > Global config > Environment
490
+ New-index model --embedding > ZVEC_GREP_EMBEDDING > Global config
491
+ Client mode --mode > ZVEC_GREP_MODE > Global config
492
+ Qwen environment credential ZVEC_GREP_API_KEY > DASHSCOPE_API_KEY > QWEN_API_KEY
493
+
494
+ Server scope:
495
+ zg index forwards its ZVEC_GREP_EMBEDDING default to Server and auto modes.
496
+ Direct MCP calls use the embedding environment inherited by the daemon.
497
+ Restart the daemon after changing its embedding runtime environment.
498
+
499
+ Explicit CLI options take priority. Help output never prints or stores
500
+ environment values.`;
501
+ }
502
+ function formatEnvironmentVariables(names) {
503
+ const width = Math.max(...names.map((name) => name.length)) + 2;
504
+ return names
505
+ .map((name) => ` ${name.padEnd(width)}${ENVIRONMENT_VARIABLES[name]}`)
506
+ .join("\n");
507
+ }
176
508
  //# sourceMappingURL=help.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,KAAc;IACvD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe;IAC/B,OAAO,aAAa,OAAO;;;;;;;;;;;;;;;;;;;;;;;;oEAwBuC,CAAC;AACrE,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,OAAO;YACV,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CA8C8B,CAAC;QACxC,KAAK,OAAO;YACV,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EAgCkE,CAAC;QAC5E,KAAK,QAAQ;YACX,OAAO;;;;yDAI4C,CAAC;QACtD,KAAK,aAAa;YAChB,OAAO;;;;;;;wDAO2C,CAAC;QACrD,KAAK,SAAS;YACZ,OAAO;;;;;;;;;yFAS4E,CAAC;QACtF,KAAK,WAAW;YACd,OAAO;;;;wDAI2C,CAAC;QACrD,KAAK,MAAM;YACT,OAAO;;;;YAID,CAAC;QACT,KAAK,SAAS;YACZ,OAAO;;;;eAIE,CAAC;QACZ,KAAK,OAAO;YACV,OAAO;;;mEAGsD,CAAC;QAChE;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env -S node --liftoff-only
2
2
  export {};
package/dist/cli/index.js CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env -S node --liftoff-only
2
2
  import { parseArgs } from "./args.js";
3
3
  import { runParsedCommand } from "./commands.js";
4
4
  import { colorModeFromArgs, printError } from "./errors.js";
@@ -0,0 +1,4 @@
1
+ import type { ParsedArgs } from "./types.js";
2
+ export declare function runInstall(parsed: ParsedArgs): Promise<void>;
3
+ export declare function runUninstall(parsed: ParsedArgs): Promise<void>;
4
+ export declare function installerSelectionLines(activeIndex: number, detected: ReadonlySet<string>): string[];