@angri450/zvec-grep 0.2.2

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 (418) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +319 -0
  3. package/README_CN.md +297 -0
  4. package/dist/authorization/index.d.ts +7 -0
  5. package/dist/authorization/index.js +7 -0
  6. package/dist/authorization/index.js.map +1 -0
  7. package/dist/authorization/manager.d.ts +8 -0
  8. package/dist/authorization/manager.js +19 -0
  9. package/dist/authorization/manager.js.map +1 -0
  10. package/dist/authorization/operation.d.ts +7 -0
  11. package/dist/authorization/operation.js +50 -0
  12. package/dist/authorization/operation.js.map +1 -0
  13. package/dist/authorization/planner.d.ts +21 -0
  14. package/dist/authorization/planner.js +97 -0
  15. package/dist/authorization/planner.js.map +1 -0
  16. package/dist/authorization/prompt.d.ts +12 -0
  17. package/dist/authorization/prompt.js +63 -0
  18. package/dist/authorization/prompt.js.map +1 -0
  19. package/dist/authorization/store.d.ts +20 -0
  20. package/dist/authorization/store.js +251 -0
  21. package/dist/authorization/store.js.map +1 -0
  22. package/dist/authorization/target.d.ts +15 -0
  23. package/dist/authorization/target.js +49 -0
  24. package/dist/authorization/target.js.map +1 -0
  25. package/dist/authorization/types.d.ts +61 -0
  26. package/dist/authorization/types.js +2 -0
  27. package/dist/authorization/types.js.map +1 -0
  28. package/dist/cli/args.d.ts +6 -0
  29. package/dist/cli/args.js +1255 -0
  30. package/dist/cli/args.js.map +1 -0
  31. package/dist/cli/auth.d.ts +21 -0
  32. package/dist/cli/auth.js +209 -0
  33. package/dist/cli/auth.js.map +1 -0
  34. package/dist/cli/commands.d.ts +4 -0
  35. package/dist/cli/commands.js +801 -0
  36. package/dist/cli/commands.js.map +1 -0
  37. package/dist/cli/errors.d.ts +9 -0
  38. package/dist/cli/errors.js +131 -0
  39. package/dist/cli/errors.js.map +1 -0
  40. package/dist/cli/format/context.d.ts +9 -0
  41. package/dist/cli/format/context.js +786 -0
  42. package/dist/cli/format/context.js.map +1 -0
  43. package/dist/cli/format/debug.d.ts +4 -0
  44. package/dist/cli/format/debug.js +60 -0
  45. package/dist/cli/format/debug.js.map +1 -0
  46. package/dist/cli/format/highlight.d.ts +3 -0
  47. package/dist/cli/format/highlight.js +106 -0
  48. package/dist/cli/format/highlight.js.map +1 -0
  49. package/dist/cli/format/progress.d.ts +13 -0
  50. package/dist/cli/format/progress.js +290 -0
  51. package/dist/cli/format/progress.js.map +1 -0
  52. package/dist/cli/format/range.d.ts +3 -0
  53. package/dist/cli/format/range.js +24 -0
  54. package/dist/cli/format/range.js.map +1 -0
  55. package/dist/cli/format/status.d.ts +83 -0
  56. package/dist/cli/format/status.js +530 -0
  57. package/dist/cli/format/status.js.map +1 -0
  58. package/dist/cli/help.d.ts +1 -0
  59. package/dist/cli/help.js +546 -0
  60. package/dist/cli/help.js.map +1 -0
  61. package/dist/cli/index.d.ts +2 -0
  62. package/dist/cli/index.js +40 -0
  63. package/dist/cli/index.js.map +1 -0
  64. package/dist/cli/install.d.ts +4 -0
  65. package/dist/cli/install.js +1735 -0
  66. package/dist/cli/install.js.map +1 -0
  67. package/dist/cli/managed-rg.d.ts +10 -0
  68. package/dist/cli/managed-rg.js +337 -0
  69. package/dist/cli/managed-rg.js.map +1 -0
  70. package/dist/cli/server-search.d.ts +3 -0
  71. package/dist/cli/server-search.js +12 -0
  72. package/dist/cli/server-search.js.map +1 -0
  73. package/dist/cli/types.d.ts +87 -0
  74. package/dist/cli/types.js +10 -0
  75. package/dist/cli/types.js.map +1 -0
  76. package/dist/cli/version.d.ts +1 -0
  77. package/dist/cli/version.js +13 -0
  78. package/dist/cli/version.js.map +1 -0
  79. package/dist/client/daemon-client.d.ts +31 -0
  80. package/dist/client/daemon-client.js +203 -0
  81. package/dist/client/daemon-client.js.map +1 -0
  82. package/dist/client/mode-router.d.ts +9 -0
  83. package/dist/client/mode-router.js +28 -0
  84. package/dist/client/mode-router.js.map +1 -0
  85. package/dist/client/search-policy.d.ts +11 -0
  86. package/dist/client/search-policy.js +15 -0
  87. package/dist/client/search-policy.js.map +1 -0
  88. package/dist/daemon/backend.d.ts +78 -0
  89. package/dist/daemon/backend.js +1118 -0
  90. package/dist/daemon/backend.js.map +1 -0
  91. package/dist/daemon/change-set.d.ts +30 -0
  92. package/dist/daemon/change-set.js +163 -0
  93. package/dist/daemon/change-set.js.map +1 -0
  94. package/dist/daemon/config.d.ts +27 -0
  95. package/dist/daemon/config.js +107 -0
  96. package/dist/daemon/config.js.map +1 -0
  97. package/dist/daemon/errors.d.ts +5 -0
  98. package/dist/daemon/errors.js +11 -0
  99. package/dist/daemon/errors.js.map +1 -0
  100. package/dist/daemon/http-server.d.ts +30 -0
  101. package/dist/daemon/http-server.js +307 -0
  102. package/dist/daemon/http-server.js.map +1 -0
  103. package/dist/daemon/index-coordinator.d.ts +22 -0
  104. package/dist/daemon/index-coordinator.js +55 -0
  105. package/dist/daemon/index-coordinator.js.map +1 -0
  106. package/dist/daemon/job-scheduler.d.ts +85 -0
  107. package/dist/daemon/job-scheduler.js +492 -0
  108. package/dist/daemon/job-scheduler.js.map +1 -0
  109. package/dist/daemon/logger.d.ts +10 -0
  110. package/dist/daemon/logger.js +101 -0
  111. package/dist/daemon/logger.js.map +1 -0
  112. package/dist/daemon/model-pool.d.ts +48 -0
  113. package/dist/daemon/model-pool.js +190 -0
  114. package/dist/daemon/model-pool.js.map +1 -0
  115. package/dist/daemon/root-lease.d.ts +14 -0
  116. package/dist/daemon/root-lease.js +197 -0
  117. package/dist/daemon/root-lease.js.map +1 -0
  118. package/dist/daemon/root-runtime.d.ts +80 -0
  119. package/dist/daemon/root-runtime.js +340 -0
  120. package/dist/daemon/root-runtime.js.map +1 -0
  121. package/dist/daemon/runtime-manager.d.ts +47 -0
  122. package/dist/daemon/runtime-manager.js +252 -0
  123. package/dist/daemon/runtime-manager.js.map +1 -0
  124. package/dist/daemon/runtime.d.ts +12 -0
  125. package/dist/daemon/runtime.js +105 -0
  126. package/dist/daemon/runtime.js.map +1 -0
  127. package/dist/daemon/server-controller.d.ts +38 -0
  128. package/dist/daemon/server-controller.js +327 -0
  129. package/dist/daemon/server-controller.js.map +1 -0
  130. package/dist/daemon/watch-manager.d.ts +62 -0
  131. package/dist/daemon/watch-manager.js +415 -0
  132. package/dist/daemon/watch-manager.js.map +1 -0
  133. package/dist/daemon/workspace-read-session-cache.d.ts +31 -0
  134. package/dist/daemon/workspace-read-session-cache.js +115 -0
  135. package/dist/daemon/workspace-read-session-cache.js.map +1 -0
  136. package/dist/engine/code-formats.d.ts +3 -0
  137. package/dist/engine/code-formats.js +14 -0
  138. package/dist/engine/code-formats.js.map +1 -0
  139. package/dist/engine/config.d.ts +57 -0
  140. package/dist/engine/config.js +351 -0
  141. package/dist/engine/config.js.map +1 -0
  142. package/dist/engine/errors.d.ts +20 -0
  143. package/dist/engine/errors.js +51 -0
  144. package/dist/engine/errors.js.map +1 -0
  145. package/dist/engine/extraction/code/adapter.d.ts +19 -0
  146. package/dist/engine/extraction/code/adapter.js +24 -0
  147. package/dist/engine/extraction/code/adapter.js.map +1 -0
  148. package/dist/engine/extraction/code/extractor.d.ts +13 -0
  149. package/dist/engine/extraction/code/extractor.js +696 -0
  150. package/dist/engine/extraction/code/extractor.js.map +1 -0
  151. package/dist/engine/extraction/code/families/c-family.d.ts +2 -0
  152. package/dist/engine/extraction/code/families/c-family.js +122 -0
  153. package/dist/engine/extraction/code/families/c-family.js.map +1 -0
  154. package/dist/engine/extraction/code/families/js-ts.d.ts +12 -0
  155. package/dist/engine/extraction/code/families/js-ts.js +118 -0
  156. package/dist/engine/extraction/code/families/js-ts.js.map +1 -0
  157. package/dist/engine/extraction/code/families/metadata.d.ts +8 -0
  158. package/dist/engine/extraction/code/families/metadata.js +86 -0
  159. package/dist/engine/extraction/code/families/metadata.js.map +1 -0
  160. package/dist/engine/extraction/code/families/name-field.d.ts +3 -0
  161. package/dist/engine/extraction/code/families/name-field.js +22 -0
  162. package/dist/engine/extraction/code/families/name-field.js.map +1 -0
  163. package/dist/engine/extraction/code/languages/c.d.ts +1 -0
  164. package/dist/engine/extraction/code/languages/c.js +12 -0
  165. package/dist/engine/extraction/code/languages/c.js.map +1 -0
  166. package/dist/engine/extraction/code/languages/cpp.d.ts +1 -0
  167. package/dist/engine/extraction/code/languages/cpp.js +18 -0
  168. package/dist/engine/extraction/code/languages/cpp.js.map +1 -0
  169. package/dist/engine/extraction/code/languages/go.d.ts +2 -0
  170. package/dist/engine/extraction/code/languages/go.js +70 -0
  171. package/dist/engine/extraction/code/languages/go.js.map +1 -0
  172. package/dist/engine/extraction/code/languages/java.d.ts +1 -0
  173. package/dist/engine/extraction/code/languages/java.js +17 -0
  174. package/dist/engine/extraction/code/languages/java.js.map +1 -0
  175. package/dist/engine/extraction/code/languages/javascript.d.ts +2 -0
  176. package/dist/engine/extraction/code/languages/javascript.js +23 -0
  177. package/dist/engine/extraction/code/languages/javascript.js.map +1 -0
  178. package/dist/engine/extraction/code/languages/python.d.ts +2 -0
  179. package/dist/engine/extraction/code/languages/python.js +52 -0
  180. package/dist/engine/extraction/code/languages/python.js.map +1 -0
  181. package/dist/engine/extraction/code/languages/rust.d.ts +2 -0
  182. package/dist/engine/extraction/code/languages/rust.js +25 -0
  183. package/dist/engine/extraction/code/languages/rust.js.map +1 -0
  184. package/dist/engine/extraction/code/languages/typescript.d.ts +2 -0
  185. package/dist/engine/extraction/code/languages/typescript.js +37 -0
  186. package/dist/engine/extraction/code/languages/typescript.js.map +1 -0
  187. package/dist/engine/extraction/code/tree-sitter/grammar.d.ts +4 -0
  188. package/dist/engine/extraction/code/tree-sitter/grammar.js +49 -0
  189. package/dist/engine/extraction/code/tree-sitter/grammar.js.map +1 -0
  190. package/dist/engine/extraction/code/tree-sitter/nodes.d.ts +3 -0
  191. package/dist/engine/extraction/code/tree-sitter/nodes.js +27 -0
  192. package/dist/engine/extraction/code/tree-sitter/nodes.js.map +1 -0
  193. package/dist/engine/extraction/code/tree-sitter/parser.d.ts +2 -0
  194. package/dist/engine/extraction/code/tree-sitter/parser.js +31 -0
  195. package/dist/engine/extraction/code/tree-sitter/parser.js.map +1 -0
  196. package/dist/engine/extraction/ids.d.ts +1 -0
  197. package/dist/engine/extraction/ids.js +5 -0
  198. package/dist/engine/extraction/ids.js.map +1 -0
  199. package/dist/engine/extraction/image/extractor.d.ts +5 -0
  200. package/dist/engine/extraction/image/extractor.js +35 -0
  201. package/dist/engine/extraction/image/extractor.js.map +1 -0
  202. package/dist/engine/extraction/index.d.ts +4 -0
  203. package/dist/engine/extraction/index.js +3 -0
  204. package/dist/engine/extraction/index.js.map +1 -0
  205. package/dist/engine/extraction/markdown/extractor.d.ts +7 -0
  206. package/dist/engine/extraction/markdown/extractor.js +362 -0
  207. package/dist/engine/extraction/markdown/extractor.js.map +1 -0
  208. package/dist/engine/extraction/runtime.d.ts +9 -0
  209. package/dist/engine/extraction/runtime.js +37 -0
  210. package/dist/engine/extraction/runtime.js.map +1 -0
  211. package/dist/engine/extraction/source.d.ts +18 -0
  212. package/dist/engine/extraction/source.js +22 -0
  213. package/dist/engine/extraction/source.js.map +1 -0
  214. package/dist/engine/extraction/text/extractor.d.ts +7 -0
  215. package/dist/engine/extraction/text/extractor.js +168 -0
  216. package/dist/engine/extraction/text/extractor.js.map +1 -0
  217. package/dist/engine/extraction/types.d.ts +4 -0
  218. package/dist/engine/extraction/types.js +2 -0
  219. package/dist/engine/extraction/types.js.map +1 -0
  220. package/dist/engine/extraction/vector-content.d.ts +5 -0
  221. package/dist/engine/extraction/vector-content.js +83 -0
  222. package/dist/engine/extraction/vector-content.js.map +1 -0
  223. package/dist/engine/file-size-policy.d.ts +6 -0
  224. package/dist/engine/file-size-policy.js +20 -0
  225. package/dist/engine/file-size-policy.js.map +1 -0
  226. package/dist/engine/file-type.d.ts +15 -0
  227. package/dist/engine/file-type.js +152 -0
  228. package/dist/engine/file-type.js.map +1 -0
  229. package/dist/engine/index-status.d.ts +9 -0
  230. package/dist/engine/index-status.js +38 -0
  231. package/dist/engine/index-status.js.map +1 -0
  232. package/dist/engine/manifest.d.ts +13 -0
  233. package/dist/engine/manifest.js +124 -0
  234. package/dist/engine/manifest.js.map +1 -0
  235. package/dist/engine/models/artifact-cache-lock.d.ts +16 -0
  236. package/dist/engine/models/artifact-cache-lock.js +228 -0
  237. package/dist/engine/models/artifact-cache-lock.js.map +1 -0
  238. package/dist/engine/models/artifact-downloader.d.ts +77 -0
  239. package/dist/engine/models/artifact-downloader.js +766 -0
  240. package/dist/engine/models/artifact-downloader.js.map +1 -0
  241. package/dist/engine/models/backends/llama-cpp.d.ts +100 -0
  242. package/dist/engine/models/backends/llama-cpp.js +567 -0
  243. package/dist/engine/models/backends/llama-cpp.js.map +1 -0
  244. package/dist/engine/models/backends/model2vec-runtime.d.ts +63 -0
  245. package/dist/engine/models/backends/model2vec-runtime.js +112 -0
  246. package/dist/engine/models/backends/model2vec-runtime.js.map +1 -0
  247. package/dist/engine/models/backends/model2vec-tokenizer.d.ts +2 -0
  248. package/dist/engine/models/backends/model2vec-tokenizer.js +42 -0
  249. package/dist/engine/models/backends/model2vec-tokenizer.js.map +1 -0
  250. package/dist/engine/models/backends/model2vec-worker-pool.d.ts +25 -0
  251. package/dist/engine/models/backends/model2vec-worker-pool.js +264 -0
  252. package/dist/engine/models/backends/model2vec-worker-pool.js.map +1 -0
  253. package/dist/engine/models/backends/model2vec-worker.d.ts +1 -0
  254. package/dist/engine/models/backends/model2vec-worker.js +41 -0
  255. package/dist/engine/models/backends/model2vec-worker.js.map +1 -0
  256. package/dist/engine/models/backends/model2vec.d.ts +38 -0
  257. package/dist/engine/models/backends/model2vec.js +344 -0
  258. package/dist/engine/models/backends/model2vec.js.map +1 -0
  259. package/dist/engine/models/backends/qwen.d.ts +44 -0
  260. package/dist/engine/models/backends/qwen.js +411 -0
  261. package/dist/engine/models/backends/qwen.js.map +1 -0
  262. package/dist/engine/models/backends/transformers-js.d.ts +90 -0
  263. package/dist/engine/models/backends/transformers-js.js +411 -0
  264. package/dist/engine/models/backends/transformers-js.js.map +1 -0
  265. package/dist/engine/models/catalog.d.ts +490 -0
  266. package/dist/engine/models/catalog.js +522 -0
  267. package/dist/engine/models/catalog.js.map +1 -0
  268. package/dist/engine/models/download-progress.d.ts +16 -0
  269. package/dist/engine/models/download-progress.js +47 -0
  270. package/dist/engine/models/download-progress.js.map +1 -0
  271. package/dist/engine/models/embeddings.d.ts +73 -0
  272. package/dist/engine/models/embeddings.js +125 -0
  273. package/dist/engine/models/embeddings.js.map +1 -0
  274. package/dist/engine/models/factory.d.ts +2 -0
  275. package/dist/engine/models/factory.js +51 -0
  276. package/dist/engine/models/factory.js.map +1 -0
  277. package/dist/engine/models/index.d.ts +5 -0
  278. package/dist/engine/models/index.js +6 -0
  279. package/dist/engine/models/index.js.map +1 -0
  280. package/dist/engine/models/local-embedding-parallelism.d.ts +15 -0
  281. package/dist/engine/models/local-embedding-parallelism.js +63 -0
  282. package/dist/engine/models/local-embedding-parallelism.js.map +1 -0
  283. package/dist/engine/models/local-embedding-queue.d.ts +12 -0
  284. package/dist/engine/models/local-embedding-queue.js +65 -0
  285. package/dist/engine/models/local-embedding-queue.js.map +1 -0
  286. package/dist/engine/models/ranking.d.ts +19 -0
  287. package/dist/engine/models/ranking.js +2 -0
  288. package/dist/engine/models/ranking.js.map +1 -0
  289. package/dist/engine/models/resolution.d.ts +8 -0
  290. package/dist/engine/models/resolution.js +22 -0
  291. package/dist/engine/models/resolution.js.map +1 -0
  292. package/dist/engine/pipeline/indexing/index.d.ts +14 -0
  293. package/dist/engine/pipeline/indexing/index.js +1219 -0
  294. package/dist/engine/pipeline/indexing/index.js.map +1 -0
  295. package/dist/engine/pipeline/indexing/input-budget.d.ts +2 -0
  296. package/dist/engine/pipeline/indexing/input-budget.js +51 -0
  297. package/dist/engine/pipeline/indexing/input-budget.js.map +1 -0
  298. package/dist/engine/pipeline/indexing/root-paths.d.ts +7 -0
  299. package/dist/engine/pipeline/indexing/root-paths.js +148 -0
  300. package/dist/engine/pipeline/indexing/root-paths.js.map +1 -0
  301. package/dist/engine/pipeline/indexing/scanner/index.d.ts +14 -0
  302. package/dist/engine/pipeline/indexing/scanner/index.js +776 -0
  303. package/dist/engine/pipeline/indexing/scanner/index.js.map +1 -0
  304. package/dist/engine/pipeline/search/index.d.ts +12 -0
  305. package/dist/engine/pipeline/search/index.js +811 -0
  306. package/dist/engine/pipeline/search/index.js.map +1 -0
  307. package/dist/engine/service/index.d.ts +3 -0
  308. package/dist/engine/service/index.js +2 -0
  309. package/dist/engine/service/index.js.map +1 -0
  310. package/dist/engine/service/lexical.d.ts +28 -0
  311. package/dist/engine/service/lexical.js +446 -0
  312. package/dist/engine/service/lexical.js.map +1 -0
  313. package/dist/engine/service/root.d.ts +15 -0
  314. package/dist/engine/service/root.js +57 -0
  315. package/dist/engine/service/root.js.map +1 -0
  316. package/dist/engine/service/structure-enrichment.d.ts +8 -0
  317. package/dist/engine/service/structure-enrichment.js +178 -0
  318. package/dist/engine/service/structure-enrichment.js.map +1 -0
  319. package/dist/engine/service/types.d.ts +212 -0
  320. package/dist/engine/service/types.js +2 -0
  321. package/dist/engine/service/types.js.map +1 -0
  322. package/dist/engine/service/workspace-index.d.ts +26 -0
  323. package/dist/engine/service/workspace-index.js +157 -0
  324. package/dist/engine/service/workspace-index.js.map +1 -0
  325. package/dist/engine/service/zvec-grep.d.ts +15 -0
  326. package/dist/engine/service/zvec-grep.js +1520 -0
  327. package/dist/engine/service/zvec-grep.js.map +1 -0
  328. package/dist/engine/storage/index.d.ts +53 -0
  329. package/dist/engine/storage/index.js +3 -0
  330. package/dist/engine/storage/index.js.map +1 -0
  331. package/dist/engine/storage/layout.d.ts +10 -0
  332. package/dist/engine/storage/layout.js +29 -0
  333. package/dist/engine/storage/layout.js.map +1 -0
  334. package/dist/engine/storage/zvec.d.ts +4 -0
  335. package/dist/engine/storage/zvec.js +976 -0
  336. package/dist/engine/storage/zvec.js.map +1 -0
  337. package/dist/engine/types.d.ts +303 -0
  338. package/dist/engine/types.js +14 -0
  339. package/dist/engine/types.js.map +1 -0
  340. package/dist/engine/utils/atomic-file.d.ts +3 -0
  341. package/dist/engine/utils/atomic-file.js +39 -0
  342. package/dist/engine/utils/atomic-file.js.map +1 -0
  343. package/dist/engine/utils/daemon-lease.d.ts +17 -0
  344. package/dist/engine/utils/daemon-lease.js +175 -0
  345. package/dist/engine/utils/daemon-lease.js.map +1 -0
  346. package/dist/engine/utils/file-selection.d.ts +10 -0
  347. package/dist/engine/utils/file-selection.js +157 -0
  348. package/dist/engine/utils/file-selection.js.map +1 -0
  349. package/dist/engine/utils/glob.d.ts +9 -0
  350. package/dist/engine/utils/glob.js +208 -0
  351. package/dist/engine/utils/glob.js.map +1 -0
  352. package/dist/engine/utils/hash.d.ts +2 -0
  353. package/dist/engine/utils/hash.js +8 -0
  354. package/dist/engine/utils/hash.js.map +1 -0
  355. package/dist/engine/utils/json.d.ts +8 -0
  356. package/dist/engine/utils/json.js +83 -0
  357. package/dist/engine/utils/json.js.map +1 -0
  358. package/dist/engine/utils/lock.d.ts +19 -0
  359. package/dist/engine/utils/lock.js +254 -0
  360. package/dist/engine/utils/lock.js.map +1 -0
  361. package/dist/engine/utils/path.d.ts +4 -0
  362. package/dist/engine/utils/path.js +18 -0
  363. package/dist/engine/utils/path.js.map +1 -0
  364. package/dist/engine/utils/timing.d.ts +19 -0
  365. package/dist/engine/utils/timing.js +87 -0
  366. package/dist/engine/utils/timing.js.map +1 -0
  367. package/dist/index-progress.d.ts +10 -0
  368. package/dist/index-progress.js +159 -0
  369. package/dist/index-progress.js.map +1 -0
  370. package/dist/index.d.ts +6 -0
  371. package/dist/index.js +4 -0
  372. package/dist/index.js.map +1 -0
  373. package/dist/mcp/http-transport.d.ts +27 -0
  374. package/dist/mcp/http-transport.js +182 -0
  375. package/dist/mcp/http-transport.js.map +1 -0
  376. package/dist/mcp/input-normalization.d.ts +38 -0
  377. package/dist/mcp/input-normalization.js +104 -0
  378. package/dist/mcp/input-normalization.js.map +1 -0
  379. package/dist/mcp/progress-heartbeat.d.ts +17 -0
  380. package/dist/mcp/progress-heartbeat.js +46 -0
  381. package/dist/mcp/progress-heartbeat.js.map +1 -0
  382. package/dist/mcp/request-metadata.d.ts +2 -0
  383. package/dist/mcp/request-metadata.js +11 -0
  384. package/dist/mcp/request-metadata.js.map +1 -0
  385. package/dist/mcp/request-state.d.ts +40 -0
  386. package/dist/mcp/request-state.js +210 -0
  387. package/dist/mcp/request-state.js.map +1 -0
  388. package/dist/mcp/result-format.d.ts +13 -0
  389. package/dist/mcp/result-format.js +75 -0
  390. package/dist/mcp/result-format.js.map +1 -0
  391. package/dist/mcp/schemas.d.ts +668 -0
  392. package/dist/mcp/schemas.js +512 -0
  393. package/dist/mcp/schemas.js.map +1 -0
  394. package/dist/mcp/stdio-bridge.d.ts +15 -0
  395. package/dist/mcp/stdio-bridge.js +190 -0
  396. package/dist/mcp/stdio-bridge.js.map +1 -0
  397. package/dist/mcp/tools.d.ts +153 -0
  398. package/dist/mcp/tools.js +488 -0
  399. package/dist/mcp/tools.js.map +1 -0
  400. package/dist/mcp/toolset.d.ts +5 -0
  401. package/dist/mcp/toolset.js +12 -0
  402. package/dist/mcp/toolset.js.map +1 -0
  403. package/dist/observability/trace-context.d.ts +11 -0
  404. package/dist/observability/trace-context.js +138 -0
  405. package/dist/observability/trace-context.js.map +1 -0
  406. package/dist/prompts/zvec-grep-guidance.d.ts +2 -0
  407. package/dist/prompts/zvec-grep-guidance.js +9 -0
  408. package/dist/prompts/zvec-grep-guidance.js.map +1 -0
  409. package/docs/01-agents.md +217 -0
  410. package/docs/02-cli.md +259 -0
  411. package/docs/03-mcp.md +185 -0
  412. package/docs/04-pipeline.md +234 -0
  413. package/docs/05-architecture.md +86 -0
  414. package/docs/06-server.md +279 -0
  415. package/docs/07-embedding.md +227 -0
  416. package/docs/08-roadmap.md +85 -0
  417. package/docs/README.md +53 -0
  418. package/package.json +87 -0
