@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
@@ -1,82 +1,319 @@
1
+ import { homedir } from "node:os";
2
+ import { isAbsolute, relative, sep } from "node:path";
1
3
  import { shouldUseColor } from "./highlight.js";
2
- export function printCollectionList(collections, options) {
4
+ import { formatGreenProgressBar } from "./progress.js";
5
+ import { indexCompletionFromStatus, indexStatusNeedsRefresh as statusNeedsRefresh, } from "../../engine/index-status.js";
6
+ export function printRemoteEmbeddingAuthorizationStatus(root, status, options) {
3
7
  const theme = createStatusTheme(options);
4
- for (const collection of collections) {
5
- const roots = collection.rootPaths.map(formatRootPath).join(", ");
6
- console.log(`${theme.accent(collection.name)}\t${theme.path(roots)}`);
8
+ const validGrants = status.grants.filter((grant) => grant.valid);
9
+ if (status.grants.length === 0) {
10
+ console.log(theme.warning("○ Remote Embedding is not authorized"));
7
11
  }
8
- }
9
- export function printCollectionInfo(info, status, options) {
10
- const theme = createStatusTheme(options);
11
- printField(theme, "name", theme.accent(info.name));
12
- printField(theme, "id", info.id);
13
- printField(theme, "path", theme.path(info.path));
14
- printField(theme, "policy", info.indexPolicy ?? "enabled");
15
- if (info.embedding) {
16
- printField(theme, "embedding", `${info.embedding.provider}/${info.embedding.model}`);
12
+ else if (validGrants.length === status.grants.length) {
13
+ console.log(theme.success("✓ Remote Embedding is authorized"));
14
+ }
15
+ else if (validGrants.length === 0) {
16
+ console.log(theme.danger("✗ Remote Embedding authorization is invalid"));
17
17
  }
18
18
  else {
19
- printField(theme, "embedding", theme.warning("none"));
19
+ console.log(theme.warning("! Remote Embedding authorization needs attention"));
20
+ }
21
+ console.log(` ${theme.path(formatDisplayPath(root))}`);
22
+ if (status.grants.length === 0) {
23
+ console.log("");
24
+ console.log(theme.accent("Run"));
25
+ console.log(` ${theme.path("zg auth grant --capability embedding --scope workspace")}`);
26
+ return;
20
27
  }
21
- printField(theme, "roots", theme.path(info.rootPaths.map(formatRootPath).join(", ")));
22
- if (status) {
23
- printIndexStatus(theme, status);
24
- if (statusNeedsRefresh(status)) {
25
- printField(theme, "suggestion", theme.accent(`zg collections index ${shellArg(info.name)}`));
28
+ console.log("");
29
+ console.log(theme.accent("Authorization"));
30
+ status.grants.forEach((grant, index) => {
31
+ if (index > 0)
32
+ console.log("");
33
+ for (const line of formatStatusField(theme, "Scope", grant.valid
34
+ ? theme.success("Workspace")
35
+ : theme.danger("Invalid Workspace grant"))) {
36
+ console.log(line);
37
+ }
38
+ for (const line of formatStatusField(theme, "Target", `${grant.provider}/${grant.model}`)) {
39
+ console.log(line);
26
40
  }
27
- printFailedFilesNote(theme, status, `zg collections index ${shellArg(info.name)}`);
41
+ for (const line of formatStatusField(theme, "Endpoint", formatEndpointHost(grant.endpoint))) {
42
+ console.log(line);
43
+ }
44
+ });
45
+ console.log("");
46
+ console.log(theme.accent("Storage"));
47
+ for (const line of formatStatusField(theme, "Grant", theme.path(formatStoragePath(status.path, root)))) {
48
+ console.log(line);
28
49
  }
29
50
  }
30
- export function printAnonymousInfo(info, options) {
51
+ export function printWorkspaceInfo(info, options) {
31
52
  const theme = createStatusTheme(options);
32
- printField(theme, "root", theme.path(info.root));
33
- printField(theme, "policy", info.indexPolicy);
34
- printField(theme, "indexed", info.indexed ? theme.success("yes") : theme.warning("no"));
35
- printField(theme, "state", formatAnonymousState(theme, info));
36
- printField(theme, "source", info.source === "index"
37
- ? theme.success(info.source)
38
- : theme.warning(info.source));
39
- printField(theme, "home", theme.path(info.home));
40
- printField(theme, "index", theme.path(info.indexPath));
41
- if (info.collection?.embedding) {
42
- printField(theme, "embedding", `${info.collection.embedding.provider}/${info.collection.embedding.model}`);
43
- printField(theme, "dimension", String(info.collection.embedding.dimension));
44
- printField(theme, "metric", info.collection.embedding.metric);
45
- }
46
- else if (info.collection) {
47
- printField(theme, "embedding", theme.warning("none"));
48
- }
49
- if (info.collection) {
50
- printField(theme, "roots", theme.path(info.collection.rootPaths.map(formatRootPath).join(", ")));
51
- }
52
- if (info.status) {
53
- printIndexStatus(theme, info.status);
54
- }
55
- const suggestion = info.status && statusNeedsRefresh(info.status)
56
- ? "zg index"
57
- : info.suggestion;
58
- if (suggestion) {
59
- printField(theme, "suggestion", theme.accent(suggestion));
60
- }
61
- if (info.status) {
62
- printFailedFilesNote(theme, info.status, "zg index");
53
+ const status = info.status ?? undefined;
54
+ const completion = indexCompletionFromStatus(status);
55
+ const suggestion = status && statusNeedsRefresh(status) ? "zg index" : info.suggestion;
56
+ const state = workspaceState(info);
57
+ printWorkspaceIndexStatus(theme, {
58
+ root: info.root,
59
+ indexPath: info.indexPath,
60
+ policy: info.indexPolicy,
61
+ state,
62
+ embedding: info.workspaceIndex?.embedding,
63
+ roots: info.workspaceIndex?.rootPaths,
64
+ files: status
65
+ ? {
66
+ indexed: completion?.completed ?? 0,
67
+ total: completion?.total ?? 0,
68
+ entities: status.entitiesIndexed ?? 0,
69
+ truncated: status.fragmentsTruncated ?? 0,
70
+ pending: status.filesPending,
71
+ failed: status.filesFailed,
72
+ }
73
+ : undefined,
74
+ changes: status
75
+ ? {
76
+ added: status.filesAdded,
77
+ modified: status.filesModified,
78
+ deleted: status.filesDeleted,
79
+ }
80
+ : undefined,
81
+ suggestion,
82
+ failedReasons: status
83
+ ? summarizeFailedFileReasons(status.failedFiles, "zg index")
84
+ : undefined,
85
+ });
86
+ return state;
87
+ }
88
+ export function printServerIndexInfo(info, options) {
89
+ const theme = createStatusTheme(options);
90
+ const state = serverIndexState(info);
91
+ const embedding = info.persistent.workspace_index?.embedding;
92
+ const roots = info.persistent.workspace_index?.root_paths.map(mapServerRootPath);
93
+ const files = info.persistent.files;
94
+ const completion = info.runtime?.completion;
95
+ printWorkspaceIndexStatus(theme, {
96
+ root: info.root,
97
+ indexPath: info.persistent.index_path,
98
+ policy: info.index_policy,
99
+ state,
100
+ embedding,
101
+ roots,
102
+ files: files
103
+ ? {
104
+ indexed: completion?.completed ?? files.unchanged,
105
+ total: completion?.total ??
106
+ files.scanned ??
107
+ Math.max(0, files.stored + files.added - files.deleted),
108
+ entities: files.entities,
109
+ truncated: files.truncated_fragments ?? 0,
110
+ pending: files.pending,
111
+ failed: info.runtime?.progress?.files_failed ?? files.failed,
112
+ }
113
+ : undefined,
114
+ changes: files
115
+ ? {
116
+ added: files.added,
117
+ modified: files.modified,
118
+ deleted: files.deleted,
119
+ }
120
+ : undefined,
121
+ suggestion: info.persistent.suggestion,
122
+ error: info.runtime?.error,
123
+ });
124
+ return state;
125
+ }
126
+ function printWorkspaceIndexStatus(theme, view) {
127
+ console.log(formatWorkspaceStatusHeading(theme, view.state));
128
+ console.log(` ${theme.path(formatDisplayPath(view.root))}`);
129
+ const sections = [];
130
+ if (view.files) {
131
+ const { indexed, total, entities, truncated, pending, failed } = view.files;
132
+ const percent = total === 0
133
+ ? 0
134
+ : Math.min(100, Math.round((Math.max(indexed, 0) / total) * 100));
135
+ const bar = formatGreenProgressBar(indexed, total, 20, theme.color);
136
+ const summary = [
137
+ ...formatStatusField(theme, "Coverage", `${bar} ${String(percent).padStart(3)}% ${formatCount(indexed)} / ${formatCount(total)} files`),
138
+ ...formatStatusField(theme, "Entities", formatCount(entities)),
139
+ ...formatStatusField(theme, "Truncated", truncated > 0
140
+ ? theme.warning(`${formatCount(truncated)} fragments`)
141
+ : theme.muted("0 fragments")),
142
+ ...formatStatusField(theme, "Queue", `${statusCount(theme, pending, "pending", "warning")} ${theme.muted("·")} ${statusCount(theme, failed, "failed", "danger")}`),
143
+ ];
144
+ if (view.changes && changedTotal(view.changes) > 0) {
145
+ summary.push(...formatStatusField(theme, "Changes", `${theme.warning(`${formatCount(view.changes.added)} added`)} ${theme.muted("·")} ${theme.warning(`${formatCount(view.changes.modified)} modified`)} ${theme.muted("·")} ${theme.warning(`${formatCount(view.changes.deleted)} deleted`)}`));
146
+ }
147
+ sections.push(summary);
148
+ }
149
+ if (view.embedding !== undefined) {
150
+ sections.push(formatStatusField(theme, "Embedding", view.embedding
151
+ ? [
152
+ `${view.embedding.provider}/${view.embedding.model}`,
153
+ `${formatCount(view.embedding.dimension)} dimensions ${theme.muted("·")} ${view.embedding.metric}`,
154
+ ]
155
+ : theme.warning("Not configured")));
156
+ }
157
+ const storage = formatStatusField(theme, "Storage", theme.path(formatStoragePath(view.indexPath, view.root)));
158
+ if (view.roots && shouldShowRoots(view.root, view.roots)) {
159
+ storage.push(...formatStatusField(theme, "Roots", view.roots.map((root) => theme.path(formatDisplayRootPath(root)))));
160
+ }
161
+ if (view.policy !== "enabled") {
162
+ storage.push(...formatStatusField(theme, "Policy", view.policy === "disabled"
163
+ ? theme.warning(view.policy)
164
+ : theme.muted(view.policy)));
165
+ }
166
+ sections.push(storage);
167
+ const diagnostics = [];
168
+ if (view.error) {
169
+ diagnostics.push(...formatStatusField(theme, "Error", [
170
+ theme.danger(view.error.code),
171
+ theme.danger(view.error.message),
172
+ ]));
173
+ }
174
+ if (view.failedReasons) {
175
+ diagnostics.push(...formatStatusField(theme, "Problem", theme.danger(view.failedReasons)));
176
+ }
177
+ if (view.suggestion) {
178
+ diagnostics.push(...formatStatusField(theme, "Next", theme.accent(view.suggestion)));
179
+ }
180
+ if (diagnostics.length > 0) {
181
+ sections.push(diagnostics);
182
+ }
183
+ for (const section of sections) {
184
+ if (section.length === 0)
185
+ continue;
186
+ console.log("");
187
+ for (const line of section)
188
+ console.log(line);
189
+ }
190
+ }
191
+ function formatWorkspaceStatusHeading(theme, state) {
192
+ switch (state) {
193
+ case "ready":
194
+ return theme.success("✓ Workspace index is ready");
195
+ case "indexing":
196
+ return theme.warning("◐ Workspace index is updating");
197
+ case "stale":
198
+ return theme.warning("! Workspace index needs an update");
199
+ case "failed":
200
+ return theme.danger("✗ Workspace index failed");
201
+ case "cancelled":
202
+ return theme.warning("! Workspace index update was cancelled");
203
+ case "disabled":
204
+ return theme.warning("○ Workspace indexing is disabled");
205
+ case "unindexed":
206
+ return theme.warning("○ Workspace index is not created");
207
+ case "undecided":
208
+ return theme.warning("? Workspace index is not configured");
209
+ }
210
+ }
211
+ function formatStatusField(theme, label, value) {
212
+ const values = typeof value === "string" ? [value] : value;
213
+ const labelWidth = 12;
214
+ const continuation = ` ${" ".repeat(labelWidth)}`;
215
+ return values.map((line, index) => index === 0
216
+ ? ` ${theme.label(label.padEnd(labelWidth))}${line}`
217
+ : `${continuation}${line}`);
218
+ }
219
+ function statusCount(theme, count, label, tone) {
220
+ const value = `${formatCount(count)} ${label}`;
221
+ return count > 0 ? theme[tone](value) : theme.muted(value);
222
+ }
223
+ function changedTotal(changes) {
224
+ return changes.added + changes.modified + changes.deleted;
225
+ }
226
+ function serverIndexState(info) {
227
+ if (info.index_policy === "disabled")
228
+ return "disabled";
229
+ if (info.runtime?.job_state === "failed" || info.runtime?.error) {
230
+ return "failed";
231
+ }
232
+ if (info.runtime?.job_state === "cancelled")
233
+ return "cancelled";
234
+ if (info.runtime?.job_state === "queued" ||
235
+ info.runtime?.job_state === "running") {
236
+ return "indexing";
237
+ }
238
+ if (info.runtime?.dirty_revision !== undefined &&
239
+ info.runtime.indexed_revision !== undefined &&
240
+ info.runtime.dirty_revision > info.runtime.indexed_revision) {
241
+ return "stale";
242
+ }
243
+ if ((info.persistent.files?.failed ?? 0) > 0)
244
+ return "failed";
245
+ if ((info.persistent.files?.pending ?? 0) > 0 ||
246
+ serverChangedTotal(info.persistent.files) > 0) {
247
+ return "stale";
248
+ }
249
+ if (info.indexed)
250
+ return "ready";
251
+ return info.index_policy === "undecided" ? "undecided" : "unindexed";
252
+ }
253
+ function serverChangedTotal(files) {
254
+ return (files?.added ?? 0) + (files?.modified ?? 0) + (files?.deleted ?? 0);
255
+ }
256
+ function mapServerRootPath(root) {
257
+ return {
258
+ absolutePath: root.absolute_path,
259
+ recursive: root.recursive,
260
+ include: root.include,
261
+ exclude: root.exclude,
262
+ globs: root.globs,
263
+ insensitiveGlobs: root.insensitive_globs,
264
+ fileTypes: root.file_types,
265
+ excludedFileTypes: root.excluded_file_types,
266
+ hidden: root.hidden,
267
+ noIgnore: root.no_ignore,
268
+ ignoreFiles: root.ignore_files,
269
+ maxDepth: root.max_depth,
270
+ maxFileSizeBytes: root.max_file_size_bytes,
271
+ follow: root.follow,
272
+ };
273
+ }
274
+ function shouldShowRoots(workspaceRoot, roots) {
275
+ return (roots.length > 1 ||
276
+ roots.some((root) => root.absolutePath !== workspaceRoot ||
277
+ formatRootPath(root) !== root.absolutePath));
278
+ }
279
+ function formatDisplayRootPath(root) {
280
+ const formatted = formatRootPath(root);
281
+ return `${formatDisplayPath(root.absolutePath)}${formatted.slice(root.absolutePath.length)}`;
282
+ }
283
+ function formatStoragePath(indexPath, workspaceRoot) {
284
+ const localPath = relative(workspaceRoot, indexPath);
285
+ if (localPath.length > 0 &&
286
+ !isAbsolute(localPath) &&
287
+ localPath !== ".." &&
288
+ !localPath.startsWith(`..${sep}`)) {
289
+ return localPath;
63
290
  }
291
+ return formatDisplayPath(indexPath);
64
292
  }
65
- function formatAnonymousState(theme, info) {
66
- const state = anonymousState(info);
67
- if (state === "ready") {
68
- return theme.success(state);
293
+ function formatDisplayPath(path) {
294
+ const home = homedir();
295
+ if (path === home)
296
+ return "~";
297
+ return path.startsWith(`${home}${sep}`)
298
+ ? `~${path.slice(home.length)}`
299
+ : path;
300
+ }
301
+ function formatEndpointHost(endpoint) {
302
+ try {
303
+ return new URL(endpoint).host || endpoint;
69
304
  }
70
- if (state === "failed") {
71
- return theme.danger(state);
305
+ catch {
306
+ return endpoint;
72
307
  }
73
- return theme.warning(state);
74
308
  }
75
- function anonymousState(info) {
309
+ function formatCount(value) {
310
+ return value.toLocaleString("en-US");
311
+ }
312
+ function workspaceState(info) {
76
313
  if (info.indexPolicy === "disabled") {
77
314
  return "disabled";
78
315
  }
79
- if (!info.collection) {
316
+ if (!info.workspaceIndex) {
80
317
  return "undecided";
81
318
  }
82
319
  if (!info.indexed) {
@@ -117,39 +354,6 @@ export function printIndexPathFilterTip(options) {
117
354
  const theme = createStatusTheme(options);
118
355
  printField(theme, "tip", theme.warning("Default indexing skips common noise. For large or remote-embedding indexes, inspect this long-lived workspace and choose focused -g/--glob and -t/--type filters."));
119
356
  }
120
- export function printCollectionRemoveResult(name, removed, options) {
121
- const theme = createStatusTheme(options);
122
- console.log(removed
123
- ? `${theme.success("Removed")} collection ${theme.accent(name)}`
124
- : `${theme.warning("Collection not found")}: ${theme.accent(name)}`);
125
- }
126
- function printIndexStatus(theme, status) {
127
- printField(theme, "files", `${status.filesIndexed}/${status.filesScanned} indexed`);
128
- printField(theme, "entities", String(status.entitiesIndexed ?? 0));
129
- printField(theme, "fresh", statusNeedsRefresh(status) ? theme.warning("no") : theme.success("yes"));
130
- printField(theme, "changed", changedCount(theme, status));
131
- printField(theme, "pending", status.filesPending > 0
132
- ? theme.warning(String(status.filesPending))
133
- : theme.success(String(status.filesPending)));
134
- printField(theme, "failed", failedCount(theme, status.filesFailed));
135
- }
136
- function statusNeedsRefresh(status) {
137
- return (status.filesAdded > 0 ||
138
- status.filesModified > 0 ||
139
- status.filesDeleted > 0 ||
140
- status.filesPending > 0 ||
141
- status.filesFailed > 0);
142
- }
143
- function printFailedFilesNote(theme, status, retryCommand) {
144
- if (status.filesFailed === 0) {
145
- return;
146
- }
147
- printField(theme, "note", theme.warning(`retry ${retryCommand}; if failures persist, fix failed files or embedding configuration`));
148
- const reasons = summarizeFailedFileReasons(status.failedFiles, retryCommand);
149
- if (reasons) {
150
- printField(theme, "failed_reasons", theme.danger(reasons));
151
- }
152
- }
153
357
  function summarizeFailedFileReasons(files, retryCommand) {
154
358
  const withReasons = files.filter((file) => file.indexStatus?.error);
155
359
  if (withReasons.length === 0) {
@@ -177,11 +381,6 @@ function clipReason(reason) {
177
381
  ? `${compact.slice(0, maxLength - 3)}...`
178
382
  : compact;
179
383
  }
180
- function changedCount(theme, status) {
181
- const count = status.filesAdded + status.filesModified + status.filesDeleted;
182
- const value = `${status.filesAdded} added, ${status.filesModified} modified, ${status.filesDeleted} deleted`;
183
- return count > 0 ? theme.warning(value) : theme.success(value);
184
- }
185
384
  function printQueryFilters(theme, options) {
186
385
  if (options.modifiedAfter !== undefined) {
187
386
  printField(theme, "modified_after", formatTimeFilter(options.modifiedAfter));
@@ -199,8 +398,10 @@ function failedCount(theme, count) {
199
398
  : theme.success(`${count} failed`);
200
399
  }
201
400
  function createStatusTheme(options) {
202
- if (!shouldUseColor(options)) {
401
+ const color = shouldUseColor(options);
402
+ if (!color) {
203
403
  return {
404
+ color,
204
405
  label: identity,
205
406
  path: identity,
206
407
  success: identity,
@@ -211,6 +412,7 @@ function createStatusTheme(options) {
211
412
  };
212
413
  }
213
414
  return {
415
+ color,
214
416
  label: (value) => `\x1b[2m${value}\x1b[0m`,
215
417
  path: (value) => `\x1b[36m${value}\x1b[0m`,
216
418
  success: (value) => `\x1b[32m${value}\x1b[0m`,
@@ -273,10 +475,4 @@ function formatTimeFilter(value) {
273
475
  function identity(value) {
274
476
  return value;
275
477
  }
276
- function shellArg(value) {
277
- if (/^[A-Za-z0-9_./:=@+-]+$/.test(value)) {
278
- return value;
279
- }
280
- return `'${value.replaceAll("'", "'\\''")}'`;
281
- }
282
478
  //# sourceMappingURL=status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/format/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/format/status.ts"],"names":[],"mappings":"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"}