@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.
- package/LICENSE +201 -0
- package/README.md +319 -0
- package/README_CN.md +297 -0
- 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 +12 -0
- package/dist/authorization/prompt.js +63 -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 +6 -0
- package/dist/cli/args.js +1255 -0
- package/dist/cli/args.js.map +1 -0
- 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.d.ts +4 -0
- package/dist/cli/commands.js +801 -0
- package/dist/cli/commands.js.map +1 -0
- package/dist/cli/errors.d.ts +9 -0
- package/dist/cli/errors.js +131 -0
- package/dist/cli/errors.js.map +1 -0
- package/dist/cli/format/context.d.ts +9 -0
- package/dist/cli/format/context.js +786 -0
- package/dist/cli/format/context.js.map +1 -0
- package/dist/cli/format/debug.d.ts +4 -0
- package/dist/cli/format/debug.js +60 -0
- package/dist/cli/format/debug.js.map +1 -0
- package/dist/cli/format/highlight.d.ts +3 -0
- package/dist/cli/format/highlight.js +106 -0
- package/dist/cli/format/highlight.js.map +1 -0
- package/dist/cli/format/progress.d.ts +13 -0
- package/dist/cli/format/progress.js +290 -0
- package/dist/cli/format/progress.js.map +1 -0
- package/dist/cli/format/range.d.ts +3 -0
- package/dist/cli/format/range.js +24 -0
- package/dist/cli/format/range.js.map +1 -0
- package/dist/cli/format/status.d.ts +83 -0
- package/dist/cli/format/status.js +530 -0
- package/dist/cli/format/status.js.map +1 -0
- package/dist/cli/help.d.ts +1 -0
- package/dist/cli/help.js +546 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +40 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/install.d.ts +4 -0
- package/dist/cli/install.js +1735 -0
- package/dist/cli/install.js.map +1 -0
- package/dist/cli/managed-rg.d.ts +10 -0
- package/dist/cli/managed-rg.js +337 -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 +87 -0
- package/dist/cli/types.js +10 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli/version.d.ts +1 -0
- package/dist/cli/version.js +13 -0
- package/dist/cli/version.js.map +1 -0
- 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 +78 -0
- package/dist/daemon/backend.js +1118 -0
- package/dist/daemon/backend.js.map +1 -0
- package/dist/daemon/change-set.d.ts +30 -0
- package/dist/daemon/change-set.js +163 -0
- package/dist/daemon/change-set.js.map +1 -0
- package/dist/daemon/config.d.ts +27 -0
- package/dist/daemon/config.js +107 -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 +307 -0
- package/dist/daemon/http-server.js.map +1 -0
- package/dist/daemon/index-coordinator.d.ts +22 -0
- package/dist/daemon/index-coordinator.js +55 -0
- package/dist/daemon/index-coordinator.js.map +1 -0
- package/dist/daemon/job-scheduler.d.ts +85 -0
- package/dist/daemon/job-scheduler.js +492 -0
- package/dist/daemon/job-scheduler.js.map +1 -0
- package/dist/daemon/logger.d.ts +10 -0
- package/dist/daemon/logger.js +101 -0
- package/dist/daemon/logger.js.map +1 -0
- package/dist/daemon/model-pool.d.ts +48 -0
- package/dist/daemon/model-pool.js +190 -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 +197 -0
- package/dist/daemon/root-lease.js.map +1 -0
- package/dist/daemon/root-runtime.d.ts +80 -0
- package/dist/daemon/root-runtime.js +340 -0
- package/dist/daemon/root-runtime.js.map +1 -0
- package/dist/daemon/runtime-manager.d.ts +47 -0
- package/dist/daemon/runtime-manager.js +252 -0
- package/dist/daemon/runtime-manager.js.map +1 -0
- package/dist/daemon/runtime.d.ts +12 -0
- package/dist/daemon/runtime.js +105 -0
- package/dist/daemon/runtime.js.map +1 -0
- package/dist/daemon/server-controller.d.ts +38 -0
- package/dist/daemon/server-controller.js +327 -0
- package/dist/daemon/server-controller.js.map +1 -0
- package/dist/daemon/watch-manager.d.ts +62 -0
- package/dist/daemon/watch-manager.js +415 -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 +57 -0
- package/dist/engine/config.js +351 -0
- package/dist/engine/config.js.map +1 -0
- package/dist/engine/errors.d.ts +20 -0
- package/dist/engine/errors.js +51 -0
- package/dist/engine/errors.js.map +1 -0
- package/dist/engine/extraction/code/adapter.d.ts +19 -0
- package/dist/engine/extraction/code/adapter.js +24 -0
- package/dist/engine/extraction/code/adapter.js.map +1 -0
- package/dist/engine/extraction/code/extractor.d.ts +13 -0
- package/dist/engine/extraction/code/extractor.js +696 -0
- package/dist/engine/extraction/code/extractor.js.map +1 -0
- package/dist/engine/extraction/code/families/c-family.d.ts +2 -0
- package/dist/engine/extraction/code/families/c-family.js +122 -0
- package/dist/engine/extraction/code/families/c-family.js.map +1 -0
- package/dist/engine/extraction/code/families/js-ts.d.ts +12 -0
- package/dist/engine/extraction/code/families/js-ts.js +118 -0
- package/dist/engine/extraction/code/families/js-ts.js.map +1 -0
- package/dist/engine/extraction/code/families/metadata.d.ts +8 -0
- package/dist/engine/extraction/code/families/metadata.js +86 -0
- package/dist/engine/extraction/code/families/metadata.js.map +1 -0
- package/dist/engine/extraction/code/families/name-field.d.ts +3 -0
- package/dist/engine/extraction/code/families/name-field.js +22 -0
- package/dist/engine/extraction/code/families/name-field.js.map +1 -0
- package/dist/engine/extraction/code/languages/c.d.ts +1 -0
- package/dist/engine/extraction/code/languages/c.js +12 -0
- package/dist/engine/extraction/code/languages/c.js.map +1 -0
- package/dist/engine/extraction/code/languages/cpp.d.ts +1 -0
- package/dist/engine/extraction/code/languages/cpp.js +18 -0
- package/dist/engine/extraction/code/languages/cpp.js.map +1 -0
- package/dist/engine/extraction/code/languages/go.d.ts +2 -0
- package/dist/engine/extraction/code/languages/go.js +70 -0
- package/dist/engine/extraction/code/languages/go.js.map +1 -0
- package/dist/engine/extraction/code/languages/java.d.ts +1 -0
- package/dist/engine/extraction/code/languages/java.js +17 -0
- package/dist/engine/extraction/code/languages/java.js.map +1 -0
- package/dist/engine/extraction/code/languages/javascript.d.ts +2 -0
- package/dist/engine/extraction/code/languages/javascript.js +23 -0
- package/dist/engine/extraction/code/languages/javascript.js.map +1 -0
- package/dist/engine/extraction/code/languages/python.d.ts +2 -0
- package/dist/engine/extraction/code/languages/python.js +52 -0
- package/dist/engine/extraction/code/languages/python.js.map +1 -0
- package/dist/engine/extraction/code/languages/rust.d.ts +2 -0
- package/dist/engine/extraction/code/languages/rust.js +25 -0
- package/dist/engine/extraction/code/languages/rust.js.map +1 -0
- package/dist/engine/extraction/code/languages/typescript.d.ts +2 -0
- package/dist/engine/extraction/code/languages/typescript.js +37 -0
- package/dist/engine/extraction/code/languages/typescript.js.map +1 -0
- package/dist/engine/extraction/code/tree-sitter/grammar.d.ts +4 -0
- package/dist/engine/extraction/code/tree-sitter/grammar.js +49 -0
- package/dist/engine/extraction/code/tree-sitter/grammar.js.map +1 -0
- package/dist/engine/extraction/code/tree-sitter/nodes.d.ts +3 -0
- package/dist/engine/extraction/code/tree-sitter/nodes.js +27 -0
- package/dist/engine/extraction/code/tree-sitter/nodes.js.map +1 -0
- package/dist/engine/extraction/code/tree-sitter/parser.d.ts +2 -0
- package/dist/engine/extraction/code/tree-sitter/parser.js +31 -0
- package/dist/engine/extraction/code/tree-sitter/parser.js.map +1 -0
- package/dist/engine/extraction/ids.d.ts +1 -0
- package/dist/engine/extraction/ids.js +5 -0
- package/dist/engine/extraction/ids.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 -0
- package/dist/engine/extraction/index.js +3 -0
- package/dist/engine/extraction/index.js.map +1 -0
- package/dist/engine/extraction/markdown/extractor.d.ts +7 -0
- package/dist/engine/extraction/markdown/extractor.js +362 -0
- package/dist/engine/extraction/markdown/extractor.js.map +1 -0
- package/dist/engine/extraction/runtime.d.ts +9 -0
- package/dist/engine/extraction/runtime.js +37 -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/extraction/types.js +2 -0
- package/dist/engine/extraction/types.js.map +1 -0
- package/dist/engine/extraction/vector-content.d.ts +5 -0
- package/dist/engine/extraction/vector-content.js +83 -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/artifact-cache-lock.d.ts +16 -0
- package/dist/engine/models/artifact-cache-lock.js +228 -0
- package/dist/engine/models/artifact-cache-lock.js.map +1 -0
- package/dist/engine/models/artifact-downloader.d.ts +77 -0
- package/dist/engine/models/artifact-downloader.js +766 -0
- package/dist/engine/models/artifact-downloader.js.map +1 -0
- package/dist/engine/models/backends/llama-cpp.d.ts +100 -0
- package/dist/engine/models/backends/llama-cpp.js +567 -0
- 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 +38 -0
- package/dist/engine/models/backends/model2vec.js +344 -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/backends/qwen.js +411 -0
- package/dist/engine/models/backends/qwen.js.map +1 -0
- package/dist/engine/models/backends/transformers-js.d.ts +90 -0
- package/dist/engine/models/backends/transformers-js.js +411 -0
- package/dist/engine/models/backends/transformers-js.js.map +1 -0
- package/dist/engine/models/catalog.d.ts +490 -0
- package/dist/engine/models/catalog.js +522 -0
- package/dist/engine/models/catalog.js.map +1 -0
- package/dist/engine/models/download-progress.d.ts +16 -0
- package/dist/engine/models/download-progress.js +47 -0
- package/dist/engine/models/download-progress.js.map +1 -0
- package/dist/engine/models/embeddings.d.ts +73 -0
- package/dist/engine/models/embeddings.js +125 -0
- package/dist/engine/models/embeddings.js.map +1 -0
- package/dist/engine/models/factory.d.ts +2 -0
- package/dist/engine/models/factory.js +51 -0
- package/dist/engine/models/factory.js.map +1 -0
- package/dist/engine/models/index.d.ts +5 -0
- package/dist/engine/models/index.js +6 -0
- package/dist/engine/models/index.js.map +1 -0
- package/dist/engine/models/local-embedding-parallelism.d.ts +15 -0
- package/dist/engine/models/local-embedding-parallelism.js +63 -0
- package/dist/engine/models/local-embedding-parallelism.js.map +1 -0
- package/dist/engine/models/local-embedding-queue.d.ts +12 -0
- package/dist/engine/models/local-embedding-queue.js +65 -0
- package/dist/engine/models/local-embedding-queue.js.map +1 -0
- package/dist/engine/models/ranking.d.ts +19 -0
- package/dist/engine/models/ranking.js +2 -0
- package/dist/engine/models/ranking.js.map +1 -0
- 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 +14 -0
- package/dist/engine/pipeline/indexing/index.js +1219 -0
- package/dist/engine/pipeline/indexing/index.js.map +1 -0
- 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.d.ts +7 -0
- package/dist/engine/pipeline/indexing/root-paths.js +148 -0
- package/dist/engine/pipeline/indexing/root-paths.js.map +1 -0
- package/dist/engine/pipeline/indexing/scanner/index.d.ts +14 -0
- package/dist/engine/pipeline/indexing/scanner/index.js +776 -0
- package/dist/engine/pipeline/indexing/scanner/index.js.map +1 -0
- package/dist/engine/pipeline/search/index.d.ts +12 -0
- package/dist/engine/pipeline/search/index.js +811 -0
- package/dist/engine/pipeline/search/index.js.map +1 -0
- package/dist/engine/service/index.d.ts +3 -0
- package/dist/engine/service/index.js +2 -0
- package/dist/engine/service/index.js.map +1 -0
- package/dist/engine/service/lexical.d.ts +28 -0
- package/dist/engine/service/lexical.js +446 -0
- package/dist/engine/service/lexical.js.map +1 -0
- package/dist/engine/service/root.d.ts +15 -0
- package/dist/engine/service/root.js +57 -0
- package/dist/engine/service/root.js.map +1 -0
- package/dist/engine/service/structure-enrichment.d.ts +8 -0
- package/dist/engine/service/structure-enrichment.js +178 -0
- package/dist/engine/service/structure-enrichment.js.map +1 -0
- package/dist/engine/service/types.d.ts +212 -0
- package/dist/engine/service/types.js +2 -0
- package/dist/engine/service/types.js.map +1 -0
- 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 +15 -0
- package/dist/engine/service/zvec-grep.js +1520 -0
- package/dist/engine/service/zvec-grep.js.map +1 -0
- package/dist/engine/storage/index.d.ts +53 -0
- package/dist/engine/storage/index.js +3 -0
- package/dist/engine/storage/index.js.map +1 -0
- 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 -0
- package/dist/engine/storage/zvec.js +976 -0
- package/dist/engine/storage/zvec.js.map +1 -0
- package/dist/engine/types.d.ts +303 -0
- package/dist/engine/types.js +14 -0
- package/dist/engine/types.js.map +1 -0
- package/dist/engine/utils/atomic-file.d.ts +3 -0
- package/dist/engine/utils/atomic-file.js +39 -0
- package/dist/engine/utils/atomic-file.js.map +1 -0
- 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.d.ts +10 -0
- package/dist/engine/utils/file-selection.js +157 -0
- package/dist/engine/utils/file-selection.js.map +1 -0
- package/dist/engine/utils/glob.d.ts +9 -0
- package/dist/engine/utils/glob.js +208 -0
- package/dist/engine/utils/glob.js.map +1 -0
- package/dist/engine/utils/hash.d.ts +2 -0
- package/dist/engine/utils/hash.js +8 -0
- package/dist/engine/utils/hash.js.map +1 -0
- package/dist/engine/utils/json.d.ts +8 -0
- package/dist/engine/utils/json.js +83 -0
- package/dist/engine/utils/json.js.map +1 -0
- package/dist/engine/utils/lock.d.ts +19 -0
- package/dist/engine/utils/lock.js +254 -0
- package/dist/engine/utils/lock.js.map +1 -0
- package/dist/engine/utils/path.d.ts +4 -0
- package/dist/engine/utils/path.js +18 -0
- package/dist/engine/utils/path.js.map +1 -0
- package/dist/engine/utils/timing.d.ts +19 -0
- package/dist/engine/utils/timing.js +87 -0
- package/dist/engine/utils/timing.js.map +1 -0
- 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 +6 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- 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 +668 -0
- package/dist/mcp/schemas.js +512 -0
- package/dist/mcp/schemas.js.map +1 -0
- package/dist/mcp/stdio-bridge.d.ts +15 -0
- package/dist/mcp/stdio-bridge.js +190 -0
- package/dist/mcp/stdio-bridge.js.map +1 -0
- package/dist/mcp/tools.d.ts +153 -0
- package/dist/mcp/tools.js +488 -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 +217 -0
- package/docs/02-cli.md +259 -0
- package/docs/03-mcp.md +185 -0
- package/docs/04-pipeline.md +234 -0
- package/docs/05-architecture.md +86 -0
- package/docs/06-server.md +279 -0
- package/docs/07-embedding.md +227 -0
- package/docs/08-roadmap.md +85 -0
- package/docs/README.md +53 -0
- package/package.json +87 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { WorkspaceIndexInfo, FileScanDiagnostics, IndexResult, ZvecGrepInfoResult } from "../../index.js";
|
|
2
|
+
import type { RemoteEmbeddingAuthorizationStatus } from "../../authorization/types.js";
|
|
3
|
+
import type { CliOptions } from "../types.js";
|
|
4
|
+
export type WorkspaceIndexState = "ready" | "indexing" | "stale" | "failed" | "cancelled" | "disabled" | "unindexed" | "undecided";
|
|
5
|
+
type ServerRootPath = {
|
|
6
|
+
absolute_path: string;
|
|
7
|
+
recursive: boolean;
|
|
8
|
+
include?: string[];
|
|
9
|
+
exclude?: string[];
|
|
10
|
+
globs?: string[];
|
|
11
|
+
insensitive_globs?: string[];
|
|
12
|
+
file_types?: string[];
|
|
13
|
+
excluded_file_types?: string[];
|
|
14
|
+
hidden?: boolean;
|
|
15
|
+
no_ignore?: boolean;
|
|
16
|
+
ignore_files?: string[];
|
|
17
|
+
max_depth?: number;
|
|
18
|
+
max_file_size_bytes?: number;
|
|
19
|
+
follow?: boolean;
|
|
20
|
+
};
|
|
21
|
+
type ServerIndexInfo = {
|
|
22
|
+
root: string;
|
|
23
|
+
indexed: boolean;
|
|
24
|
+
index_policy: "enabled" | "disabled" | "undecided";
|
|
25
|
+
source: "index" | "unindexed";
|
|
26
|
+
persistent: {
|
|
27
|
+
home: string;
|
|
28
|
+
index_path: string;
|
|
29
|
+
workspace_index?: {
|
|
30
|
+
root_paths: ServerRootPath[];
|
|
31
|
+
embedding?: {
|
|
32
|
+
provider: string;
|
|
33
|
+
model: string;
|
|
34
|
+
dimension: number;
|
|
35
|
+
metric: string;
|
|
36
|
+
} | null;
|
|
37
|
+
};
|
|
38
|
+
files?: {
|
|
39
|
+
stored: number;
|
|
40
|
+
scanned?: number;
|
|
41
|
+
indexed: number;
|
|
42
|
+
pending: number;
|
|
43
|
+
failed: number;
|
|
44
|
+
added: number;
|
|
45
|
+
modified: number;
|
|
46
|
+
deleted: number;
|
|
47
|
+
unchanged: number;
|
|
48
|
+
entities: number;
|
|
49
|
+
truncated_fragments?: number;
|
|
50
|
+
};
|
|
51
|
+
suggestion?: string;
|
|
52
|
+
};
|
|
53
|
+
runtime?: {
|
|
54
|
+
watcher_active?: boolean;
|
|
55
|
+
dirty_revision?: number;
|
|
56
|
+
indexed_revision?: number;
|
|
57
|
+
active_job_id?: string;
|
|
58
|
+
job_state?: "queued" | "running" | "succeeded" | "failed" | "cancelled";
|
|
59
|
+
progress?: {
|
|
60
|
+
files_total?: number;
|
|
61
|
+
files_indexed?: number;
|
|
62
|
+
files_failed?: number;
|
|
63
|
+
};
|
|
64
|
+
completion?: {
|
|
65
|
+
completed: number;
|
|
66
|
+
total: number;
|
|
67
|
+
};
|
|
68
|
+
error?: {
|
|
69
|
+
code: string;
|
|
70
|
+
message: string;
|
|
71
|
+
context?: string;
|
|
72
|
+
cause?: string;
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
export declare function printRemoteEmbeddingAuthorizationStatus(root: string, status: RemoteEmbeddingAuthorizationStatus, options: CliOptions): void;
|
|
77
|
+
export declare function printWorkspaceInfo(info: ZvecGrepInfoResult, options: CliOptions): WorkspaceIndexState;
|
|
78
|
+
export declare function printServerIndexInfo(info: ServerIndexInfo, options: CliOptions): WorkspaceIndexState;
|
|
79
|
+
export declare function printIndexResult(label: string, result: IndexResult, options: CliOptions, rootPaths?: WorkspaceIndexInfo["rootPaths"]): void;
|
|
80
|
+
export declare function printIndexScanDiagnostics(diagnostics: FileScanDiagnostics | undefined): void;
|
|
81
|
+
export declare function printNoIndexableFilesTip(options: CliOptions): void;
|
|
82
|
+
export declare function printIndexPathFilterTip(options: CliOptions): void;
|
|
83
|
+
export {};
|
|
@@ -0,0 +1,530 @@
|
|
|
1
|
+
import { homedir } from "node:os";
|
|
2
|
+
import { isAbsolute, relative, sep } from "node:path";
|
|
3
|
+
import { formatContextLines, modelDownloadFailureMessage } from "../errors.js";
|
|
4
|
+
import { shouldUseColor } from "./highlight.js";
|
|
5
|
+
import { formatGreenProgressBar } from "./progress.js";
|
|
6
|
+
import { indexCompletionFromStatus, indexStatusNeedsRefresh as statusNeedsRefresh, } from "../../engine/index-status.js";
|
|
7
|
+
import { redactErrorText } from "../../engine/errors.js";
|
|
8
|
+
export function printRemoteEmbeddingAuthorizationStatus(root, status, options) {
|
|
9
|
+
const theme = createStatusTheme(options);
|
|
10
|
+
const validGrants = status.grants.filter((grant) => grant.valid);
|
|
11
|
+
if (status.grants.length === 0) {
|
|
12
|
+
console.log(theme.warning("○ Remote Embedding is not authorized"));
|
|
13
|
+
}
|
|
14
|
+
else if (validGrants.length === status.grants.length) {
|
|
15
|
+
console.log(theme.success("✓ Remote Embedding is authorized"));
|
|
16
|
+
}
|
|
17
|
+
else if (validGrants.length === 0) {
|
|
18
|
+
console.log(theme.danger("✗ Remote Embedding authorization is invalid"));
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
console.log(theme.warning("! Remote Embedding authorization needs attention"));
|
|
22
|
+
}
|
|
23
|
+
console.log(` ${theme.path(formatDisplayPath(root))}`);
|
|
24
|
+
if (status.grants.length === 0) {
|
|
25
|
+
console.log("");
|
|
26
|
+
console.log(theme.accent("Run"));
|
|
27
|
+
console.log(` ${theme.path("zg --auth grant --capability embedding --scope workspace")}`);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
console.log("");
|
|
31
|
+
console.log(theme.accent("Authorization"));
|
|
32
|
+
status.grants.forEach((grant, index) => {
|
|
33
|
+
if (index > 0)
|
|
34
|
+
console.log("");
|
|
35
|
+
for (const line of formatStatusField(theme, "Scope", grant.valid
|
|
36
|
+
? theme.success("Workspace")
|
|
37
|
+
: theme.danger("Invalid Workspace grant"))) {
|
|
38
|
+
console.log(line);
|
|
39
|
+
}
|
|
40
|
+
for (const line of formatStatusField(theme, "Target", `${grant.provider}/${grant.model}`)) {
|
|
41
|
+
console.log(line);
|
|
42
|
+
}
|
|
43
|
+
for (const line of formatStatusField(theme, "Endpoint", formatEndpointHost(grant.endpoint))) {
|
|
44
|
+
console.log(line);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
console.log("");
|
|
48
|
+
console.log(theme.accent("Storage"));
|
|
49
|
+
for (const line of formatStatusField(theme, "Grant", theme.path(formatStoragePath(status.path, root)))) {
|
|
50
|
+
console.log(line);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export function printWorkspaceInfo(info, options) {
|
|
54
|
+
const theme = createStatusTheme(options);
|
|
55
|
+
const status = info.status ?? undefined;
|
|
56
|
+
const completion = indexCompletionFromStatus(status);
|
|
57
|
+
const suggestion = status && statusNeedsRefresh(status) ? "zg --index" : info.suggestion;
|
|
58
|
+
const state = workspaceState(info);
|
|
59
|
+
printWorkspaceIndexStatus(theme, {
|
|
60
|
+
debug: options.debug,
|
|
61
|
+
root: info.root,
|
|
62
|
+
indexPath: info.indexPath,
|
|
63
|
+
policy: info.indexPolicy,
|
|
64
|
+
state,
|
|
65
|
+
embedding: info.workspaceIndex?.embedding,
|
|
66
|
+
roots: info.workspaceIndex?.rootPaths,
|
|
67
|
+
files: status
|
|
68
|
+
? {
|
|
69
|
+
indexed: completion?.completed ?? 0,
|
|
70
|
+
total: completion?.total ?? 0,
|
|
71
|
+
entities: status.entitiesIndexed ?? 0,
|
|
72
|
+
truncated: status.fragmentsTruncated ?? 0,
|
|
73
|
+
pending: status.filesPending,
|
|
74
|
+
failed: status.filesFailed,
|
|
75
|
+
}
|
|
76
|
+
: undefined,
|
|
77
|
+
changes: status
|
|
78
|
+
? {
|
|
79
|
+
added: status.filesAdded,
|
|
80
|
+
modified: status.filesModified,
|
|
81
|
+
deleted: status.filesDeleted,
|
|
82
|
+
}
|
|
83
|
+
: undefined,
|
|
84
|
+
suggestion,
|
|
85
|
+
failedReasons: status
|
|
86
|
+
? summarizeFailedFileReasons(status.failedFiles, "zg --index")
|
|
87
|
+
: undefined,
|
|
88
|
+
});
|
|
89
|
+
return state;
|
|
90
|
+
}
|
|
91
|
+
export function printServerIndexInfo(info, options) {
|
|
92
|
+
const theme = createStatusTheme(options);
|
|
93
|
+
const state = serverIndexState(info);
|
|
94
|
+
const embedding = info.persistent.workspace_index?.embedding;
|
|
95
|
+
const roots = info.persistent.workspace_index?.root_paths.map(mapServerRootPath);
|
|
96
|
+
const files = info.persistent.files;
|
|
97
|
+
const completion = info.runtime?.completion;
|
|
98
|
+
printWorkspaceIndexStatus(theme, {
|
|
99
|
+
debug: options.debug,
|
|
100
|
+
root: info.root,
|
|
101
|
+
indexPath: info.persistent.index_path,
|
|
102
|
+
policy: info.index_policy,
|
|
103
|
+
state,
|
|
104
|
+
embedding,
|
|
105
|
+
roots,
|
|
106
|
+
files: files
|
|
107
|
+
? {
|
|
108
|
+
indexed: completion?.completed ?? files.unchanged,
|
|
109
|
+
total: completion?.total ??
|
|
110
|
+
files.scanned ??
|
|
111
|
+
Math.max(0, files.stored + files.added - files.deleted),
|
|
112
|
+
entities: files.entities,
|
|
113
|
+
truncated: files.truncated_fragments ?? 0,
|
|
114
|
+
pending: files.pending,
|
|
115
|
+
failed: info.runtime?.progress?.files_failed ?? files.failed,
|
|
116
|
+
}
|
|
117
|
+
: undefined,
|
|
118
|
+
changes: files
|
|
119
|
+
? {
|
|
120
|
+
added: files.added,
|
|
121
|
+
modified: files.modified,
|
|
122
|
+
deleted: files.deleted,
|
|
123
|
+
}
|
|
124
|
+
: undefined,
|
|
125
|
+
suggestion: info.persistent.suggestion,
|
|
126
|
+
error: info.runtime?.error,
|
|
127
|
+
});
|
|
128
|
+
return state;
|
|
129
|
+
}
|
|
130
|
+
function printWorkspaceIndexStatus(theme, view) {
|
|
131
|
+
console.log(formatWorkspaceStatusHeading(theme, view.state));
|
|
132
|
+
console.log(` ${theme.path(formatDisplayPath(view.root))}`);
|
|
133
|
+
const sections = [];
|
|
134
|
+
if (view.files) {
|
|
135
|
+
const { indexed, total, entities, truncated, pending, failed } = view.files;
|
|
136
|
+
const percent = total === 0
|
|
137
|
+
? 0
|
|
138
|
+
: Math.min(100, Math.round((Math.max(indexed, 0) / total) * 100));
|
|
139
|
+
const bar = formatGreenProgressBar(indexed, total, 20, theme.color);
|
|
140
|
+
const summary = [
|
|
141
|
+
...formatStatusField(theme, "Coverage", `${bar} ${String(percent).padStart(3)}% ${formatCount(indexed)} / ${formatCount(total)} files`),
|
|
142
|
+
...formatStatusField(theme, "Entities", formatCount(entities)),
|
|
143
|
+
...formatStatusField(theme, "Truncated", truncated > 0
|
|
144
|
+
? theme.warning(`${formatCount(truncated)} fragments`)
|
|
145
|
+
: theme.muted("0 fragments")),
|
|
146
|
+
...formatStatusField(theme, "Queue", `${statusCount(theme, pending, "pending", "warning")} ${theme.muted("·")} ${statusCount(theme, failed, "failed", "danger")}`),
|
|
147
|
+
];
|
|
148
|
+
if (view.changes && changedTotal(view.changes) > 0) {
|
|
149
|
+
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`)}`));
|
|
150
|
+
}
|
|
151
|
+
sections.push(summary);
|
|
152
|
+
}
|
|
153
|
+
if (view.embedding !== undefined) {
|
|
154
|
+
sections.push(formatStatusField(theme, "Embedding", view.embedding
|
|
155
|
+
? [
|
|
156
|
+
`${view.embedding.provider}/${view.embedding.model}`,
|
|
157
|
+
`${formatCount(view.embedding.dimension)} dimensions ${theme.muted("·")} ${view.embedding.metric}`,
|
|
158
|
+
]
|
|
159
|
+
: theme.warning("Not configured")));
|
|
160
|
+
}
|
|
161
|
+
const storage = formatStatusField(theme, "Storage", theme.path(formatStoragePath(view.indexPath, view.root)));
|
|
162
|
+
if (view.roots && shouldShowRoots(view.root, view.roots)) {
|
|
163
|
+
storage.push(...formatStatusField(theme, "Roots", view.roots.map((root) => theme.path(formatDisplayRootPath(root)))));
|
|
164
|
+
}
|
|
165
|
+
if (view.policy !== "enabled") {
|
|
166
|
+
storage.push(...formatStatusField(theme, "Policy", view.policy === "disabled"
|
|
167
|
+
? theme.warning(view.policy)
|
|
168
|
+
: theme.muted(view.policy)));
|
|
169
|
+
}
|
|
170
|
+
sections.push(storage);
|
|
171
|
+
const diagnostics = [];
|
|
172
|
+
if (view.error) {
|
|
173
|
+
const downloadFailure = modelDownloadFailureMessage(view.error);
|
|
174
|
+
diagnostics.push(...formatStatusField(theme, "Error", (downloadFailure
|
|
175
|
+
? [downloadFailure, ...(view.debug ? [view.error.code] : [])]
|
|
176
|
+
: [view.error.code, view.error.message]).map((line) => theme.danger(line))));
|
|
177
|
+
if (view.error.context && (!downloadFailure || view.debug)) {
|
|
178
|
+
diagnostics.push(...formatStatusField(theme, "Details", formatContextLines(view.error.context).map((line) => theme.danger(line))));
|
|
179
|
+
}
|
|
180
|
+
if (view.error.cause && (!downloadFailure || view.debug)) {
|
|
181
|
+
diagnostics.push(...formatStatusField(theme, "Cause", theme.danger(view.error.cause)));
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
if (view.failedReasons) {
|
|
185
|
+
const failedReasons = redactErrorText(view.failedReasons, 4_096);
|
|
186
|
+
const downloadFailure = modelDownloadFailureMessage({
|
|
187
|
+
code: "ZVEC_GREP.ENGINE.INDEXING.FILES_FAILED",
|
|
188
|
+
context: `failedReasons=${failedReasons}`,
|
|
189
|
+
});
|
|
190
|
+
diagnostics.push(...formatStatusField(theme, downloadFailure ? "Error" : "Problem", theme.danger(downloadFailure ?? failedReasons)));
|
|
191
|
+
if (downloadFailure && view.debug) {
|
|
192
|
+
diagnostics.push(...formatStatusField(theme, "Details", theme.danger(failedReasons)));
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
if (view.suggestion) {
|
|
196
|
+
diagnostics.push(...formatStatusField(theme, "Next", theme.accent(view.suggestion)));
|
|
197
|
+
}
|
|
198
|
+
if (diagnostics.length > 0) {
|
|
199
|
+
sections.push(diagnostics);
|
|
200
|
+
}
|
|
201
|
+
for (const section of sections) {
|
|
202
|
+
if (section.length === 0)
|
|
203
|
+
continue;
|
|
204
|
+
console.log("");
|
|
205
|
+
for (const line of section)
|
|
206
|
+
console.log(line);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
function formatWorkspaceStatusHeading(theme, state) {
|
|
210
|
+
switch (state) {
|
|
211
|
+
case "ready":
|
|
212
|
+
return theme.success("✓ Workspace index is ready");
|
|
213
|
+
case "indexing":
|
|
214
|
+
return theme.warning("◐ Workspace index is updating");
|
|
215
|
+
case "stale":
|
|
216
|
+
return theme.warning("! Workspace index needs an update");
|
|
217
|
+
case "failed":
|
|
218
|
+
return theme.danger("✗ Workspace index failed");
|
|
219
|
+
case "cancelled":
|
|
220
|
+
return theme.warning("! Workspace index update was cancelled");
|
|
221
|
+
case "disabled":
|
|
222
|
+
return theme.warning("○ Workspace indexing is disabled");
|
|
223
|
+
case "unindexed":
|
|
224
|
+
return theme.warning("○ Workspace index is not created");
|
|
225
|
+
case "undecided":
|
|
226
|
+
return theme.warning("? Workspace index is not configured");
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
function formatStatusField(theme, label, value) {
|
|
230
|
+
const values = typeof value === "string" ? [value] : value;
|
|
231
|
+
const labelWidth = 12;
|
|
232
|
+
const continuation = ` ${" ".repeat(labelWidth)}`;
|
|
233
|
+
return values.map((line, index) => index === 0
|
|
234
|
+
? ` ${theme.label(label.padEnd(labelWidth))}${line}`
|
|
235
|
+
: `${continuation}${line}`);
|
|
236
|
+
}
|
|
237
|
+
function statusCount(theme, count, label, tone) {
|
|
238
|
+
const value = `${formatCount(count)} ${label}`;
|
|
239
|
+
return count > 0 ? theme[tone](value) : theme.muted(value);
|
|
240
|
+
}
|
|
241
|
+
function changedTotal(changes) {
|
|
242
|
+
return changes.added + changes.modified + changes.deleted;
|
|
243
|
+
}
|
|
244
|
+
function serverIndexState(info) {
|
|
245
|
+
if (info.index_policy === "disabled")
|
|
246
|
+
return "disabled";
|
|
247
|
+
if (info.runtime?.job_state === "failed" || info.runtime?.error) {
|
|
248
|
+
return "failed";
|
|
249
|
+
}
|
|
250
|
+
if (info.runtime?.job_state === "cancelled")
|
|
251
|
+
return "cancelled";
|
|
252
|
+
if (info.runtime?.job_state === "queued" ||
|
|
253
|
+
info.runtime?.job_state === "running") {
|
|
254
|
+
return "indexing";
|
|
255
|
+
}
|
|
256
|
+
if (info.runtime?.dirty_revision !== undefined &&
|
|
257
|
+
info.runtime.indexed_revision !== undefined &&
|
|
258
|
+
info.runtime.dirty_revision > info.runtime.indexed_revision) {
|
|
259
|
+
return "stale";
|
|
260
|
+
}
|
|
261
|
+
if ((info.persistent.files?.failed ?? 0) > 0)
|
|
262
|
+
return "failed";
|
|
263
|
+
if ((info.persistent.files?.pending ?? 0) > 0 ||
|
|
264
|
+
serverChangedTotal(info.persistent.files) > 0) {
|
|
265
|
+
return "stale";
|
|
266
|
+
}
|
|
267
|
+
if (info.indexed)
|
|
268
|
+
return "ready";
|
|
269
|
+
return info.index_policy === "undecided" ? "undecided" : "unindexed";
|
|
270
|
+
}
|
|
271
|
+
function serverChangedTotal(files) {
|
|
272
|
+
return (files?.added ?? 0) + (files?.modified ?? 0) + (files?.deleted ?? 0);
|
|
273
|
+
}
|
|
274
|
+
function mapServerRootPath(root) {
|
|
275
|
+
return {
|
|
276
|
+
absolutePath: root.absolute_path,
|
|
277
|
+
recursive: root.recursive,
|
|
278
|
+
include: root.include,
|
|
279
|
+
exclude: root.exclude,
|
|
280
|
+
globs: root.globs,
|
|
281
|
+
insensitiveGlobs: root.insensitive_globs,
|
|
282
|
+
fileTypes: root.file_types,
|
|
283
|
+
excludedFileTypes: root.excluded_file_types,
|
|
284
|
+
hidden: root.hidden,
|
|
285
|
+
noIgnore: root.no_ignore,
|
|
286
|
+
ignoreFiles: root.ignore_files,
|
|
287
|
+
maxDepth: root.max_depth,
|
|
288
|
+
maxFileSizeBytes: root.max_file_size_bytes,
|
|
289
|
+
follow: root.follow,
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
function shouldShowRoots(workspaceRoot, roots) {
|
|
293
|
+
return (roots.length > 1 ||
|
|
294
|
+
roots.some((root) => root.absolutePath !== workspaceRoot ||
|
|
295
|
+
formatRootPath(root) !== root.absolutePath));
|
|
296
|
+
}
|
|
297
|
+
function formatDisplayRootPath(root) {
|
|
298
|
+
const formatted = formatRootPath(root);
|
|
299
|
+
return `${formatDisplayPath(root.absolutePath)}${formatted.slice(root.absolutePath.length)}`;
|
|
300
|
+
}
|
|
301
|
+
function formatStoragePath(indexPath, workspaceRoot) {
|
|
302
|
+
const localPath = relative(workspaceRoot, indexPath);
|
|
303
|
+
if (localPath.length > 0 &&
|
|
304
|
+
!isAbsolute(localPath) &&
|
|
305
|
+
localPath !== ".." &&
|
|
306
|
+
!localPath.startsWith(`..${sep}`)) {
|
|
307
|
+
return localPath;
|
|
308
|
+
}
|
|
309
|
+
return formatDisplayPath(indexPath);
|
|
310
|
+
}
|
|
311
|
+
function formatDisplayPath(path) {
|
|
312
|
+
const home = homedir();
|
|
313
|
+
if (path === home)
|
|
314
|
+
return "~";
|
|
315
|
+
return path.startsWith(`${home}${sep}`)
|
|
316
|
+
? `~${path.slice(home.length)}`
|
|
317
|
+
: path;
|
|
318
|
+
}
|
|
319
|
+
function formatEndpointHost(endpoint) {
|
|
320
|
+
try {
|
|
321
|
+
return new URL(endpoint).host || endpoint;
|
|
322
|
+
}
|
|
323
|
+
catch {
|
|
324
|
+
return endpoint;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
function formatCount(value) {
|
|
328
|
+
return value.toLocaleString("en-US");
|
|
329
|
+
}
|
|
330
|
+
function workspaceState(info) {
|
|
331
|
+
if (info.indexPolicy === "disabled") {
|
|
332
|
+
return "disabled";
|
|
333
|
+
}
|
|
334
|
+
if (!info.workspaceIndex) {
|
|
335
|
+
return "undecided";
|
|
336
|
+
}
|
|
337
|
+
if (!info.indexed) {
|
|
338
|
+
return "unindexed";
|
|
339
|
+
}
|
|
340
|
+
if (info.status?.filesFailed && info.status.filesFailed > 0) {
|
|
341
|
+
return "failed";
|
|
342
|
+
}
|
|
343
|
+
if (info.status && statusNeedsRefresh(info.status)) {
|
|
344
|
+
return "stale";
|
|
345
|
+
}
|
|
346
|
+
return "ready";
|
|
347
|
+
}
|
|
348
|
+
export function printIndexResult(label, result, options, rootPaths) {
|
|
349
|
+
const theme = createStatusTheme(options);
|
|
350
|
+
console.log(theme.accent(label));
|
|
351
|
+
printField(theme, "files", `${result.filesScanned} scanned, ` +
|
|
352
|
+
`${theme.success(String(result.filesAdded))} added, ` +
|
|
353
|
+
`${theme.warning(String(result.filesModified))} modified, ` +
|
|
354
|
+
`${theme.warning(String(result.filesPending))} retried, ` +
|
|
355
|
+
`${theme.muted(String(result.filesUnchanged))} unchanged, ` +
|
|
356
|
+
`${theme.muted(String(result.filesDeleted))} deleted, ` +
|
|
357
|
+
failedCount(theme, result.filesFailed));
|
|
358
|
+
printField(theme, "entities", String(result.entitiesCreated));
|
|
359
|
+
printField(theme, "duration", `${formatDuration(result.durationMs)} ${theme.muted(`(${result.durationMs}ms)`)}`);
|
|
360
|
+
if (rootPaths && rootPaths.length > 0) {
|
|
361
|
+
printField(theme, "roots", theme.path(rootPaths.map(formatRootPath).join(", ")));
|
|
362
|
+
}
|
|
363
|
+
printQueryFilters(theme, options);
|
|
364
|
+
if (options.debug) {
|
|
365
|
+
printIndexScanDiagnostics(result.scanDiagnostics);
|
|
366
|
+
}
|
|
367
|
+
if (result.filesScanned === 0) {
|
|
368
|
+
printNoIndexableFilesTip(options);
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
export function printIndexScanDiagnostics(diagnostics) {
|
|
372
|
+
if (!diagnostics || diagnostics.skippedFiles === 0) {
|
|
373
|
+
console.error("skipped_files=0");
|
|
374
|
+
return;
|
|
375
|
+
}
|
|
376
|
+
const reasons = Object.entries(diagnostics.skippedByReason)
|
|
377
|
+
.filter(([, count]) => count > 0)
|
|
378
|
+
.map(([reason, count]) => `${reason}:${count}`)
|
|
379
|
+
.join(",");
|
|
380
|
+
console.error(`skipped_files=${diagnostics.skippedFiles} reasons=${reasons || "none"}`);
|
|
381
|
+
for (const skipped of diagnostics.skippedSamples) {
|
|
382
|
+
const details = [
|
|
383
|
+
`reason=${skipped.reason}`,
|
|
384
|
+
`path=${JSON.stringify(skipped.relativePath)}`,
|
|
385
|
+
...(skipped.sizeBytes !== undefined
|
|
386
|
+
? [`size_bytes=${skipped.sizeBytes}`]
|
|
387
|
+
: []),
|
|
388
|
+
...(skipped.limitBytes !== undefined
|
|
389
|
+
? [`limit_bytes=${skipped.limitBytes}`]
|
|
390
|
+
: []),
|
|
391
|
+
];
|
|
392
|
+
console.error(`skipped_file ${details.join(" ")}`);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
export function printNoIndexableFilesTip(options) {
|
|
396
|
+
const theme = createStatusTheme(options);
|
|
397
|
+
printField(theme, "tip", theme.warning("No indexable files were found. Run `zg --help file-types` to review supported file types and indexing rules."));
|
|
398
|
+
}
|
|
399
|
+
export function printIndexPathFilterTip(options) {
|
|
400
|
+
if (options.globs !== undefined ||
|
|
401
|
+
options.insensitiveGlobs !== undefined ||
|
|
402
|
+
options.fileTypes !== undefined ||
|
|
403
|
+
options.excludedFileTypes !== undefined) {
|
|
404
|
+
return;
|
|
405
|
+
}
|
|
406
|
+
const theme = createStatusTheme(options);
|
|
407
|
+
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."));
|
|
408
|
+
}
|
|
409
|
+
function summarizeFailedFileReasons(files, retryCommand) {
|
|
410
|
+
const withReasons = files.filter((file) => file.indexStatus?.error);
|
|
411
|
+
if (withReasons.length === 0) {
|
|
412
|
+
return undefined;
|
|
413
|
+
}
|
|
414
|
+
const shown = withReasons
|
|
415
|
+
.slice(0, 3)
|
|
416
|
+
.map((file) => `${file.relativePath}: ${clipReason(redactErrorText(explainStoredFailureReason(file.indexStatus.error, retryCommand), 4_096))}`);
|
|
417
|
+
const remaining = withReasons.length - shown.length;
|
|
418
|
+
return remaining > 0
|
|
419
|
+
? `${shown.join("; ")}; and ${remaining} more`
|
|
420
|
+
: shown.join("; ");
|
|
421
|
+
}
|
|
422
|
+
function explainStoredFailureReason(reason, retryCommand) {
|
|
423
|
+
const legacy = /ZVEC_GREP\.ENGINE\.INDEXING\.FILE_FAILED: Indexing file failed \(.*\bstage=([^) ]+)/.exec(reason);
|
|
424
|
+
if (!legacy) {
|
|
425
|
+
return reason;
|
|
426
|
+
}
|
|
427
|
+
return `${legacy[1]} failed; this stored failure was recorded without the underlying cause, rerun ${retryCommand} to refresh the detailed error`;
|
|
428
|
+
}
|
|
429
|
+
function clipReason(reason) {
|
|
430
|
+
const compact = reason.replace(/\s+/g, " ").trim();
|
|
431
|
+
const maxLength = 240;
|
|
432
|
+
return compact.length > maxLength
|
|
433
|
+
? `${compact.slice(0, maxLength - 3)}...`
|
|
434
|
+
: compact;
|
|
435
|
+
}
|
|
436
|
+
function printQueryFilters(theme, options) {
|
|
437
|
+
if (options.modifiedAfter !== undefined) {
|
|
438
|
+
printField(theme, "modified_after", formatTimeFilter(options.modifiedAfter));
|
|
439
|
+
}
|
|
440
|
+
if (options.modifiedBefore !== undefined) {
|
|
441
|
+
printField(theme, "modified_before", formatTimeFilter(options.modifiedBefore));
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
function printField(theme, label, value) {
|
|
445
|
+
console.log(`${theme.label(label)}\t${value}`);
|
|
446
|
+
}
|
|
447
|
+
function failedCount(theme, count) {
|
|
448
|
+
return count > 0
|
|
449
|
+
? theme.danger(`${count} failed`)
|
|
450
|
+
: theme.success(`${count} failed`);
|
|
451
|
+
}
|
|
452
|
+
function createStatusTheme(options) {
|
|
453
|
+
const color = shouldUseColor(options);
|
|
454
|
+
if (!color) {
|
|
455
|
+
return {
|
|
456
|
+
color,
|
|
457
|
+
label: identity,
|
|
458
|
+
path: identity,
|
|
459
|
+
success: identity,
|
|
460
|
+
warning: identity,
|
|
461
|
+
danger: identity,
|
|
462
|
+
accent: identity,
|
|
463
|
+
muted: identity,
|
|
464
|
+
};
|
|
465
|
+
}
|
|
466
|
+
return {
|
|
467
|
+
color,
|
|
468
|
+
label: (value) => `\x1b[2m${value}\x1b[0m`,
|
|
469
|
+
path: (value) => `\x1b[36m${value}\x1b[0m`,
|
|
470
|
+
success: (value) => `\x1b[32m${value}\x1b[0m`,
|
|
471
|
+
warning: (value) => `\x1b[33m${value}\x1b[0m`,
|
|
472
|
+
danger: (value) => `\x1b[31m${value}\x1b[0m`,
|
|
473
|
+
accent: (value) => `\x1b[1m${value}\x1b[0m`,
|
|
474
|
+
muted: (value) => `\x1b[2m${value}\x1b[0m`,
|
|
475
|
+
};
|
|
476
|
+
}
|
|
477
|
+
function formatRootPath(root) {
|
|
478
|
+
const filters = [
|
|
479
|
+
root.include && root.include.length > 0
|
|
480
|
+
? `include=${root.include.join("|")}`
|
|
481
|
+
: undefined,
|
|
482
|
+
root.exclude && root.exclude.length > 0
|
|
483
|
+
? `exclude=${root.exclude.join("|")}`
|
|
484
|
+
: undefined,
|
|
485
|
+
root.globs && root.globs.length > 0
|
|
486
|
+
? `glob=${root.globs.join("|")}`
|
|
487
|
+
: undefined,
|
|
488
|
+
root.insensitiveGlobs && root.insensitiveGlobs.length > 0
|
|
489
|
+
? `iglob=${root.insensitiveGlobs.join("|")}`
|
|
490
|
+
: undefined,
|
|
491
|
+
root.fileTypes && root.fileTypes.length > 0
|
|
492
|
+
? `type=${root.fileTypes.join("|")}`
|
|
493
|
+
: undefined,
|
|
494
|
+
root.excludedFileTypes && root.excludedFileTypes.length > 0
|
|
495
|
+
? `type-not=${root.excludedFileTypes.join("|")}`
|
|
496
|
+
: undefined,
|
|
497
|
+
root.hidden ? "hidden" : undefined,
|
|
498
|
+
root.noIgnore ? "no-ignore" : undefined,
|
|
499
|
+
root.ignoreFiles && root.ignoreFiles.length > 0
|
|
500
|
+
? `ignore-file=${root.ignoreFiles.join("|")}`
|
|
501
|
+
: undefined,
|
|
502
|
+
root.maxDepth !== undefined ? `max-depth=${root.maxDepth}` : undefined,
|
|
503
|
+
root.maxFileSizeBytes !== undefined
|
|
504
|
+
? `max-filesize=${root.maxFileSizeBytes}`
|
|
505
|
+
: undefined,
|
|
506
|
+
root.follow ? "follow" : undefined,
|
|
507
|
+
].filter((part) => part !== undefined);
|
|
508
|
+
return filters.length > 0
|
|
509
|
+
? `${root.absolutePath} (${filters.join(" ")})`
|
|
510
|
+
: root.absolutePath;
|
|
511
|
+
}
|
|
512
|
+
function formatDuration(ms) {
|
|
513
|
+
if (ms < 1000) {
|
|
514
|
+
return `${ms}ms`;
|
|
515
|
+
}
|
|
516
|
+
const totalSeconds = Math.round(ms / 1000);
|
|
517
|
+
const minutes = Math.floor(totalSeconds / 60);
|
|
518
|
+
const seconds = totalSeconds % 60;
|
|
519
|
+
if (minutes === 0) {
|
|
520
|
+
return `${seconds}s`;
|
|
521
|
+
}
|
|
522
|
+
return `${minutes}m ${seconds}s`;
|
|
523
|
+
}
|
|
524
|
+
function formatTimeFilter(value) {
|
|
525
|
+
return `${new Date(value).toISOString()} (${value})`;
|
|
526
|
+
}
|
|
527
|
+
function identity(value) {
|
|
528
|
+
return value;
|
|
529
|
+
}
|
|
530
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/format/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function printHelp(version: string, topic?: string): void;
|