@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.
- package/README.md +154 -236
- package/README_CN.md +142 -233
- package/dist/authorization/index.d.ts +7 -0
- package/dist/authorization/index.js +7 -0
- package/dist/authorization/index.js.map +1 -0
- package/dist/authorization/manager.d.ts +8 -0
- package/dist/authorization/manager.js +19 -0
- package/dist/authorization/manager.js.map +1 -0
- package/dist/authorization/operation.d.ts +7 -0
- package/dist/authorization/operation.js +50 -0
- package/dist/authorization/operation.js.map +1 -0
- package/dist/authorization/planner.d.ts +21 -0
- package/dist/authorization/planner.js +97 -0
- package/dist/authorization/planner.js.map +1 -0
- package/dist/authorization/prompt.d.ts +11 -0
- package/dist/authorization/prompt.js +62 -0
- package/dist/authorization/prompt.js.map +1 -0
- package/dist/authorization/store.d.ts +20 -0
- package/dist/authorization/store.js +251 -0
- package/dist/authorization/store.js.map +1 -0
- package/dist/authorization/target.d.ts +15 -0
- package/dist/authorization/target.js +49 -0
- package/dist/authorization/target.js.map +1 -0
- package/dist/authorization/types.d.ts +61 -0
- package/dist/authorization/types.js +2 -0
- package/dist/authorization/types.js.map +1 -0
- package/dist/cli/args.d.ts +1 -1
- package/dist/cli/args.js +338 -55
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/auth.d.ts +21 -0
- package/dist/cli/auth.js +209 -0
- package/dist/cli/auth.js.map +1 -0
- package/dist/cli/commands.js +469 -625
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/errors.js +2 -2
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/format/context.d.ts +4 -0
- package/dist/cli/format/context.js +311 -44
- package/dist/cli/format/context.js.map +1 -1
- package/dist/cli/format/debug.js +12 -6
- package/dist/cli/format/debug.js.map +1 -1
- package/dist/cli/format/progress.d.ts +4 -0
- package/dist/cli/format/progress.js +219 -46
- package/dist/cli/format/progress.js.map +1 -1
- package/dist/cli/format/status.d.ts +79 -6
- package/dist/cli/format/status.js +341 -111
- package/dist/cli/format/status.js.map +1 -1
- package/dist/cli/help.js +395 -63
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/install.d.ts +4 -0
- package/dist/cli/install.js +963 -0
- package/dist/cli/install.js.map +1 -0
- package/dist/cli/managed-rg.d.ts +10 -0
- package/dist/cli/managed-rg.js +329 -0
- package/dist/cli/managed-rg.js.map +1 -0
- package/dist/cli/server-search.d.ts +3 -0
- package/dist/cli/server-search.js +12 -0
- package/dist/cli/server-search.js.map +1 -0
- package/dist/cli/types.d.ts +23 -6
- package/dist/cli/types.js.map +1 -1
- package/dist/client/daemon-client.d.ts +31 -0
- package/dist/client/daemon-client.js +203 -0
- package/dist/client/daemon-client.js.map +1 -0
- package/dist/client/mode-router.d.ts +9 -0
- package/dist/client/mode-router.js +28 -0
- package/dist/client/mode-router.js.map +1 -0
- package/dist/client/search-policy.d.ts +11 -0
- package/dist/client/search-policy.js +15 -0
- package/dist/client/search-policy.js.map +1 -0
- package/dist/daemon/backend.d.ts +77 -0
- package/dist/daemon/backend.js +1087 -0
- package/dist/daemon/backend.js.map +1 -0
- package/dist/daemon/change-set.d.ts +25 -0
- package/dist/daemon/change-set.js +101 -0
- package/dist/daemon/change-set.js.map +1 -0
- package/dist/daemon/config.d.ts +24 -0
- package/dist/daemon/config.js +88 -0
- package/dist/daemon/config.js.map +1 -0
- package/dist/daemon/errors.d.ts +5 -0
- package/dist/daemon/errors.js +11 -0
- package/dist/daemon/errors.js.map +1 -0
- package/dist/daemon/http-server.d.ts +30 -0
- package/dist/daemon/http-server.js +288 -0
- package/dist/daemon/http-server.js.map +1 -0
- package/dist/daemon/index-coordinator.d.ts +24 -0
- package/dist/daemon/index-coordinator.js +68 -0
- package/dist/daemon/index-coordinator.js.map +1 -0
- package/dist/daemon/job-scheduler.d.ts +70 -0
- package/dist/daemon/job-scheduler.js +366 -0
- package/dist/daemon/job-scheduler.js.map +1 -0
- package/dist/daemon/logger.d.ts +9 -0
- package/dist/daemon/logger.js +53 -0
- package/dist/daemon/logger.js.map +1 -0
- package/dist/daemon/model-pool.d.ts +45 -0
- package/dist/daemon/model-pool.js +187 -0
- package/dist/daemon/model-pool.js.map +1 -0
- package/dist/daemon/root-lease.d.ts +14 -0
- package/dist/daemon/root-lease.js +188 -0
- package/dist/daemon/root-lease.js.map +1 -0
- package/dist/daemon/root-runtime.d.ts +78 -0
- package/dist/daemon/root-runtime.js +333 -0
- package/dist/daemon/root-runtime.js.map +1 -0
- package/dist/daemon/runtime-manager.d.ts +46 -0
- package/dist/daemon/runtime-manager.js +246 -0
- package/dist/daemon/runtime-manager.js.map +1 -0
- package/dist/daemon/runtime.d.ts +12 -0
- package/dist/daemon/runtime.js +102 -0
- package/dist/daemon/runtime.js.map +1 -0
- package/dist/daemon/server-controller.d.ts +39 -0
- package/dist/daemon/server-controller.js +254 -0
- package/dist/daemon/server-controller.js.map +1 -0
- package/dist/daemon/watch-manager.d.ts +50 -0
- package/dist/daemon/watch-manager.js +293 -0
- package/dist/daemon/watch-manager.js.map +1 -0
- package/dist/daemon/workspace-read-session-cache.d.ts +31 -0
- package/dist/daemon/workspace-read-session-cache.js +115 -0
- package/dist/daemon/workspace-read-session-cache.js.map +1 -0
- package/dist/engine/code-formats.d.ts +3 -0
- package/dist/engine/code-formats.js +14 -0
- package/dist/engine/code-formats.js.map +1 -0
- package/dist/engine/config.d.ts +30 -8
- package/dist/engine/config.js +171 -45
- package/dist/engine/config.js.map +1 -1
- package/dist/engine/{errors/index.d.ts → errors.d.ts} +6 -1
- package/dist/engine/{errors/details.js → errors.js} +17 -4
- package/dist/engine/errors.js.map +1 -0
- package/dist/engine/extraction/code/adapter.d.ts +1 -1
- package/dist/engine/extraction/code/adapter.js +1 -1
- package/dist/engine/extraction/code/adapter.js.map +1 -1
- package/dist/engine/extraction/code/extractor.d.ts +5 -11
- package/dist/engine/extraction/code/extractor.js +116 -48
- package/dist/engine/extraction/code/extractor.js.map +1 -1
- package/dist/engine/extraction/code/families/c-family.js +1 -1
- package/dist/engine/extraction/code/families/c-family.js.map +1 -1
- package/dist/engine/extraction/code/families/js-ts.d.ts +1 -1
- package/dist/engine/extraction/code/families/metadata.d.ts +1 -1
- package/dist/engine/extraction/code/tree-sitter/grammar.js.map +1 -0
- package/dist/engine/extraction/code/tree-sitter/nodes.js.map +1 -0
- package/dist/engine/extraction/code/tree-sitter/parser.js.map +1 -0
- package/dist/engine/extraction/image/extractor.d.ts +5 -0
- package/dist/engine/extraction/image/extractor.js +35 -0
- package/dist/engine/extraction/image/extractor.js.map +1 -0
- package/dist/engine/extraction/index.d.ts +4 -44
- package/dist/engine/extraction/index.js +2 -280
- package/dist/engine/extraction/index.js.map +1 -1
- package/dist/engine/extraction/markdown/extractor.d.ts +5 -11
- package/dist/engine/extraction/markdown/extractor.js +38 -17
- package/dist/engine/extraction/markdown/extractor.js.map +1 -1
- package/dist/engine/extraction/runtime.d.ts +4 -0
- package/dist/engine/extraction/runtime.js +26 -0
- package/dist/engine/extraction/runtime.js.map +1 -0
- package/dist/engine/extraction/source.d.ts +18 -0
- package/dist/engine/extraction/source.js +22 -0
- package/dist/engine/extraction/source.js.map +1 -0
- package/dist/engine/extraction/text/extractor.d.ts +7 -0
- package/dist/engine/extraction/text/extractor.js +168 -0
- package/dist/engine/extraction/text/extractor.js.map +1 -0
- package/dist/engine/extraction/types.d.ts +4 -0
- package/dist/engine/{models → extraction}/types.js.map +1 -1
- package/dist/engine/extraction/vector-content.d.ts +5 -0
- package/dist/engine/extraction/vector-content.js +95 -0
- package/dist/engine/extraction/vector-content.js.map +1 -0
- package/dist/engine/file-size-policy.d.ts +6 -0
- package/dist/engine/file-size-policy.js +20 -0
- package/dist/engine/file-size-policy.js.map +1 -0
- package/dist/engine/file-type.d.ts +15 -0
- package/dist/engine/file-type.js +152 -0
- package/dist/engine/file-type.js.map +1 -0
- package/dist/engine/index-status.d.ts +9 -0
- package/dist/engine/index-status.js +38 -0
- package/dist/engine/index-status.js.map +1 -0
- package/dist/engine/manifest.d.ts +13 -0
- package/dist/engine/manifest.js +124 -0
- package/dist/engine/manifest.js.map +1 -0
- package/dist/engine/models/{providers/llama-cpp/embedding.d.ts → backends/llama-cpp.d.ts} +25 -20
- package/dist/engine/models/{providers/llama-cpp/embedding.js → backends/llama-cpp.js} +127 -106
- package/dist/engine/models/backends/llama-cpp.js.map +1 -0
- package/dist/engine/models/backends/model2vec-runtime.d.ts +63 -0
- package/dist/engine/models/backends/model2vec-runtime.js +112 -0
- package/dist/engine/models/backends/model2vec-runtime.js.map +1 -0
- package/dist/engine/models/backends/model2vec-tokenizer.d.ts +2 -0
- package/dist/engine/models/backends/model2vec-tokenizer.js +42 -0
- package/dist/engine/models/backends/model2vec-tokenizer.js.map +1 -0
- package/dist/engine/models/backends/model2vec-worker-pool.d.ts +25 -0
- package/dist/engine/models/backends/model2vec-worker-pool.js +264 -0
- package/dist/engine/models/backends/model2vec-worker-pool.js.map +1 -0
- package/dist/engine/models/backends/model2vec-worker.d.ts +1 -0
- package/dist/engine/models/backends/model2vec-worker.js +41 -0
- package/dist/engine/models/backends/model2vec-worker.js.map +1 -0
- package/dist/engine/models/backends/model2vec.d.ts +40 -0
- package/dist/engine/models/backends/model2vec.js +311 -0
- package/dist/engine/models/backends/model2vec.js.map +1 -0
- package/dist/engine/models/backends/qwen.d.ts +44 -0
- package/dist/engine/models/{providers/qwen/embedding.js → backends/qwen.js} +155 -94
- package/dist/engine/models/backends/qwen.js.map +1 -0
- package/dist/engine/models/backends/transformers-js.d.ts +87 -0
- package/dist/engine/models/backends/transformers-js.js +316 -0
- package/dist/engine/models/backends/transformers-js.js.map +1 -0
- package/dist/engine/models/catalog.d.ts +207 -23
- package/dist/engine/models/catalog.js +191 -25
- package/dist/engine/models/catalog.js.map +1 -1
- package/dist/engine/models/download-progress.d.ts +15 -0
- package/dist/engine/models/download-progress.js +48 -0
- package/dist/engine/models/download-progress.js.map +1 -0
- package/dist/engine/models/embeddings.d.ts +59 -18
- package/dist/engine/models/embeddings.js +52 -28
- package/dist/engine/models/embeddings.js.map +1 -1
- package/dist/engine/models/factory.d.ts +2 -5
- package/dist/engine/models/factory.js +41 -56
- package/dist/engine/models/factory.js.map +1 -1
- package/dist/engine/models/index.d.ts +4 -6
- package/dist/engine/models/index.js +4 -4
- package/dist/engine/models/index.js.map +1 -1
- package/dist/engine/models/ranking.d.ts +7 -3
- package/dist/engine/models/resolution.d.ts +8 -0
- package/dist/engine/models/resolution.js +22 -0
- package/dist/engine/models/resolution.js.map +1 -0
- package/dist/engine/pipeline/indexing/index.d.ts +9 -7
- package/dist/engine/pipeline/indexing/index.js +409 -165
- package/dist/engine/pipeline/indexing/index.js.map +1 -1
- package/dist/engine/pipeline/indexing/input-budget.d.ts +2 -0
- package/dist/engine/pipeline/indexing/input-budget.js +51 -0
- package/dist/engine/pipeline/indexing/input-budget.js.map +1 -0
- package/dist/engine/pipeline/indexing/root-paths.js +6 -6
- package/dist/engine/pipeline/indexing/root-paths.js.map +1 -1
- package/dist/engine/pipeline/indexing/scanner/index.d.ts +9 -2
- package/dist/engine/pipeline/indexing/scanner/index.js +291 -35
- package/dist/engine/pipeline/indexing/scanner/index.js.map +1 -1
- package/dist/engine/pipeline/search/index.d.ts +6 -6
- package/dist/engine/pipeline/search/index.js +8 -10
- package/dist/engine/pipeline/search/index.js.map +1 -1
- package/dist/engine/service/index.d.ts +3 -2
- package/dist/engine/service/index.js +1 -1
- package/dist/engine/service/index.js.map +1 -1
- package/dist/engine/service/root.d.ts +10 -12
- package/dist/engine/service/root.js +29 -25
- package/dist/engine/service/root.js.map +1 -1
- package/dist/engine/service/structure-enrichment.d.ts +1 -1
- package/dist/engine/service/structure-enrichment.js +20 -22
- package/dist/engine/service/structure-enrichment.js.map +1 -1
- package/dist/engine/service/types.d.ts +40 -38
- package/dist/engine/service/workspace-index.d.ts +26 -0
- package/dist/engine/service/workspace-index.js +157 -0
- package/dist/engine/service/workspace-index.js.map +1 -0
- package/dist/engine/service/zvec-grep.d.ts +12 -1
- package/dist/engine/service/zvec-grep.js +698 -489
- package/dist/engine/service/zvec-grep.js.map +1 -1
- package/dist/engine/storage/index.d.ts +30 -20
- package/dist/engine/storage/index.js +2 -1
- package/dist/engine/storage/index.js.map +1 -1
- package/dist/engine/storage/layout.d.ts +10 -0
- package/dist/engine/storage/layout.js +29 -0
- package/dist/engine/storage/layout.js.map +1 -0
- package/dist/engine/storage/zvec.d.ts +4 -67
- package/dist/engine/storage/zvec.js +115 -85
- package/dist/engine/storage/zvec.js.map +1 -1
- package/dist/engine/types.d.ts +29 -23
- package/dist/engine/types.js +1 -1
- package/dist/engine/types.js.map +1 -1
- package/dist/engine/utils/daemon-lease.d.ts +17 -0
- package/dist/engine/utils/daemon-lease.js +175 -0
- package/dist/engine/utils/daemon-lease.js.map +1 -0
- package/dist/engine/utils/file-selection.js +38 -1
- package/dist/engine/utils/file-selection.js.map +1 -1
- package/dist/engine/utils/lock.js +1 -1
- package/dist/engine/utils/lock.js.map +1 -1
- package/dist/index-progress.d.ts +10 -0
- package/dist/index-progress.js +159 -0
- package/dist/index-progress.js.map +1 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/http-transport.d.ts +27 -0
- package/dist/mcp/http-transport.js +182 -0
- package/dist/mcp/http-transport.js.map +1 -0
- package/dist/mcp/input-normalization.d.ts +38 -0
- package/dist/mcp/input-normalization.js +104 -0
- package/dist/mcp/input-normalization.js.map +1 -0
- package/dist/mcp/progress-heartbeat.d.ts +17 -0
- package/dist/mcp/progress-heartbeat.js +46 -0
- package/dist/mcp/progress-heartbeat.js.map +1 -0
- package/dist/mcp/request-metadata.d.ts +2 -0
- package/dist/mcp/request-metadata.js +11 -0
- package/dist/mcp/request-metadata.js.map +1 -0
- package/dist/mcp/request-state.d.ts +40 -0
- package/dist/mcp/request-state.js +210 -0
- package/dist/mcp/request-state.js.map +1 -0
- package/dist/mcp/result-format.d.ts +13 -0
- package/dist/mcp/result-format.js +75 -0
- package/dist/mcp/result-format.js.map +1 -0
- package/dist/mcp/schemas.d.ts +672 -0
- package/dist/mcp/schemas.js +506 -0
- package/dist/mcp/schemas.js.map +1 -0
- package/dist/mcp/stdio-bridge.d.ts +9 -0
- package/dist/mcp/stdio-bridge.js +131 -0
- package/dist/mcp/stdio-bridge.js.map +1 -0
- package/dist/mcp/tools.d.ts +153 -0
- package/dist/mcp/tools.js +482 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp/toolset.d.ts +5 -0
- package/dist/mcp/toolset.js +12 -0
- package/dist/mcp/toolset.js.map +1 -0
- package/dist/observability/trace-context.d.ts +11 -0
- package/dist/observability/trace-context.js +138 -0
- package/dist/observability/trace-context.js.map +1 -0
- package/dist/prompts/zvec-grep-guidance.d.ts +2 -0
- package/dist/prompts/zvec-grep-guidance.js +9 -0
- package/dist/prompts/zvec-grep-guidance.js.map +1 -0
- package/docs/01-agents.md +132 -0
- package/docs/02-cli.md +239 -0
- package/docs/03-mcp.md +185 -0
- package/docs/04-pipeline.md +226 -0
- package/docs/05-architecture.md +86 -0
- package/docs/06-server.md +215 -0
- package/docs/07-embedding.md +182 -0
- package/docs/08-roadmap.md +85 -0
- package/docs/README.md +53 -0
- package/package.json +20 -11
- package/dist/cli/mcp.d.ts +0 -2
- package/dist/cli/mcp.js +0 -354
- package/dist/cli/mcp.js.map +0 -1
- package/dist/engine/collection/index.d.ts +0 -55
- package/dist/engine/collection/index.js +0 -710
- package/dist/engine/collection/index.js.map +0 -1
- package/dist/engine/errors/details.d.ts +0 -6
- package/dist/engine/errors/details.js.map +0 -1
- package/dist/engine/errors/index.js +0 -16
- package/dist/engine/errors/index.js.map +0 -1
- package/dist/engine/extraction/tree-sitter/grammar.js.map +0 -1
- package/dist/engine/extraction/tree-sitter/nodes.js.map +0 -1
- package/dist/engine/extraction/tree-sitter/parser.js.map +0 -1
- package/dist/engine/files/file-type.d.ts +0 -5
- package/dist/engine/files/file-type.js +0 -119
- package/dist/engine/files/file-type.js.map +0 -1
- package/dist/engine/models/providers/index.d.ts +0 -2
- package/dist/engine/models/providers/index.js +0 -3
- package/dist/engine/models/providers/index.js.map +0 -1
- package/dist/engine/models/providers/llama-cpp/embedding.js.map +0 -1
- package/dist/engine/models/providers/llama-cpp/index.d.ts +0 -1
- package/dist/engine/models/providers/llama-cpp/index.js +0 -2
- package/dist/engine/models/providers/llama-cpp/index.js.map +0 -1
- package/dist/engine/models/providers/qwen/embedding.d.ts +0 -42
- package/dist/engine/models/providers/qwen/embedding.js.map +0 -1
- package/dist/engine/models/providers/qwen/index.d.ts +0 -1
- package/dist/engine/models/providers/qwen/index.js +0 -2
- package/dist/engine/models/providers/qwen/index.js.map +0 -1
- package/dist/engine/models/types.d.ts +0 -30
- package/skills/zvec-grep/SKILL.md +0 -151
- package/skills/zvec-grep/agents/openai.yaml +0 -4
- /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/grammar.d.ts +0 -0
- /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/grammar.js +0 -0
- /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/nodes.d.ts +0 -0
- /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/nodes.js +0 -0
- /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/parser.d.ts +0 -0
- /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/parser.js +0 -0
- /package/dist/engine/{models → extraction}/types.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const MCP_TOOLSET_ENV = "ZVEC_GREP_MCP_TOOLSET";
|
|
2
|
+
export declare const DEFAULT_MCP_TOOLSET = "agent";
|
|
3
|
+
export type McpToolset = "agent" | "full";
|
|
4
|
+
export declare function parseMcpToolset(value: string): McpToolset;
|
|
5
|
+
export declare function resolveMcpToolset(explicitValue?: string, environmentValue?: string): McpToolset;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const MCP_TOOLSET_ENV = "ZVEC_GREP_MCP_TOOLSET";
|
|
2
|
+
export const DEFAULT_MCP_TOOLSET = "agent";
|
|
3
|
+
export function parseMcpToolset(value) {
|
|
4
|
+
if (value === "agent" || value === "full")
|
|
5
|
+
return value;
|
|
6
|
+
throw new Error(`Unsupported MCP toolset "${value}". Expected "agent" or "full".`);
|
|
7
|
+
}
|
|
8
|
+
export function resolveMcpToolset(explicitValue, environmentValue) {
|
|
9
|
+
const value = explicitValue ?? environmentValue;
|
|
10
|
+
return value === undefined ? DEFAULT_MCP_TOOLSET : parseMcpToolset(value);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=toolset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolset.js","sourceRoot":"","sources":["../../src/mcp/toolset.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,uBAAuB,CAAC;AAEvD,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAI3C,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,IAAI,KAAK,CACb,4BAA4B,KAAK,gCAAgC,CAClE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,aAAsB,EACtB,gBAAyB;IAEzB,MAAM,KAAK,GAAG,aAAa,IAAI,gBAAgB,CAAC;IAChD,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAC5E,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type TraceContext = {
|
|
2
|
+
traceparent: string;
|
|
3
|
+
traceId: string;
|
|
4
|
+
tracestate?: string;
|
|
5
|
+
baggage?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function currentTraceContext(): TraceContext | undefined;
|
|
8
|
+
export declare function runWithTraceContext<T>(context: TraceContext | undefined, operation: () => T): T;
|
|
9
|
+
export declare function traceContextFromMcpBody(body: unknown): TraceContext | undefined;
|
|
10
|
+
export declare function traceContextFromMcpMeta(meta: unknown): TraceContext | undefined;
|
|
11
|
+
export declare function traceHeaders(): Record<string, string>;
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
+
const storage = new AsyncLocalStorage();
|
|
3
|
+
const TRACEPARENT = /^([0-9a-f]{2})-([0-9a-f]{32})-([0-9a-f]{16})-([0-9a-f]{2})((?:-[0-9a-f]+)*)$/;
|
|
4
|
+
export function currentTraceContext() {
|
|
5
|
+
return storage.getStore();
|
|
6
|
+
}
|
|
7
|
+
export function runWithTraceContext(context, operation) {
|
|
8
|
+
return context ? storage.run(context, operation) : operation();
|
|
9
|
+
}
|
|
10
|
+
export function traceContextFromMcpBody(body) {
|
|
11
|
+
if (!body || typeof body !== "object" || Array.isArray(body)) {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
return traceContextFromMcpMeta(body.params?._meta);
|
|
15
|
+
}
|
|
16
|
+
export function traceContextFromMcpMeta(meta) {
|
|
17
|
+
if (!meta || typeof meta !== "object" || Array.isArray(meta)) {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
const values = meta;
|
|
21
|
+
const traceparent = typeof values.traceparent === "string" ? values.traceparent : undefined;
|
|
22
|
+
const match = traceparent?.match(TRACEPARENT);
|
|
23
|
+
if (!match ||
|
|
24
|
+
match[1] === "ff" ||
|
|
25
|
+
(match[1] === "00" && match[5] !== "") ||
|
|
26
|
+
match[2] === "0".repeat(32) ||
|
|
27
|
+
match[3] === "0".repeat(16)) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
const tracestate = validTracestate(values.tracestate);
|
|
31
|
+
const baggage = validBaggage(values.baggage);
|
|
32
|
+
return {
|
|
33
|
+
traceparent: traceparent,
|
|
34
|
+
traceId: match[2],
|
|
35
|
+
...(tracestate ? { tracestate } : {}),
|
|
36
|
+
...(baggage ? { baggage } : {}),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export function traceHeaders() {
|
|
40
|
+
const context = currentTraceContext();
|
|
41
|
+
if (!context)
|
|
42
|
+
return {};
|
|
43
|
+
return {
|
|
44
|
+
traceparent: context.traceparent,
|
|
45
|
+
...(context.tracestate ? { tracestate: context.tracestate } : {}),
|
|
46
|
+
...(context.baggage ? { baggage: context.baggage } : {}),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function boundedHeader(value, maxLength, allowHorizontalTab = false) {
|
|
50
|
+
if (typeof value !== "string" || value.length > maxLength)
|
|
51
|
+
return undefined;
|
|
52
|
+
for (const character of value) {
|
|
53
|
+
const code = character.charCodeAt(0);
|
|
54
|
+
if (code > 0x7e ||
|
|
55
|
+
(code < 0x20 && !(allowHorizontalTab && code === 0x09))) {
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return value;
|
|
60
|
+
}
|
|
61
|
+
function validTracestate(value) {
|
|
62
|
+
const header = boundedHeader(value, 512);
|
|
63
|
+
if (!header)
|
|
64
|
+
return undefined;
|
|
65
|
+
const members = header.split(",");
|
|
66
|
+
if (members.length > 32)
|
|
67
|
+
return undefined;
|
|
68
|
+
const keys = new Set();
|
|
69
|
+
for (const rawMember of members) {
|
|
70
|
+
const member = rawMember.trim();
|
|
71
|
+
const separator = member.indexOf("=");
|
|
72
|
+
if (separator <= 0)
|
|
73
|
+
return undefined;
|
|
74
|
+
const key = member.slice(0, separator);
|
|
75
|
+
const item = member.slice(separator + 1);
|
|
76
|
+
if (!/^(?:[a-z][a-z0-9_\-*/]{0,255}|[a-z0-9][a-z0-9_\-*/]{0,240}@[a-z][a-z0-9_\-*/]{0,13})$/.test(key) ||
|
|
77
|
+
item.length === 0 ||
|
|
78
|
+
item.length > 256 ||
|
|
79
|
+
!/^[\x20-\x2b\x2d-\x3c\x3e-\x7e]+$/.test(item) ||
|
|
80
|
+
item.endsWith(" ") ||
|
|
81
|
+
keys.has(key)) {
|
|
82
|
+
return undefined;
|
|
83
|
+
}
|
|
84
|
+
keys.add(key);
|
|
85
|
+
}
|
|
86
|
+
return header;
|
|
87
|
+
}
|
|
88
|
+
function validBaggage(value) {
|
|
89
|
+
const header = boundedHeader(value, 8_192, true);
|
|
90
|
+
if (!header)
|
|
91
|
+
return undefined;
|
|
92
|
+
const members = header.split(",");
|
|
93
|
+
if (members.length > 64)
|
|
94
|
+
return undefined;
|
|
95
|
+
for (const rawMember of members) {
|
|
96
|
+
const segments = rawMember.trim().split(";");
|
|
97
|
+
const pair = segments.shift();
|
|
98
|
+
const separator = pair.indexOf("=");
|
|
99
|
+
const pairValue = separator < 0 ? "" : pair.slice(separator + 1).trim();
|
|
100
|
+
if (separator <= 0 ||
|
|
101
|
+
!isHttpToken(pair.slice(0, separator).trim()) ||
|
|
102
|
+
hasInvalidBaggageCharacters(pairValue, ",")) {
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
for (const rawProperty of segments) {
|
|
106
|
+
const property = rawProperty.trim();
|
|
107
|
+
const propertySeparator = property.indexOf("=");
|
|
108
|
+
const key = propertySeparator < 0
|
|
109
|
+
? property
|
|
110
|
+
: property.slice(0, propertySeparator).trim();
|
|
111
|
+
const propertyValue = propertySeparator < 0
|
|
112
|
+
? ""
|
|
113
|
+
: property.slice(propertySeparator + 1).trim();
|
|
114
|
+
if (!isHttpToken(key) ||
|
|
115
|
+
hasInvalidBaggageCharacters(propertyValue, ";,")) {
|
|
116
|
+
return undefined;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return header;
|
|
121
|
+
}
|
|
122
|
+
function isHttpToken(value) {
|
|
123
|
+
return /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/.test(value);
|
|
124
|
+
}
|
|
125
|
+
function hasInvalidBaggageCharacters(value, delimiters) {
|
|
126
|
+
for (const character of value) {
|
|
127
|
+
const code = character.charCodeAt(0);
|
|
128
|
+
if (code <= 0x20 ||
|
|
129
|
+
code === 0x22 ||
|
|
130
|
+
code === 0x5c ||
|
|
131
|
+
code === 0x7f ||
|
|
132
|
+
delimiters.includes(character)) {
|
|
133
|
+
return true;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=trace-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-context.js","sourceRoot":"","sources":["../../src/observability/trace-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const ZVEC_GREP_WORKSPACE_EVIDENCE_RULES: readonly ["Use the current workspace as the evidence source when the user asks about local material, prior context establishes it as relevant, or the question concerns how the current project works—even if the workspace is not mentioned explicitly.", "A workspace may contain source code, documentation, books, research material, meeting notes, knowledge-base exports, manuals, configuration, data, or mixed content.", "Do not use workspace retrieval for unrelated open-world questions, current external facts, or web content that does not depend on local evidence."];
|
|
2
|
+
export declare function formatPromptRules(heading: string, rules: readonly string[]): string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const ZVEC_GREP_WORKSPACE_EVIDENCE_RULES = [
|
|
2
|
+
"Use the current workspace as the evidence source when the user asks about local material, prior context establishes it as relevant, or the question concerns how the current project works—even if the workspace is not mentioned explicitly.",
|
|
3
|
+
"A workspace may contain source code, documentation, books, research material, meeting notes, knowledge-base exports, manuals, configuration, data, or mixed content.",
|
|
4
|
+
"Do not use workspace retrieval for unrelated open-world questions, current external facts, or web content that does not depend on local evidence.",
|
|
5
|
+
];
|
|
6
|
+
export function formatPromptRules(heading, rules) {
|
|
7
|
+
return [heading, ...rules.map((rule) => `- ${rule}`)].join("\n");
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=zvec-grep-guidance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zvec-grep-guidance.js","sourceRoot":"","sources":["../../src/prompts/zvec-grep-guidance.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,+OAA+O;IAC/O,sKAAsK;IACtK,mJAAmJ;CAC3I,CAAC;AAEX,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,KAAwB;IAExB,OAAO,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# Agent integrations
|
|
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 install` connects zvec-grep to supported agents through the local MCP
|
|
9
|
+
server. After that, the agent can use indexed retrieval for workspace-grounded
|
|
10
|
+
semantic discovery while keeping exact lookup on the appropriate native or
|
|
11
|
+
managed-rg route.
|
|
12
|
+
|
|
13
|
+
## Supported agents
|
|
14
|
+
|
|
15
|
+
| Agent | Target | Managed configuration |
|
|
16
|
+
| --- | --- | --- |
|
|
17
|
+
| Codex | `codex` | `~/.codex/config.toml` and `~/.codex/AGENTS.md` |
|
|
18
|
+
| Claude Code | `claude` | `~/.claude.json`, `~/.claude/settings.json`, and `~/.claude/CLAUDE.md` |
|
|
19
|
+
| OpenCode | `opencode` | `~/.config/opencode/opencode.json` and the adjacent `AGENTS.md` |
|
|
20
|
+
| Cursor | `cursor` | `~/.cursor/mcp.json` |
|
|
21
|
+
|
|
22
|
+
The standard environment overrides used by each agent are respected, including
|
|
23
|
+
`CODEX_HOME`, `CLAUDE_CONFIG_DIR`, `OPENCODE_CONFIG`, and
|
|
24
|
+
`CURSOR_CONFIG_DIR`.
|
|
25
|
+
|
|
26
|
+
## Install an integration
|
|
27
|
+
|
|
28
|
+
Run the guided installer to select from detected agents:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
zg install
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
For scripts or repeatable setup, select targets explicitly:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
zg install --target codex --yes
|
|
38
|
+
zg install --target claude --target cursor --yes
|
|
39
|
+
zg install --target all --yes
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
The installer:
|
|
43
|
+
|
|
44
|
+
1. adds a managed `zvec_grep` MCP entry;
|
|
45
|
+
2. adds search guidance where the agent supports it;
|
|
46
|
+
3. adds local MCP tool approval for Codex and Claude Code;
|
|
47
|
+
4. starts the local zvec-grep server when possible.
|
|
48
|
+
|
|
49
|
+
The [Server guide](./06-server.md) explains when the daemon is useful and how its
|
|
50
|
+
lifecycle differs from Direct execution.
|
|
51
|
+
|
|
52
|
+
Managed text blocks use `ZVEC_GREP_START` and `ZVEC_GREP_END` markers. Existing
|
|
53
|
+
content outside those blocks is preserved. If an unmanaged `zvec_grep` entry
|
|
54
|
+
already exists, inspect it before using `--force` to replace it.
|
|
55
|
+
|
|
56
|
+
Restart the selected agent, or open a new session, after installation.
|
|
57
|
+
|
|
58
|
+
## How the agent searches
|
|
59
|
+
|
|
60
|
+
The agent routes in two stages: first it decides whether the answer should be
|
|
61
|
+
grounded in the current indexed workspace, then it chooses exact or semantic
|
|
62
|
+
retrieval. Code versus non-code is not the boundary; a workspace may contain
|
|
63
|
+
source code, documentation, books, research material, meeting notes,
|
|
64
|
+
knowledge-base exports, manuals, configuration, data, or mixed content.
|
|
65
|
+
|
|
66
|
+
Workspace content is the intended evidence source when the user asks to inspect,
|
|
67
|
+
search, or ground the answer in local files, the workspace, or its index; prior
|
|
68
|
+
context established local material as the intended source; or the user asks
|
|
69
|
+
whether relevant local material exists. Negative, incidental, or comparative
|
|
70
|
+
workspace mentions do not establish relevance. Tool availability or topic
|
|
71
|
+
overlap alone does not establish workspace relevance.
|
|
72
|
+
|
|
73
|
+
The default MCP surface gives the agent one indexed search tool and leaves exact
|
|
74
|
+
lexical lookup to the agent's native tools:
|
|
75
|
+
|
|
76
|
+
| Intent | Tool |
|
|
77
|
+
| --- | --- |
|
|
78
|
+
| Workspace-grounded exact words, quotations, names, dates, keys, filenames, paths, or regexes are sufficient | Native grep or rg |
|
|
79
|
+
| Workspace-grounded wording or location is unknown, or the answer requires semantic, fuzzy, relationship, chronology, causality, comparison, or cross-file synthesis | `zvec_grep_search` |
|
|
80
|
+
| Exact anchors are known but the answer requires broader context or synthesis | `zvec_grep_search`, then native grep or rg |
|
|
81
|
+
| The answer is unrelated open-world knowledge, a current external fact, or web content that does not depend on local evidence | The appropriate external source, not zvec-grep |
|
|
82
|
+
|
|
83
|
+
`zvec_grep_search` needs an existing index. Managed rg remains available through
|
|
84
|
+
`zg query --rg` and through the optional `full` MCP toolset. See the
|
|
85
|
+
[Pipeline guide](./04-pipeline.md) for the distinction and the
|
|
86
|
+
[MCP guide](./03-mcp.md) for tool inputs.
|
|
87
|
+
|
|
88
|
+
When semantic discovery is selected because no sufficient exact anchor is
|
|
89
|
+
available and the user asks whether conceptually related material exists
|
|
90
|
+
locally, the agent makes at most one focused `zvec_grep_search` probe and stops
|
|
91
|
+
when the results are not relevant. Exact quotations, configuration keys,
|
|
92
|
+
filenames, regexes, and exhaustive occurrence requests stay on the exact route.
|
|
93
|
+
|
|
94
|
+
## Verify the setup
|
|
95
|
+
|
|
96
|
+
Check the server first:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
zg server status --check-ready
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Then start a new agent session and confirm that `zvec_grep_search` is available.
|
|
103
|
+
If the MCP connection is unavailable, the same indexed search and optional
|
|
104
|
+
managed-rg route remain available from the shell:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
zg query "where theme preferences are restored"
|
|
108
|
+
zg query --rg -F "loadTheme" src
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Permissions and remote data
|
|
112
|
+
|
|
113
|
+
The server listens on loopback and has no token by default. See
|
|
114
|
+
[Server authentication](./06-server.md#bearer-authentication) when a local Bearer
|
|
115
|
+
token is required.
|
|
116
|
+
|
|
117
|
+
MCP tool approval only authorizes calls to the local server. It does **not**
|
|
118
|
+
authorize sending query text or workspace content to a remote Embedding
|
|
119
|
+
provider. Remote Embedding asks separately on first use; see
|
|
120
|
+
[Embedding models](./07-embedding.md#remote-embedding-and-authorization).
|
|
121
|
+
|
|
122
|
+
## Remove an integration
|
|
123
|
+
|
|
124
|
+
Use the same target names to remove only zvec-grep-managed entries:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
zg uninstall --target codex --yes
|
|
128
|
+
zg uninstall --target all --yes
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Restart the agent or open a new session to apply the change. Uninstalling an
|
|
132
|
+
agent integration does not delete repository indexes or the npm package.
|
package/docs/02-cli.md
ADDED
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
# CLI 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
|
+
The `zg` command is the human and shell interface to the same local search
|
|
9
|
+
layer used by agents. This page groups the main commands and options; use the
|
|
10
|
+
installed CLI for version-specific help:
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
zg help
|
|
14
|
+
zg help query
|
|
15
|
+
zg help models
|
|
16
|
+
zg help file-types
|
|
17
|
+
zg help environment
|
|
18
|
+
zg <command> --help
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Command overview
|
|
22
|
+
|
|
23
|
+
| Command | Purpose |
|
|
24
|
+
| --- | --- |
|
|
25
|
+
| `query` | Search an index or run managed ripgrep |
|
|
26
|
+
| `index` | Build, update, rebuild, or drop a Workspace index |
|
|
27
|
+
| `status` | Inspect Workspace and index state |
|
|
28
|
+
| `install` / `uninstall` | Manage agent integrations |
|
|
29
|
+
| `config` | Configure provider credentials and model defaults |
|
|
30
|
+
| `auth` | Manage Remote Embedding authorization |
|
|
31
|
+
| `server` | Manage the shared MCP server |
|
|
32
|
+
| `help` / `version` | Show help or the installed version |
|
|
33
|
+
|
|
34
|
+
## `zg query`
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
zg query <query> [options]
|
|
38
|
+
zg query --hybrid <query> --fts <query> --vector <query> [--fuse]
|
|
39
|
+
zg query --rg [rg-options] <pattern> [path...]
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Search routes:
|
|
43
|
+
|
|
44
|
+
| Option | Meaning |
|
|
45
|
+
| --- | --- |
|
|
46
|
+
| positional query | Hybrid lexical and vector retrieval |
|
|
47
|
+
| `--hybrid <query>` | Add an explicit hybrid query group |
|
|
48
|
+
| `--fts <query>` | Add a ranked lexical query group |
|
|
49
|
+
| `--vector <query>` | Add a semantic-only query group |
|
|
50
|
+
| `--fuse` | Combine all groups into one ranked plan |
|
|
51
|
+
| `--rg` | Run exhaustive managed ripgrep without an index |
|
|
52
|
+
|
|
53
|
+
Result controls:
|
|
54
|
+
|
|
55
|
+
| Option | Meaning |
|
|
56
|
+
| --- | --- |
|
|
57
|
+
| `--limit <n>` | Maximum returned items per group |
|
|
58
|
+
| `--human` | Terminal-oriented output with full previews by default |
|
|
59
|
+
| `--preview none\|short\|full` | Indexed source preview size |
|
|
60
|
+
| `--refresh background\|wait\|off` | Index refresh policy |
|
|
61
|
+
| `--mode direct\|server\|auto` | Execution transport |
|
|
62
|
+
| `--debug` | Print diagnostics to stderr |
|
|
63
|
+
| `--trace` | Add per-hit indexed search trace |
|
|
64
|
+
| `--prefer-symbol` | Prefer an exact indexed symbol |
|
|
65
|
+
| `--symbol-type <type>` | Restrict results to a symbol type |
|
|
66
|
+
| `--modified-after <time>` | Search files modified after a time |
|
|
67
|
+
| `--modified-before <time>` | Search files modified before a time |
|
|
68
|
+
|
|
69
|
+
Indexed CLI results are separated by query group and preserve the rank assigned
|
|
70
|
+
inside that group. The CLI does not apply the MCP response's cross-group
|
|
71
|
+
coverage/global-fill presentation. A result recalled by several groups appears
|
|
72
|
+
under each of those groups. `--limit` continues to bound each group.
|
|
73
|
+
|
|
74
|
+
Valid symbol types are `module`, `class`, `interface`, `function`, `value`, and
|
|
75
|
+
`alias`.
|
|
76
|
+
|
|
77
|
+
Common scope options for indexed search are `-g/--glob`, `--iglob`, `-t/--type`,
|
|
78
|
+
and `-T/--type-not`. Managed rg additionally supports common ripgrep matching,
|
|
79
|
+
context, discovery, encoding, and regex-engine flags.
|
|
80
|
+
|
|
81
|
+
Examples:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
zg query "theme preference persistence on startup"
|
|
85
|
+
zg query --fts "loadTheme" -g "src/**" -t ts
|
|
86
|
+
zg query --vector "where user preferences are restored" --limit 5
|
|
87
|
+
zg query --human "plugin lifecycle" --preview full
|
|
88
|
+
zg query --rg -i -C 2 -g "*.ts" "dark mode" src
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
See [Retrieval pipeline](./04-pipeline.md#3-query-through-one-search-layer) for
|
|
92
|
+
route selection and freshness behavior.
|
|
93
|
+
|
|
94
|
+
## `zg index`
|
|
95
|
+
|
|
96
|
+
```text
|
|
97
|
+
zg index [root] [options]
|
|
98
|
+
zg index [root] --rebuild [options]
|
|
99
|
+
zg index [root] --drop [--yes]
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Core options:
|
|
103
|
+
|
|
104
|
+
| Option | Meaning |
|
|
105
|
+
| --- | --- |
|
|
106
|
+
| `--embedding <model>` | Model for a new or rebuilt index |
|
|
107
|
+
| `--rebuild` | Recreate an existing index |
|
|
108
|
+
| `--drop` | Permanently remove the Workspace index |
|
|
109
|
+
| `--yes` | Confirm `--drop` without a prompt |
|
|
110
|
+
| `--reset-paths` | Replace stored file-selection settings |
|
|
111
|
+
| `--mode direct\|server\|auto` | Execution transport |
|
|
112
|
+
| `--api-key <key>` | One-command provider credential |
|
|
113
|
+
| `--endpoint <url>` | Remote provider endpoint |
|
|
114
|
+
| `--model-cache <path>` | Local model cache directory |
|
|
115
|
+
| `--device <device>` | `auto`, `cpu`, `metal`, `vulkan`, or `cuda` |
|
|
116
|
+
| `--embedding-concurrency <n>` | Concurrent Embedding tasks |
|
|
117
|
+
| `--allow-remote` | Authorize Remote Embedding for this command |
|
|
118
|
+
|
|
119
|
+
Local Potion embedding tasks run on worker threads. They default to two workers;
|
|
120
|
+
`--embedding-concurrency` can override that value for larger machines.
|
|
121
|
+
|
|
122
|
+
File discovery accepts `-g/--glob`, `--iglob`, `-t/--type`, `-T/--type-not`,
|
|
123
|
+
`--hidden`, `--no-ignore`, `--ignore-file`, `--max-depth`, `--max-filesize`, and
|
|
124
|
+
`-L/--follow`.
|
|
125
|
+
|
|
126
|
+
Examples:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
zg index --embedding local/potion-code-16m-v2
|
|
130
|
+
zg index
|
|
131
|
+
zg index --rebuild --embedding local/jina-embeddings-v2-base-code
|
|
132
|
+
zg index --drop --yes
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## `zg status`
|
|
136
|
+
|
|
137
|
+
```text
|
|
138
|
+
zg status [root] [--mode direct|server|auto] [--check-ready]
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Status includes the selected root, index policy, stored schema and paths, file
|
|
142
|
+
counts, refresh state, and a suggested next action. `--check-ready` preserves
|
|
143
|
+
normal output and exits non-zero unless the index is ready, which is useful in
|
|
144
|
+
scripts.
|
|
145
|
+
|
|
146
|
+
## `zg install` and `zg uninstall`
|
|
147
|
+
|
|
148
|
+
```text
|
|
149
|
+
zg install [--target codex|claude|opencode|cursor|all|auto] [--yes] [--force]
|
|
150
|
+
zg uninstall [--target codex|claude|opencode|cursor|all|auto] [--yes]
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
`--target` is repeatable. `zg install` also accepts:
|
|
154
|
+
|
|
155
|
+
| Option | Meaning |
|
|
156
|
+
| --- | --- |
|
|
157
|
+
| `--mcp-tool-timeout <seconds>` | Codex/OpenCode MCP timeout; default 600 seconds |
|
|
158
|
+
| `--mcp-token-env <name>` | Environment variable containing the server token |
|
|
159
|
+
| `--force` | Replace a conflicting unmanaged `zvec_grep` entry |
|
|
160
|
+
|
|
161
|
+
See [Agent integrations](./01-agents.md) before using `--force`.
|
|
162
|
+
|
|
163
|
+
## `zg config`
|
|
164
|
+
|
|
165
|
+
```text
|
|
166
|
+
zg config provider set <provider> --api-key <key>
|
|
167
|
+
zg config model set <model> [--endpoint <url> | --device <device>] [--default]
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Examples:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
zg config provider set qwen --api-key "$DASHSCOPE_API_KEY"
|
|
174
|
+
zg config model set qwen/text-embedding-v4 --default
|
|
175
|
+
zg config model set local/potion-code-16m-v2 --device metal
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Global configuration is stored in `~/.zvec-grep/config.json`. Existing indexes
|
|
179
|
+
continue to use their stored model until explicitly rebuilt.
|
|
180
|
+
|
|
181
|
+
## `zg auth`
|
|
182
|
+
|
|
183
|
+
```text
|
|
184
|
+
zg auth grant [root] --capability embedding --scope workspace [--embedding <model>]
|
|
185
|
+
zg auth status [root]
|
|
186
|
+
zg auth revoke [root]
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
Workspace grants are stored under `.zvec-grep/authorization.json` and shared by
|
|
190
|
+
the CLI and MCP server. `--allow-remote` is the non-persistent alternative for
|
|
191
|
+
one `query` or `index` command. `--embedding` selects the Remote Embedding model
|
|
192
|
+
to authorize; it does not run embedding. It may be omitted when the model can be
|
|
193
|
+
resolved from the existing Workspace index, `ZVEC_GREP_EMBEDDING`, or the global
|
|
194
|
+
default, in that order.
|
|
195
|
+
|
|
196
|
+
## `zg server`
|
|
197
|
+
|
|
198
|
+
```text
|
|
199
|
+
zg server on [--listen 127.0.0.1:7999] [--token-file <path>] [--mcp-toolset agent|full]
|
|
200
|
+
zg server off [--token-file <path>]
|
|
201
|
+
zg server status [--check-ready]
|
|
202
|
+
zg server run [--listen 127.0.0.1:7999] [--token-file <path>] [--mcp-toolset agent|full]
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
`on` starts the background daemon; `run` keeps it in the foreground. The server
|
|
206
|
+
only accepts loopback listen addresses. The default public endpoint is
|
|
207
|
+
`http://127.0.0.1:7999/mcp` with the `agent` toolset.
|
|
208
|
+
|
|
209
|
+
See [Server and execution modes](./06-server.md) for mode selection, lifecycle,
|
|
210
|
+
refresh, authentication, and logs. See [MCP](./03-mcp.md) for the tool contract.
|
|
211
|
+
|
|
212
|
+
## Environment variables
|
|
213
|
+
|
|
214
|
+
| Variable | Purpose |
|
|
215
|
+
| --- | --- |
|
|
216
|
+
| `ZVEC_GREP_HOME` | Override zvec-grep state directory |
|
|
217
|
+
| `ZVEC_GREP_MODE` | Default `direct`, `server`, or `auto` transport |
|
|
218
|
+
| `ZVEC_GREP_SERVER_URL` | Override the MCP server URL used by clients |
|
|
219
|
+
| `ZVEC_GREP_SERVER_TOKEN` | Server/client Bearer token |
|
|
220
|
+
| `ZVEC_GREP_SERVER_TOKEN_FILE` | File containing the server/client token |
|
|
221
|
+
| `ZVEC_GREP_MCP_TOOLSET` | Default `agent` or `full` MCP surface |
|
|
222
|
+
| `ZVEC_GREP_EMBEDDING` | Default model for new indexes |
|
|
223
|
+
| `ZVEC_GREP_API_KEY` | Embedding provider API key |
|
|
224
|
+
| `ZVEC_GREP_ENDPOINT` | Remote Embedding endpoint |
|
|
225
|
+
| `ZVEC_GREP_MODEL_CACHE` | Local model cache directory |
|
|
226
|
+
| `ZVEC_GREP_DEVICE` | Local model device |
|
|
227
|
+
| `DASHSCOPE_API_KEY` | Qwen API-key fallback after `ZVEC_GREP_API_KEY` |
|
|
228
|
+
| `QWEN_API_KEY` | Qwen API-key fallback after `DASHSCOPE_API_KEY` |
|
|
229
|
+
|
|
230
|
+
Run `zg help environment` for advanced variables, agent integration paths,
|
|
231
|
+
scope, and detailed precedence. A new index selects its model in this order:
|
|
232
|
+
explicit `--embedding`, `ZVEC_GREP_EMBEDDING`, then the global default. Existing
|
|
233
|
+
indexes continue to use their stored model unless `--embedding` and `--rebuild`
|
|
234
|
+
explicitly change it.
|
|
235
|
+
|
|
236
|
+
Embedding runtime values such as endpoint and device retain this order: explicit
|
|
237
|
+
command option, Workspace snapshot, global configuration, then environment.
|
|
238
|
+
`zg index` forwards its `ZVEC_GREP_EMBEDDING` value in server and auto modes;
|
|
239
|
+
direct MCP calls use the environment inherited when the daemon started.
|