package/docs/03-mcp.md ADDED
@@ -0,0 +1,185 @@
1
+ # MCP guide
2
+
3
+ [Documentation](./README.md) · [Agents](./01-agents.md) ·
4
+ [CLI](./02-cli.md) · [MCP](./03-mcp.md) · [Pipeline](./04-pipeline.md) ·
5
+ [Architecture](./05-architecture.md) · [Server](./06-server.md) ·
6
+ [Embedding](./07-embedding.md) · [Roadmap](./08-roadmap.md)
7
+
8
+ zvec-grep exposes its local search layer over Streamable HTTP MCP. The normal
9
+ endpoint is:
10
+
11
+ ```text
12
+ http://127.0.0.1:7999/mcp
13
+ ```
14
+
15
+ Run `zg --install` to configure a supported agent automatically. Use this page
16
+ when building another MCP client or when you need the exact boundary between
17
+ the default and compatibility toolsets. See
18
+ [Server and execution modes](./06-server.md) for lifecycle, mode selection,
19
+ refresh, authentication, and logs.
20
+
21
+ ## Default agent toolset
22
+
23
+ The default `agent` toolset intentionally exposes only search:
24
+
25
+ Agents first decide whether the requested answer should be grounded in the
26
+ current indexed workspace, then choose exact or semantic retrieval. The same
27
+ rules apply to source code and non-code material such as documentation, books,
28
+ research material, meeting notes, knowledge-base exports, manuals,
29
+ configuration, and data.
30
+
31
+ Workspace relevance requires a request to inspect, search, or ground the answer
32
+ in local material, prior context that established local material as the intended
33
+ source, or a question about whether relevant local material exists. Negative,
34
+ incidental, or comparative workspace mentions do not establish relevance.
35
+
36
+ | Tool | Use it when | Index required |
37
+ | --- | --- | --- |
38
+ | `zvec_grep_search` | The answer is workspace-grounded and wording or location is unknown, or semantic, fuzzy, relationship, chronology, causality, comparison, or cross-file synthesis is required | Yes |
39
+
40
+ Agents use native grep or rg when locating an exact word, quotation, name, date,
41
+ key, filename, path, source fragment, or regex is sufficient. For mixed tasks,
42
+ start with `zvec_grep_search`, then use native grep or rg for focused follow-up.
43
+ When semantic discovery is selected because no sufficient exact anchor is
44
+ available and the user asks whether conceptually related material exists
45
+ locally, agents make at most one focused search probe and stop when its results
46
+ are not relevant. The probe does not apply to exact quotations, configuration
47
+ keys, filenames, regexes, or exhaustive occurrence requests. Unrelated
48
+ open-world knowledge, current external facts, and web content that does not
49
+ depend on local evidence use the appropriate external source instead.
50
+
51
+ Every workspace tool input uses an absolute `root` visible to the daemon.
52
+
53
+ ## `zvec_grep_search`
54
+
55
+ The indexed tool supports hybrid, lexical, and vector query groups. At least one
56
+ of `query`, `queries`, `fts`, or `vector` is required.
57
+
58
+ Minimal conceptual search:
59
+
60
+ ```json
61
+ {
62
+ "root": "/absolute/path/to/workspace",
63
+ "query": "decision history behind the launch date",
64
+ "limit": 5
65
+ }
66
+ ```
67
+
68
+ Explicit query routes and scope:
69
+
70
+ ```json
71
+ {
72
+ "root": "/absolute/path/to/workspace",
73
+ "query": "authentication flow",
74
+ "fts": ["AuthService", "ForbiddenError"],
75
+ "globs": ["src/**", "!src/generated/**"],
76
+ "fileTypes": ["ts"],
77
+ "fuse": true,
78
+ "limit": 10
79
+ }
80
+ ```
81
+
82
+ Important inputs:
83
+
84
+ | Input | Meaning |
85
+ | --- | --- |
86
+ | `query` | One hybrid natural-language or exact query |
87
+ | `queries` | One or more hybrid query groups |
88
+ | `fts` | Ranked lexical constraints within indexed search, not exhaustive occurrence lookup |
89
+ | `vector` | Semantic-only query groups |
90
+ | `fuse` | Combine every group into one ranked plan |
91
+ | `limit` | Maximum items per group, up to 50 |
92
+ | `globs` / `insensitiveGlobs` | Ordered path rules |
93
+ | `fileTypes` / `excludedFileTypes` | ripgrep file-type filters |
94
+ | `symbolTypes` / `preferSymbol` | Indexed symbol controls |
95
+ | `modifiedAfter` / `modifiedBefore` | File modification-time bounds |
96
+ | `freshness` | `eventual` or `wait_for_fresh` |
97
+ | `autoUpdate` | Allow an eventual search to schedule a background update |
98
+
99
+ The response is compact text designed for agent context. It begins with index
100
+ state and then groups ranked results by file:
101
+
102
+ ```text
103
+ freshness: fresh
104
+ src/theme/use-theme.ts:12-36
105
+ matched: 16-18
106
+ source:
107
+ 15 export function useTheme() {
108
+ 16 const [theme, setTheme] = useState("light");
109
+ 17 useEffect(() => saveTheme(theme), [theme]);
110
+ ```
111
+
112
+ When `freshness` is `possibly_stale`, the response may also include current
113
+ indexing state. Agents can use sufficient results immediately rather than
114
+ running a status preflight.
115
+
116
+ Remote models may cause the tool to request explicit Remote Embedding
117
+ authorization. See
118
+ [Embedding models](./07-embedding.md#remote-embedding-and-authorization).
119
+
120
+ ## `zvec_grep_rg`
121
+
122
+ This tool is retained in the optional `full` MCP toolset and is not registered
123
+ in the default `agent` toolset. The CLI equivalent, `zg --rg`, remains
124
+ available without changing the MCP toolset.
125
+
126
+ Pass the ripgrep command you would otherwise run. The command is parsed into
127
+ arguments and is never executed by a shell:
128
+
129
+ ```json
130
+ {
131
+ "root": "/absolute/path/to/workspace",
132
+ "command": "rg -n -F 'loadTheme' -g '*.ts' src"
133
+ }
134
+ ```
135
+
136
+ The tool is exhaustive by default. Append `| head -N` only when intentionally
137
+ requesting bounded output:
138
+
139
+ ```json
140
+ {
141
+ "root": "/absolute/path/to/workspace",
142
+ "command": "rg -n 'TODO|FIXME' src | head -50"
143
+ }
144
+ ```
145
+
146
+ Scope broad searches with command paths, `-g/--glob`, or `-t/--type`. Managed rg
147
+ supports common ripgrep matching, context, type, glob, ignore, encoding, and
148
+ regex-engine options while preserving zvec-grep's compact result format.
149
+
150
+ ## Full compatibility toolset
151
+
152
+ The CLI owns index lifecycle and diagnostics, so agents normally do not need
153
+ administrative MCP tools. Clients that require them can restart the server with:
154
+
155
+ ```bash
156
+ zg --server off
157
+ zg --server on --mcp-toolset full
158
+ ```
159
+
160
+ The `full` toolset exposes six tools:
161
+
162
+ | Tool | Purpose |
163
+ | --- | --- |
164
+ | `zvec_grep_search` | Indexed retrieval |
165
+ | `zvec_grep_rg` | No-index exhaustive search |
166
+ | `zvec_grep_index` | Create, update, rebuild, or explicitly drop an index |
167
+ | `zvec_grep_index_drop` | Explicitly delete an index |
168
+ | `zvec_grep_index_status` | Inspect persisted and active index state |
169
+ | `zvec_grep_server_status` | Inspect daemon, queue, runtime, and model-pool state |
170
+
171
+ `zvec_grep_index` requires an absolute root. Its `wait` input defaults to
172
+ `false`, returning a background job identifier. Poll `zvec_grep_index_status`
173
+ only when completion, progress, failure diagnosis, or explicit monitoring is
174
+ needed. An agent must never silently create, rebuild, or delete a persistent
175
+ index.
176
+
177
+ Set `ZVEC_GREP_MCP_TOOLSET=full` as an environment fallback. An explicit
178
+ `--mcp-toolset` flag takes precedence.
179
+
180
+ ## Transport security
181
+
182
+ The MCP endpoint is loopback-only. Optional Bearer authentication protects the
183
+ local Server but remains independent of Embedding provider credentials and
184
+ Remote Embedding authorization. Configuration examples are in
185
+ [Server authentication](./06-server.md#bearer-authentication).
@@ -0,0 +1,234 @@
1
+ # Retrieval pipeline
2
+
3
+ [Documentation](./README.md) · [Agents](./01-agents.md) ·
4
+ [CLI](./02-cli.md) · [MCP](./03-mcp.md) · [Pipeline](./04-pipeline.md) ·
5
+ [Architecture](./05-architecture.md) · [Server](./06-server.md) ·
6
+ [Embedding](./07-embedding.md) · [Roadmap](./08-roadmap.md)
7
+
8
+ zg provides one search layer across semantic discovery, ranked lexical search,
9
+ and exhaustive ripgrep. The normal flow is:
10
+
11
+ ```text
12
+ workspace → file discovery → local index → query routes → compact results
13
+ ```
14
+
15
+ The index combines lexical and vector retrieval. Managed ripgrep follows the
16
+ same workspace and output conventions but can run without an index.
17
+
18
+ ## 1. Choose the workspace scope
19
+
20
+ For the common case, run a search from the repository root. If no index exists,
21
+ zg creates one there with a local embedding model and then completes the search:
22
+
23
+ ```bash
24
+ cd your-repository
25
+ zg "where authentication is validated"
26
+ ```
27
+
28
+ Use `--index` when you need to select a model or constrain the workspace before
29
+ the first search:
30
+
31
+ ```bash
32
+ cd your-repository
33
+ zg --index --embedding local/potion-code-16m-v2
34
+
35
+ # Equivalent with an explicit root
36
+ zg --index /absolute/path/to/your-repository \
37
+ --embedding local/potion-code-16m-v2
38
+ ```
39
+
40
+ The workspace index is stored under `<root>/.zvec-grep/`. `.git` and
41
+ `.zvec-grep` are always excluded. Common dependency, build, generated, cache,
42
+ and log directories are excluded by default, as are files ignored by the
43
+ repository's ignore rules.
44
+
45
+ The main workspace files are `manifest.json`, `files.zvec`, and `index.zvec`.
46
+ The manifest stores index metadata and the workspace Embedding runtime settings,
47
+ including an API key when one was explicitly persisted for that workspace.
48
+
49
+ Scope large repositories early:
50
+
51
+ ```bash
52
+ zg --index \
53
+ --embedding local/potion-code-16m-v2 \
54
+ -g "src/**" \
55
+ -g "docs/**" \
56
+ -g "!dist/**" \
57
+ -t ts
58
+ ```
59
+
60
+ Useful discovery controls include:
61
+
62
+ | Option | Effect |
63
+ | --- | --- |
64
+ | `-g, --glob <glob>` | Add an ordered include or `!` exclude rule |
65
+ | `--iglob <glob>` | Add a case-insensitive glob rule |
66
+ | `-t, --type <type>` | Include a ripgrep file type |
67
+ | `-T, --type-not <type>` | Exclude a ripgrep file type |
68
+ | `--hidden` | Include hidden paths except `.git` and `.zvec-grep` |
69
+ | `--no-ignore` | Stop applying ignore files |
70
+ | `--ignore-file <path>` | Add an ignore file |
71
+ | `--max-depth <n>` | Limit recursive depth |
72
+ | `--max-filesize <size>` | Limit file size, for example `500K` or `2M` |
73
+ | `-L, --follow` | Follow symbolic links safely |
74
+
75
+ File-type filters narrow the result after glob rules. For example,
76
+ `-g "docs/**" -t ts` selects TypeScript files inside `docs`, not every file in
77
+ that directory.
78
+
79
+ Without an explicit `--max-filesize`, indexing uses type-aware safety limits:
80
+ 1 MiB for code, 256 MiB for text and Markdown, 16 MiB for structured data, and
81
+ 10 MiB for images. An explicit value replaces the type-aware defaults for every
82
+ selected file. Files excluded by these limits remain silent during normal
83
+ indexing; use `zg --index --debug` to print skipped-file counts and samples.
84
+
85
+ ### Supported formats and extraction
86
+
87
+ The scanner assigns each admitted file to one extraction path. Structure-aware
88
+ extractors preserve useful code symbols or Markdown sections. When structure is
89
+ not available, zg falls back to plain-text chunks so the file can still
90
+ participate in indexed search.
91
+
92
+ | Files | Formats | Extractor | Indexed representation |
93
+ | --- | --- | --- | --- |
94
+ | Structure-aware code | C/C++ (`.c`, `.cc`, `.cpp`, `.cxx`, `.h`, `.hpp`), Go, Java, JavaScript/JSX, TypeScript/TSX, Python, Rust | `CodeExtractor` | Symbols, signatures, breadcrumbs, and surrounding source |
95
+ | Component scripts | `.vue`, `.svelte` | `CodeExtractor` | JavaScript or TypeScript `<script>` blocks; plain-text fallback when no structure is found |
96
+ | Other recognized code | Ruby, PHP, Swift, Kotlin, C#, Scala, shell, SQL, CSS/SCSS/Less, `Dockerfile`, `Makefile` | `CodeExtractor` | Plain-text chunks until a structural grammar is available |
97
+ | Markdown | `.md`, `.mdx` | `MarkdownExtractor` | Heading sections and breadcrumbs; plain-text fallback for documents without headings |
98
+ | Text documents | `.txt`, `.rst`, `.html`, `.htm`, `.xml` | `TextExtractor` | Plain-text chunks |
99
+ | Text data | `.csv`, `.json`, `.jsonc`, `.toml`, `.yaml`, `.yml` | `TextExtractor` | Plain-text chunks |
100
+ | Other non-binary files | Unrecognized extensions that pass binary detection | `TextExtractor` | Plain-text chunks |
101
+ | Raster images | `.gif`, `.jpeg`, `.jpg`, `.png`, `.webp` | `ImageExtractor` | Image content when explicitly included and the selected Embedding model accepts images |
102
+
103
+ Raster images are excluded by the default discovery rules and must be selected
104
+ explicitly. A text-only Embedding model cannot add image fragments to its
105
+ vector index.
106
+
107
+ The following binary formats are currently skipped before extraction:
108
+
109
+ - documents: `.pdf`, `.doc`, `.docx`, `.ppt`, `.pptx`, `.xls`, `.xlsx`;
110
+ - archives: `.zip`, `.tar`, `.gz`, `.bz2`, `.xz`, `.7z`, `.rar`;
111
+ - executables and compiled artifacts: `.exe`, `.dll`, `.dylib`, `.so`, `.a`,
112
+ `.o`, `.obj`, `.wasm`, `.class`, `.jar`;
113
+ - media and databases: `.mp3`, `.mp4`, `.mov`, `.avi`, `.mkv`, `.db`,
114
+ `.sqlite`.
115
+
116
+ Empty files, files above the configured size limit, and files detected as
117
+ binary are also skipped. Skipped files do not become extraction failures and
118
+ are not included in the current `filesScanned` count, so the index summary does
119
+ not list each skipped path or reason.
120
+
121
+ <a id="indexing"></a>
122
+
123
+ ## 2. Build and maintain the index
124
+
125
+ A manually created index resolves its model from explicit `--embedding`,
126
+ `ZVEC_GREP_EMBEDDING`, the configured default, then the built-in local default.
127
+ An implicit first-search index always uses a local model. Existing indexes reuse
128
+ their stored model and file-selection settings:
129
+
130
+ ```bash
131
+ # First build
132
+ zg --index --embedding local/potion-code-16m-v2
133
+
134
+ # Incremental update with the stored schema
135
+ zg --index
136
+ ```
137
+
138
+ Use `zg --status` to see the root, selected model, file counts, failures,
139
+ truncation, and the suggested next action:
140
+
141
+ ```bash
142
+ zg --status
143
+ zg --status --check-ready
144
+ ```
145
+
146
+ Changing the Embedding model or an incompatible endpoint requires an explicit
147
+ rebuild:
148
+
149
+ ```bash
150
+ zg --index --rebuild --embedding local/jina-embeddings-v2-base-code
151
+ ```
152
+
153
+ Use `--reset-paths` when the existing file-selection settings should be
154
+ replaced rather than reused. Deleting an index is explicit and destructive:
155
+
156
+ ```bash
157
+ zg --index --drop --yes
158
+ ```
159
+
160
+ See [Embedding models](./07-embedding.md) before choosing or changing a model.
161
+
162
+ <a id="querying"></a>
163
+
164
+ ## 3. Query through one search layer
165
+
166
+ The shortest query uses hybrid ranked retrieval:
167
+
168
+ ```bash
169
+ zg "where theme preferences are restored"
170
+ ```
171
+
172
+ Choose an explicit route only when you need more control:
173
+
174
+ | Route | Use it for | Coverage |
175
+ | --- | --- | --- |
176
+ | Positional query or `--hybrid` | Intent plus useful lexical anchors | Ranked sample |
177
+ | `--fts` | Exact terms ranked through the index | Ranked sample |
178
+ | `--vector` | Conceptual similarity without lexical ranking | Ranked sample |
179
+ | `--rg` | Exhaustive literal or regex matching | Exhaustive unless explicitly bounded |
180
+
181
+ Examples:
182
+
183
+ ```bash
184
+ # Ranked lexical search
185
+ zg --fts "AuthService"
186
+
187
+ # Explicit semantic search
188
+ zg --vector "where credentials are validated"
189
+
190
+ # Combine and fuse several query groups
191
+ zg \
192
+ --hybrid "authentication flow" \
193
+ --fts "ForbiddenError" \
194
+ --fuse \
195
+ --limit 10
196
+
197
+ # No index required
198
+ zg --rg -n -F "AuthService" -g "*.ts" src
199
+ ```
200
+
201
+ Multiple positional queries remain separate groups unless `--fuse` is set.
202
+ Use `-g`, `--iglob`, `-t`, and `-T` on indexed queries to narrow results. Managed
203
+ rg also accepts common ripgrep matching, context, engine, encoding, discovery,
204
+ glob, and type options.
205
+
206
+ zg owns the managed-rg result format, so output-changing options such as
207
+ `--json`, `--count`, `--files`, `-l`, `-o`, `--replace`, and `--vimgrep` are
208
+ rejected. Use `-A`, `-B`, or `-C` to add context.
209
+
210
+ ## Freshness
211
+
212
+ Indexed results report `fresh` or `possibly_stale`. Routine reconciliation stays
213
+ `fresh` until there is evidence of index drift. See
214
+ [Server and execution modes](./06-server.md#refresh-behavior) for the interaction
215
+ between `auto`, `server`, `direct`, and `--refresh`.
216
+
217
+ ## Output for agents and people
218
+
219
+ When stdout is a terminal, indexed CLI output is human-readable and includes a
220
+ full source preview by default. When stdout is redirected, output is compact,
221
+ grouped by query group, and omits previews unless requested:
222
+
223
+ ```bash
224
+ zg "plugin lifecycle" --preview short --limit 5
225
+ ```
226
+
227
+ Use `--compact` to request the pipe-oriented form even in a terminal:
228
+
229
+ ```bash
230
+ zg --compact "plugin lifecycle" --limit 5
231
+ ```
232
+
233
+ Use `--debug` for query diagnostics and `--trace` for per-hit indexed search
234
+ trace information.
@@ -0,0 +1,86 @@
1
+ # Architecture
2
+
3
+ [Documentation](./README.md) · [Agents](./01-agents.md) ·
4
+ [CLI](./02-cli.md) · [MCP](./03-mcp.md) · [Pipeline](./04-pipeline.md) ·
5
+ [Architecture](./05-architecture.md) · [Server](./06-server.md) ·
6
+ [Embedding](./07-embedding.md) · [Roadmap](./08-roadmap.md)
7
+
8
+ zg presents one search layer to people and agents while keeping execution,
9
+ retrieval, and storage local by default.
10
+
11
+ ## System at a glance
12
+
13
+ ```mermaid
14
+ flowchart LR
15
+ Human["Human or script"] --> CLI["zg CLI"]
16
+ Agent["Agent"] --> MCP["MCP client"]
17
+
18
+ CLI --> Router{"auto / server / direct"}
19
+ MCP --> Server["Local Server"]
20
+ Router --> Server
21
+ Router --> Direct["Direct runtime"]
22
+
23
+ Server --> Engine["zvec-grep engine"]
24
+ Direct --> Engine
25
+
26
+ Engine --> Indexed["Indexed search<br/>BM25 + vector + RRF"]
27
+ Engine --> RG["Managed ripgrep<br/>exact text + regex"]
28
+ Engine --> Indexing["Indexing<br/>scan + extract + embed"]
29
+
30
+ Files[("Workspace files")] --> RG
31
+ Files --> Indexing
32
+ Indexing --> Index[("Workspace index<br/>.zvec-grep/")]
33
+ Index --> Indexed
34
+
35
+ Indexed --> Results["Compact results"]
36
+ RG --> Results
37
+ ```
38
+
39
+ ## Entry and execution
40
+
41
+ People and scripts enter through the CLI. Agents normally enter through the
42
+ local Streamable HTTP MCP endpoint configured by `zg --install`.
43
+
44
+ The CLI routes indexed operations through `auto`, `server`, or `direct` mode.
45
+ Both Server and Direct modes call the same engine; the difference is process
46
+ lifetime and coordination, not search behavior. MCP requests always arrive
47
+ through the Server. Managed `zg --rg` can run directly without a Server
48
+ or index.
49
+
50
+ See [Agent integrations](./01-agents.md), [CLI](./02-cli.md),
51
+ [MCP](./03-mcp.md), and [Server and execution modes](./06-server.md) for the
52
+ individual interfaces.
53
+
54
+ ## Retrieval paths
55
+
56
+ The engine exposes two complementary paths behind the same product boundary:
57
+
58
+ | Path | Best for | Data source |
59
+ | --- | --- | --- |
60
+ | Indexed retrieval | Intent, related concepts, and ranked keywords | BM25/FTS and vector data in the workspace index |
61
+ | Managed ripgrep | Known text, symbols, paths, and regular expressions | Workspace files scanned directly |
62
+
63
+ Indexed search can combine lexical and vector candidates and fuse their ranks
64
+ with reciprocal rank fusion (RRF). Managed ripgrep is exhaustive by default and
65
+ does not require an Embedding model. Both paths apply workspace-aware filtering
66
+ and return file-oriented results suitable for terminal reading or agent context.
67
+
68
+ The [Retrieval pipeline](./04-pipeline.md) covers indexing, freshness, filters,
69
+ and route selection in detail.
70
+
71
+ ## State and trust boundary
72
+
73
+ The normal repository index lives under `<workspace>/.zvec-grep/`. Global
74
+ configuration and daemon state live under `~/.zvec-grep/`. Workspace scanning,
75
+ managed ripgrep, index storage, and local Embedding models remain on the local
76
+ machine, and the Server listens on loopback only.
77
+
78
+ Selecting a remote Embedding provider is the one path that can send query text
79
+ or workspace content outside the machine. zg requests explicit once-only or
80
+ workspace authorization before that transfer. MCP Bearer authentication protects
81
+ the local endpoint; it does not authorize remote Embedding.
82
+
83
+ See [Embedding models](./07-embedding.md#remote-embedding-and-authorization)
84
+ for provider authorization and
85
+ [Server authentication](./06-server.md#bearer-authentication) for the local
86
+ endpoint boundary.