gitnexus 1.6.11-rc.8 → 1.6.11
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 +95 -26
- package/dist/_shared/graph/types.d.ts +81 -2
- package/dist/_shared/graph/types.d.ts.map +1 -1
- package/dist/_shared/integrations/circuit-breaker.d.ts.map +1 -1
- package/dist/_shared/integrations/circuit-breaker.js.map +1 -1
- package/dist/_shared/integrations/resilient-fetch.d.ts.map +1 -1
- package/dist/_shared/integrations/resilient-fetch.js.map +1 -1
- package/dist/_shared/language-detection.d.ts.map +1 -1
- package/dist/_shared/language-detection.js +2 -0
- package/dist/_shared/language-detection.js.map +1 -1
- package/dist/_shared/languages.d.ts +2 -1
- package/dist/_shared/languages.d.ts.map +1 -1
- package/dist/_shared/languages.js +1 -0
- package/dist/_shared/languages.js.map +1 -1
- package/dist/_shared/lbug/schema-constants.d.ts +2 -2
- package/dist/_shared/lbug/schema-constants.d.ts.map +1 -1
- package/dist/_shared/lbug/schema-constants.js +4 -0
- package/dist/_shared/lbug/schema-constants.js.map +1 -1
- package/dist/_shared/scope-resolution/evidence-weights.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/finalize-algorithm.js +1 -0
- package/dist/_shared/scope-resolution/finalize-algorithm.js.map +1 -1
- package/dist/_shared/scope-resolution/language-classification.d.ts +3 -0
- package/dist/_shared/scope-resolution/language-classification.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/language-classification.js +4 -0
- package/dist/_shared/scope-resolution/language-classification.js.map +1 -1
- package/dist/_shared/scope-resolution/reference-site.d.ts +10 -0
- package/dist/_shared/scope-resolution/reference-site.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/registries/field-registry.js.map +1 -1
- package/dist/_shared/scope-resolution/registries/method-registry.js.map +1 -1
- package/dist/_shared/scope-resolution/scope-tree.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/scope-tree.js.map +1 -1
- package/dist/_shared/scope-resolution/types.d.ts +15 -0
- package/dist/_shared/scope-resolution/types.d.ts.map +1 -1
- package/dist/cli/ai-context.d.ts +4 -0
- package/dist/cli/ai-context.js +90 -14
- package/dist/cli/analyze-config.js +14 -0
- package/dist/cli/analyze-options.d.ts +14 -0
- package/dist/cli/analyze-watch.d.ts +20 -0
- package/dist/cli/analyze-watch.js +434 -0
- package/dist/cli/analyze.js +27 -9
- package/dist/cli/auto-sync.d.ts +1 -0
- package/dist/cli/auto-sync.js +107 -0
- package/dist/cli/command-banner.d.ts +15 -0
- package/dist/cli/command-banner.js +42 -0
- package/dist/cli/detect-changes-format.js +21 -0
- package/dist/cli/doctor.d.ts +7 -0
- package/dist/cli/doctor.js +14 -0
- package/dist/cli/group.js +7 -1
- package/dist/cli/help-i18n.js +4 -0
- package/dist/cli/i18n/en.d.ts +18 -3
- package/dist/cli/i18n/en.js +18 -3
- package/dist/cli/i18n/resources.d.ts +33 -3
- package/dist/cli/i18n/zh-CN.d.ts +15 -0
- package/dist/cli/i18n/zh-CN.js +18 -3
- package/dist/cli/index.js +34 -7
- package/dist/cli/mcp.d.ts +15 -0
- package/dist/cli/mcp.js +44 -0
- package/dist/cli/optional-grammars.d.ts +3 -2
- package/dist/cli/optional-grammars.js +19 -3
- package/dist/cli/setup.js +41 -15
- package/dist/cli/update-notice.d.ts +34 -0
- package/dist/cli/update-notice.js +91 -0
- package/dist/cli/update.d.ts +21 -0
- package/dist/cli/update.js +93 -0
- package/dist/cli/watch.d.ts +1 -20
- package/dist/cli/watch.js +5 -371
- package/dist/core/analysis-feature-registry.d.ts +2 -0
- package/dist/core/analysis-feature-registry.js +15 -0
- package/dist/core/analyzer-identity.js +21 -3
- package/dist/core/auto-sync/analysis-worker-launch.d.ts +30 -0
- package/dist/core/auto-sync/analysis-worker-launch.js +166 -0
- package/dist/core/auto-sync/config.d.ts +33 -0
- package/dist/core/auto-sync/config.js +320 -0
- package/dist/core/auto-sync/index.d.ts +6 -0
- package/dist/core/auto-sync/index.js +6 -0
- package/dist/core/auto-sync/path-security.d.ts +9 -0
- package/dist/core/auto-sync/path-security.js +251 -0
- package/dist/core/auto-sync/repo.d.ts +1 -0
- package/dist/core/auto-sync/repo.js +6 -0
- package/dist/core/auto-sync/runner.d.ts +44 -0
- package/dist/core/auto-sync/runner.js +428 -0
- package/dist/core/auto-sync/starter.d.ts +50 -0
- package/dist/core/auto-sync/starter.js +497 -0
- package/dist/core/auto-sync/state.d.ts +37 -0
- package/dist/core/auto-sync/state.js +119 -0
- package/dist/core/group/config-parser.js +8 -1
- package/dist/core/group/cross-impact.d.ts +3 -0
- package/dist/core/group/cross-impact.js +36 -4
- package/dist/core/group/extractors/http-patterns/java.js +22 -8
- package/dist/core/group/extractors/http-patterns/kotlin.js +86 -31
- package/dist/core/group/extractors/http-patterns/node.js +145 -8
- package/dist/core/group/extractors/http-patterns/python.js +11 -7
- package/dist/core/group/extractors/http-route-extractor.js +63 -17
- package/dist/core/group/extractors/java-workspace-extractor.js +244 -31
- package/dist/core/group/group-lock.js +5 -6
- package/dist/core/group/normalization.d.ts +38 -1
- package/dist/core/group/normalization.js +59 -3
- package/dist/core/group/service.d.ts +11 -0
- package/dist/core/group/service.js +13 -1
- package/dist/core/group/storage.js +2 -2
- package/dist/core/group/sync.d.ts +24 -1
- package/dist/core/group/sync.js +46 -8
- package/dist/core/group/types.d.ts +13 -0
- package/dist/core/incremental/derived-writeback.d.ts +36 -0
- package/dist/core/incremental/derived-writeback.js +68 -0
- package/dist/core/incremental/spring-config-drift.d.ts +12 -0
- package/dist/core/incremental/spring-config-drift.js +46 -0
- package/dist/core/incremental/subgraph-extract.d.ts +7 -4
- package/dist/core/incremental/subgraph-extract.js +30 -5
- package/dist/core/ingestion/asyncapi/document.d.ts +226 -0
- package/dist/core/ingestion/asyncapi/document.js +758 -0
- package/dist/core/ingestion/asyncapi/protocol.d.ts +79 -0
- package/dist/core/ingestion/asyncapi/protocol.js +203 -0
- package/dist/core/ingestion/call-extractors/configs/zig.d.ts +2 -0
- package/dist/core/ingestion/call-extractors/configs/zig.js +4 -0
- package/dist/core/ingestion/call-extractors/zig-static-gating.d.ts +100 -0
- package/dist/core/ingestion/call-extractors/zig-static-gating.js +319 -0
- package/dist/core/ingestion/call-processor.js +3 -1
- package/dist/core/ingestion/class-extractors/configs/zig.d.ts +2 -0
- package/dist/core/ingestion/class-extractors/configs/zig.js +32 -0
- package/dist/core/ingestion/class-extractors/generic.js +4 -1
- package/dist/core/ingestion/class-types.d.ts +6 -2
- package/dist/core/ingestion/destination-key.d.ts +59 -0
- package/dist/core/ingestion/destination-key.js +61 -0
- package/dist/core/ingestion/entry-point-scoring.d.ts +6 -2
- package/dist/core/ingestion/entry-point-scoring.js +8 -44
- package/dist/core/ingestion/export-detection.d.ts +37 -0
- package/dist/core/ingestion/export-detection.js +60 -0
- package/dist/core/ingestion/field-extractors/configs/zig.d.ts +8 -0
- package/dist/core/ingestion/field-extractors/configs/zig.js +49 -0
- package/dist/core/ingestion/field-extractors/generic.d.ts +1 -1
- package/dist/core/ingestion/field-extractors/generic.js +12 -1
- package/dist/core/ingestion/frameworks/spring/actuator-runtime.d.ts +26 -0
- package/dist/core/ingestion/frameworks/spring/actuator-runtime.js +843 -0
- package/dist/core/ingestion/frameworks/spring/analysis-features.d.ts +5 -0
- package/dist/core/ingestion/frameworks/spring/analysis-features.js +9 -0
- package/dist/core/ingestion/frameworks/spring/annotation-arguments.js +8 -1
- package/dist/core/ingestion/frameworks/spring/argument-facts.d.ts +80 -0
- package/dist/core/ingestion/frameworks/spring/argument-facts.js +85 -0
- package/dist/core/ingestion/frameworks/spring/config-bindings.d.ts +1 -0
- package/dist/core/ingestion/frameworks/spring/config-bindings.js +2 -1
- package/dist/core/ingestion/frameworks/spring/destinations.d.ts +539 -0
- package/dist/core/ingestion/frameworks/spring/destinations.js +840 -0
- package/dist/core/ingestion/frameworks/spring/dynamic-lookups.d.ts +22 -0
- package/dist/core/ingestion/frameworks/spring/dynamic-lookups.js +124 -0
- package/dist/core/ingestion/frameworks/spring/message-producers.d.ts +78 -0
- package/dist/core/ingestion/frameworks/spring/message-producers.js +90 -0
- package/dist/core/ingestion/frameworks/spring/non-http-handlers.d.ts +29 -0
- package/dist/core/ingestion/frameworks/spring/vendor-prefixes.d.ts +7 -0
- package/dist/core/ingestion/frameworks/spring/vendor-prefixes.js +22 -0
- package/dist/core/ingestion/import-resolvers/configs/zig.d.ts +13 -0
- package/dist/core/ingestion/import-resolvers/configs/zig.js +26 -0
- package/dist/core/ingestion/import-resolvers/zig.d.ts +34 -0
- package/dist/core/ingestion/import-resolvers/zig.js +193 -0
- package/dist/core/ingestion/language-config.d.ts +177 -0
- package/dist/core/ingestion/language-config.js +719 -0
- package/dist/core/ingestion/language-provider.d.ts +178 -1
- package/dist/core/ingestion/language-provider.js +22 -0
- package/dist/core/ingestion/languages/csharp/razor-view-components.d.ts +62 -0
- package/dist/core/ingestion/languages/csharp/razor-view-components.js +954 -0
- package/dist/core/ingestion/languages/csharp/resolution-config.d.ts +3 -0
- package/dist/core/ingestion/languages/csharp/resolution-config.js +6 -1
- package/dist/core/ingestion/languages/csharp/scope-resolver.js +8 -0
- package/dist/core/ingestion/languages/index.d.ts +1 -0
- package/dist/core/ingestion/languages/index.js +2 -0
- package/dist/core/ingestion/languages/java/analysis-features.d.ts +1 -1
- package/dist/core/ingestion/languages/java/analysis-features.js +14 -6
- package/dist/core/ingestion/languages/java/capture-side-channel.d.ts +8 -0
- package/dist/core/ingestion/languages/java/capture-side-channel.js +34 -0
- package/dist/core/ingestion/languages/java/captures.js +22 -1
- package/dist/core/ingestion/languages/java/lombok-synthesizer.d.ts +42 -0
- package/dist/core/ingestion/languages/java/lombok-synthesizer.js +439 -0
- package/dist/core/ingestion/languages/java/scope-resolver.js +2 -0
- package/dist/core/ingestion/languages/java/spring-actuator.d.ts +2 -0
- package/dist/core/ingestion/languages/java/spring-actuator.js +62 -0
- package/dist/core/ingestion/languages/java/spring-di.d.ts +17 -1
- package/dist/core/ingestion/languages/java/spring-di.js +44 -2
- package/dist/core/ingestion/languages/java/spring-dynamic-lookup.d.ts +8 -0
- package/dist/core/ingestion/languages/java/spring-dynamic-lookup.js +62 -0
- package/dist/core/ingestion/languages/java/spring-message-producers.d.ts +20 -0
- package/dist/core/ingestion/languages/java/spring-message-producers.js +83 -0
- package/dist/core/ingestion/languages/java/spring-non-http-handlers.d.ts +11 -1
- package/dist/core/ingestion/languages/java/spring-non-http-handlers.js +13 -3
- package/dist/core/ingestion/languages/java.js +18 -8
- package/dist/core/ingestion/languages/jvm/accessor-synthesis.d.ts +99 -0
- package/dist/core/ingestion/languages/jvm/accessor-synthesis.js +173 -0
- package/dist/core/ingestion/languages/jvm/beanspec.d.ts +17 -0
- package/dist/core/ingestion/languages/jvm/beanspec.js +42 -0
- package/dist/core/ingestion/languages/kotlin/capture-side-channel.d.ts +15 -0
- package/dist/core/ingestion/languages/kotlin/capture-side-channel.js +50 -0
- package/dist/core/ingestion/languages/kotlin/captures.js +24 -1
- package/dist/core/ingestion/languages/kotlin/lombok-synthesizer.d.ts +26 -0
- package/dist/core/ingestion/languages/kotlin/lombok-synthesizer.js +417 -0
- package/dist/core/ingestion/languages/kotlin/scope-resolver.js +4 -0
- package/dist/core/ingestion/languages/kotlin/spring-actuator.d.ts +4 -0
- package/dist/core/ingestion/languages/kotlin/spring-actuator.js +172 -0
- package/dist/core/ingestion/languages/kotlin/spring-config-bindings.d.ts +18 -0
- package/dist/core/ingestion/languages/kotlin/spring-config-bindings.js +411 -0
- package/dist/core/ingestion/languages/kotlin/spring-di.d.ts +51 -1
- package/dist/core/ingestion/languages/kotlin/spring-di.js +86 -6
- package/dist/core/ingestion/languages/kotlin/spring-dynamic-lookup.d.ts +8 -0
- package/dist/core/ingestion/languages/kotlin/spring-dynamic-lookup.js +77 -0
- package/dist/core/ingestion/languages/kotlin/spring-message-producers.d.ts +17 -0
- package/dist/core/ingestion/languages/kotlin/spring-message-producers.js +119 -0
- package/dist/core/ingestion/languages/kotlin/spring-non-http-handlers.d.ts +16 -0
- package/dist/core/ingestion/languages/kotlin/spring-non-http-handlers.js +77 -2
- package/dist/core/ingestion/languages/kotlin.js +24 -0
- package/dist/core/ingestion/languages/python.js +2 -0
- package/dist/core/ingestion/languages/rust/query.js +8 -8
- package/dist/core/ingestion/languages/zig/captures.d.ts +260 -0
- package/dist/core/ingestion/languages/zig/captures.js +2070 -0
- package/dist/core/ingestion/languages/zig/index.d.ts +4 -0
- package/dist/core/ingestion/languages/zig/index.js +4 -0
- package/dist/core/ingestion/languages/zig/interpret.d.ts +36 -0
- package/dist/core/ingestion/languages/zig/interpret.js +176 -0
- package/dist/core/ingestion/languages/zig/query.d.ts +3 -0
- package/dist/core/ingestion/languages/zig/query.js +426 -0
- package/dist/core/ingestion/languages/zig/range-binding.d.ts +37 -0
- package/dist/core/ingestion/languages/zig/range-binding.js +373 -0
- package/dist/core/ingestion/languages/zig/scope-resolver.d.ts +12 -0
- package/dist/core/ingestion/languages/zig/scope-resolver.js +58 -0
- package/dist/core/ingestion/languages/zig/simple-hooks.d.ts +25 -0
- package/dist/core/ingestion/languages/zig/simple-hooks.js +143 -0
- package/dist/core/ingestion/languages/zig.d.ts +32 -0
- package/dist/core/ingestion/languages/zig.js +130 -0
- package/dist/core/ingestion/method-extractors/configs/zig.d.ts +2 -0
- package/dist/core/ingestion/method-extractors/configs/zig.js +120 -0
- package/dist/core/ingestion/method-extractors/generic.js +16 -4
- package/dist/core/ingestion/method-types.d.ts +10 -4
- package/dist/core/ingestion/model/field-registry.d.ts +3 -3
- package/dist/core/ingestion/model/field-registry.js +11 -7
- package/dist/core/ingestion/model/method-registry.d.ts +3 -3
- package/dist/core/ingestion/model/method-registry.js +13 -8
- package/dist/core/ingestion/model/registration-table.js +3 -0
- package/dist/core/ingestion/model/type-registry.js +8 -4
- package/dist/core/ingestion/pipeline-phases/di.js +47 -14
- package/dist/core/ingestion/pipeline-phases/index.d.ts +1 -0
- package/dist/core/ingestion/pipeline-phases/index.js +1 -0
- package/dist/core/ingestion/pipeline-phases/parse-impl.d.ts +7 -1
- package/dist/core/ingestion/pipeline-phases/parse-impl.js +79 -91
- package/dist/core/ingestion/pipeline-phases/parse.d.ts +17 -0
- package/dist/core/ingestion/pipeline-phases/processes.d.ts +2 -1
- package/dist/core/ingestion/pipeline-phases/processes.js +39 -4
- package/dist/core/ingestion/pipeline-phases/routes.js +27 -18
- package/dist/core/ingestion/pipeline-phases/runner.d.ts +4 -1
- package/dist/core/ingestion/pipeline-phases/runner.js +34 -14
- package/dist/core/ingestion/pipeline-phases/scan.js +82 -1
- package/dist/core/ingestion/pipeline-phases/spring-auto-configuration.d.ts +2 -0
- package/dist/core/ingestion/pipeline-phases/spring-auto-configuration.js +8 -0
- package/dist/core/ingestion/pipeline-phases/spring-destinations.d.ts +123 -0
- package/dist/core/ingestion/pipeline-phases/spring-destinations.js +688 -0
- package/dist/core/ingestion/pipeline.d.ts +30 -1
- package/dist/core/ingestion/pipeline.js +52 -14
- package/dist/core/ingestion/resolve-references.js +5 -0
- package/dist/core/ingestion/route-extractors/constant-resolver.d.ts +16 -0
- package/dist/core/ingestion/route-extractors/constant-resolver.js +10 -0
- package/dist/core/ingestion/route-extractors/java-const-resolver.d.ts +27 -1
- package/dist/core/ingestion/route-extractors/java-const-resolver.js +161 -13
- package/dist/core/ingestion/route-extractors/kotlin-const-resolver.d.ts +12 -18
- package/dist/core/ingestion/route-extractors/kotlin-const-resolver.js +214 -33
- package/dist/core/ingestion/route-extractors/kotlin-spring.d.ts +13 -0
- package/dist/core/ingestion/route-extractors/kotlin-spring.js +259 -0
- package/dist/core/ingestion/route-extractors/python-decorator-handler.d.ts +6 -0
- package/dist/core/ingestion/route-extractors/python-decorator-handler.js +16 -0
- package/dist/core/ingestion/route-extractors/spring-shared.d.ts +30 -1
- package/dist/core/ingestion/route-extractors/spring-shared.js +77 -9
- package/dist/core/ingestion/route-extractors/spring.js +9 -5
- package/dist/core/ingestion/scope-extractor.js +8 -0
- package/dist/core/ingestion/scope-resolution/contract/scope-resolver.d.ts +62 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/edges.d.ts +4 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/edges.js +2 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/ids.js +28 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/node-lookup.js +11 -2
- package/dist/core/ingestion/scope-resolution/graph-bridge/references-to-edges.d.ts +23 -2
- package/dist/core/ingestion/scope-resolution/graph-bridge/references-to-edges.js +24 -3
- package/dist/core/ingestion/scope-resolution/passes/callable-value-flow.d.ts +11 -1
- package/dist/core/ingestion/scope-resolution/passes/callable-value-flow.js +26 -6
- package/dist/core/ingestion/scope-resolution/passes/compound-receiver.d.ts +11 -0
- package/dist/core/ingestion/scope-resolution/passes/compound-receiver.js +29 -3
- package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.d.ts +8 -1
- package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.js +35 -9
- package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.d.ts +1 -4
- package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.js +277 -9
- package/dist/core/ingestion/scope-resolution/pipeline/registry.js +2 -0
- package/dist/core/ingestion/scope-resolution/pipeline/run.js +7 -3
- package/dist/core/ingestion/scope-resolution/scope/walkers.d.ts +43 -9
- package/dist/core/ingestion/scope-resolution/scope/walkers.js +71 -10
- package/dist/core/ingestion/tree-sitter-queries.d.ts +1 -0
- package/dist/core/ingestion/tree-sitter-queries.js +161 -0
- package/dist/core/ingestion/type-extractors/zig.d.ts +2 -0
- package/dist/core/ingestion/type-extractors/zig.js +17 -0
- package/dist/core/ingestion/utils/ast-helpers.d.ts +40 -1
- package/dist/core/ingestion/utils/ast-helpers.js +124 -6
- package/dist/core/ingestion/utils/callable-flow-captures.d.ts +9 -0
- package/dist/core/ingestion/utils/callable-flow-captures.js +75 -14
- package/dist/core/ingestion/utils/test-file-path.d.ts +28 -0
- package/dist/core/ingestion/utils/test-file-path.js +87 -0
- package/dist/core/ingestion/variable-extractors/configs/zig.d.ts +2 -0
- package/dist/core/ingestion/variable-extractors/configs/zig.js +71 -0
- package/dist/core/ingestion/workers/parse-worker.js +85 -14
- package/dist/core/install-context.d.ts +4 -0
- package/dist/core/install-context.js +152 -0
- package/dist/core/lbug/csv-generator.d.ts +10 -1
- package/dist/core/lbug/csv-generator.js +92 -22
- package/dist/core/lbug/graph-emit-sink.d.ts +3 -2
- package/dist/core/lbug/graph-emit-sink.js +4 -2
- package/dist/core/lbug/lbug-adapter.d.ts +100 -5
- package/dist/core/lbug/lbug-adapter.js +236 -24
- package/dist/core/lbug/schema.d.ts +6 -5
- package/dist/core/lbug/schema.js +84 -22
- package/dist/core/net/url-guard.d.ts +6 -0
- package/dist/core/net/url-guard.js +147 -0
- package/dist/core/package-version.d.ts +5 -0
- package/dist/core/package-version.js +10 -0
- package/dist/core/run-analyze.d.ts +21 -4
- package/dist/core/run-analyze.js +426 -117
- package/dist/core/search/fts-indexes.d.ts +19 -1
- package/dist/core/search/fts-indexes.js +28 -1
- package/dist/core/tree-sitter/parser-loader.js +16 -0
- package/dist/core/update-cache.d.ts +39 -0
- package/dist/core/update-cache.js +141 -0
- package/dist/core/update-check.d.ts +31 -0
- package/dist/core/update-check.js +274 -0
- package/dist/mcp/local/local-backend.d.ts +27 -13
- package/dist/mcp/local/local-backend.js +148 -60
- package/dist/mcp/repository-policy.d.ts +5 -1
- package/dist/mcp/repository-policy.js +48 -4
- package/dist/mcp/resources.js +10 -1
- package/dist/mcp/server.js +8 -9
- package/dist/mcp/tools.js +32 -22
- package/dist/server/analyze-launch.d.ts +2 -0
- package/dist/server/analyze-launch.js +2 -0
- package/dist/server/analyze-worker-protocol.d.ts +6 -1
- package/dist/server/analyze-worker.d.ts +1 -0
- package/dist/server/analyze-worker.js +38 -20
- package/dist/server/api.d.ts +5 -1
- package/dist/server/api.js +105 -88
- package/dist/server/git-clone.d.ts +40 -16
- package/dist/server/git-clone.js +253 -199
- package/dist/server/grep-params.d.ts +18 -0
- package/dist/server/grep-params.js +83 -0
- package/dist/server/grep-scan.d.ts +23 -0
- package/dist/server/grep-scan.js +107 -0
- package/dist/server/grep-worker.d.ts +1 -0
- package/dist/server/grep-worker.js +12 -0
- package/dist/server/mcp-http.d.ts +8 -0
- package/dist/server/mcp-http.js +16 -1
- package/dist/server/update-controller.d.ts +29 -0
- package/dist/server/update-controller.js +82 -0
- package/dist/storage/file-lock.d.ts +15 -0
- package/dist/storage/file-lock.js +155 -0
- package/dist/storage/fs-atomic.d.ts +24 -0
- package/dist/storage/fs-atomic.js +86 -2
- package/dist/storage/global-dir.d.ts +2 -0
- package/dist/storage/global-dir.js +6 -0
- package/dist/storage/parse-cache.d.ts +45 -7
- package/dist/storage/parse-cache.js +189 -42
- package/dist/storage/parsedfile-store.d.ts +41 -60
- package/dist/storage/parsedfile-store.js +247 -171
- package/dist/storage/repo-manager.d.ts +10 -4
- package/dist/storage/repo-manager.js +35 -25
- package/dist/storage/repo-meta.d.ts +34 -0
- package/dist/storage/v8-sidecar.d.ts +48 -0
- package/dist/storage/v8-sidecar.js +347 -0
- package/dist/types/pipeline.d.ts +14 -0
- package/dist/utils/process-identity.d.ts +2 -0
- package/dist/utils/process-identity.js +35 -0
- package/package.json +10 -4
- package/scripts/assert-web-assets.mjs +35 -0
- package/scripts/build-web.js +72 -0
- package/scripts/build.js +31 -28
- package/scripts/cross-platform-tests.ts +5 -0
- package/skills/gitnexus-cli.md +5 -1
- package/web/assets/ProcessFlowModal-DAeX2BHW.js +24 -0
- package/web/assets/{abnfDiagram-QNN2D4NM-Cq2djWWe.js → abnfDiagram-PAR5IXJI-J3OdeHLl.js} +1 -1
- package/web/assets/{agent-BWAXPjC5.js → agent-BMRqXorA.js} +6 -4
- package/web/assets/architecture-7GRP2DOG-M7G3SWCO-G3sWyX6M.js +1 -0
- package/web/assets/architectureDiagram-2PNWDENW-ysKcRlGT.js +36 -0
- package/web/assets/blockDiagram-PUWGUBOA-oLXTa1lY.js +129 -0
- package/web/assets/c4Diagram-3NLNHZP5-D3iu4eC0.js +38 -0
- package/web/assets/{chunk-2SREHG4O-Dip42xOq.js → chunk-2NMSUPJH-B24w-wng.js} +1 -1
- package/web/assets/{chunk-VJFVEZTB-CX66F2ep.js → chunk-32MCUW2P-ByUyt0Sa.js} +3 -3
- package/web/assets/{chunk-4RFN2BYJ-DHHWuC-n.js → chunk-3NPNU5GP-DocZ07Sg.js} +1 -1
- package/web/assets/{chunk-XNMVGMAZ-Cg_LnPtj.js → chunk-3SMGFRGC-CAu4JRLv.js} +1 -1
- package/web/assets/{chunk-W44A43WB-BN8EQc_u.js → chunk-4CAJECRU-DRYMwG9z.js} +1 -1
- package/web/assets/chunk-4OADUZ5Q-CxrSvOwZ.js +10 -0
- package/web/assets/{chunk-DMV4VAQV-Bn6WXDSX.js → chunk-5IQCK5RY-CCMhl4so.js} +2 -2
- package/web/assets/{chunk-RRFMTAIC-CMN0wcYA.js → chunk-5MVFYWFU-Db9KvrYO.js} +1 -1
- package/web/assets/chunk-CLS4B6BI-Uvx5QNsu.js +168 -0
- package/web/assets/chunk-DZP67EKU-B3Mt380j.js +70 -0
- package/web/assets/{chunk-6L755F7B-CMhLBxi2.js → chunk-EICP7K5X-CqwE9hui.js} +1 -1
- package/web/assets/{chunk-BI6VK774-D0oaWk8V.js → chunk-GDY2UAB4-CtQQR0a8.js} +1 -1
- package/web/assets/chunk-H7VHZCWX-CE1nAmt6.js +1 -0
- package/web/assets/chunk-IJBDOHL6-BUKtY6oF.js +1 -0
- package/web/assets/{chunk-OIYT25JQ-CQ6KOZGX.js → chunk-JFFVMJIA-0fJenqia.js} +1 -1
- package/web/assets/{chunk-HNC4WDU7-DoU3KnA7.js → chunk-JZGDI5JK-BeTMSSkJ.js} +1 -1
- package/web/assets/{chunk-EQFTRU2I-1ix7TzW9.js → chunk-KD6SPIPN-Qp1Pflah.js} +1 -1
- package/web/assets/chunk-NF366YI6-CpSpya3n.js +231 -0
- package/web/assets/chunk-NUDPKBEF-CU1-BQIW.js +34 -0
- package/web/assets/{chunk-SATU7PGQ-B1zhgOvc.js → chunk-OJINMHTS-zOCQe4eI.js} +1 -1
- package/web/assets/{chunk-E5QJAATJ-dh-5CtIV.js → chunk-Q6NGPIAH-yyBomb63.js} +1 -1
- package/web/assets/chunk-QJSWEUOL-D_rf9gPD.js +128 -0
- package/web/assets/chunk-R7JDMUKV-CRoqKpD6.js +1 -0
- package/web/assets/{chunk-VE5CLXGZ-C1vB7wpY.js → chunk-RCXAM2GK-CUqrWQDV.js} +1 -1
- package/web/assets/{chunk-66DQ2XMT-CM0xjFAN.js → chunk-RT4MAWR3-zXy9-Lvt.js} +1 -1
- package/web/assets/{chunk-TZUXEDM2-B7p9AcTw.js → chunk-SFMINX4W-J2UrvMpD.js} +1 -1
- package/web/assets/{chunk-LORZLZWG-B57uGw2N.js → chunk-SLDQ463B-CHY6e_bQ.js} +2 -2
- package/web/assets/{chunk-FWYVLQTC-BgDItRzJ.js → chunk-TCEHX7R3-CXPDEVbm.js} +1 -1
- package/web/assets/{chunk-224SPVON-B8gxtXpy.js → chunk-VQC2EELJ-Dc8fIy4R.js} +1 -1
- package/web/assets/chunk-VRZKL3EH-DB3KixTQ.js +1 -0
- package/web/assets/{chunk-A7VWPJGB-B4O3oQdQ.js → chunk-VTHDQ7BV-b7FsPQZO.js} +1 -1
- package/web/assets/chunk-VY2OSTJR-Dkgc3Brg.js +2 -0
- package/web/assets/chunk-WUBWJARI-7FwILJ3k.js +2 -0
- package/web/assets/{chunk-D6VWDJW2-BxcBdZ9c.js → chunk-YBMQ5JGJ-BSnyWZmd.js} +1 -1
- package/web/assets/chunk-YDMLL4PJ-IHhMngTz.js +2 -0
- package/web/assets/chunk-Z6V44ARX-BjCEsF0Q.js +62 -0
- package/web/assets/chunk-ZJJ7VQJP-Dz089b-K.js +321 -0
- package/web/assets/chunk-ZNLK7HRR-B0iFpmW4.js +1 -0
- package/web/assets/chunk-ZQN7UHIL-Cy7KAjQt.js +1 -0
- package/web/assets/{chunk-L5GCOVLC-CE2w8Nm_.js → chunk-ZS6VBONO-DBjJO0w9.js} +2 -2
- package/web/assets/{chunk-NV3KIAZN-5yvcpMiu.js → chunk-ZUNWM646-DNRJyNPe.js} +1 -1
- package/web/assets/classDiagram-FGAMPOII-C5Ibyode.js +1 -0
- package/web/assets/classDiagram-v2-AI5RJEK4-C5Ibyode.js +1 -0
- package/web/assets/{cose-bilkent-RZA4XIPR-BHpK4Crp.js → cose-bilkent-Q72C2OJ3-DMeFXnK8.js} +1 -1
- package/web/assets/cynefin-OW5HDTMX-6OCTWOGG-vlqakYcO.js +1 -0
- package/web/assets/{cynefinDiagram-TR7LZUCG-C3Iar9lZ.js → cynefinDiagram-2OOWUY4M-BY6DZkTt.js} +1 -1
- package/web/assets/dagre-MPVFI544-DWO70fy_.js +4 -0
- package/web/assets/diagram-AE4NWXFW-f7JRVRUL.js +24 -0
- package/web/assets/{diagram-L7DVE3PN-GIRyVUtt.js → diagram-BUJID5UG-BXZv1rCS.js} +2 -2
- package/web/assets/{diagram-JCD7PQ7C-DC5-9FRr.js → diagram-C44CZ5NI-CRNfvjCq.js} +1 -1
- package/web/assets/diagram-EYOLEXXS-DZOjKQVE.js +30 -0
- package/web/assets/diagram-P7B6PWOJ-D3SQmw3_.js +3 -0
- package/web/assets/{ebnfDiagram-DRHRQJWO-D8_CI4ZF.js → ebnfDiagram-FTPZ3PV6-jKWpIDN2.js} +1 -1
- package/web/assets/erDiagram-H3ERR26V-BqJntEuJ.js +99 -0
- package/web/assets/eventmodeling-NTZA5JFV-WKSWQHFS-Bq4FqtBL.js +1 -0
- package/web/assets/flowDiagram-YHGXBVSY-Dnlk2bEu.js +1 -0
- package/web/assets/ganttDiagram-RWFTB7ED-Bl6Y1K5T.js +292 -0
- package/web/assets/gitGraph-4MIJSDKK-JH2HKYUO-B3yc4GkH.js +1 -0
- package/web/assets/gitGraphDiagram-MAR6GKOP-CkNvsrdw.js +106 -0
- package/web/assets/{index-CJDpyH-n.css → index-C2_aej58.css} +1 -1
- package/web/assets/{index-DDRie6_8.js → index-Dj3vQOHK.js} +51 -51
- package/web/assets/info-A6RAGUB7-3TX3OFWW-BM3N5_Dv.js +1 -0
- package/web/assets/infoDiagram-LV547AFH-COkFutAf.js +2 -0
- package/web/assets/{ishikawaDiagram-4JDSWWDM-DmqWtjkl.js → ishikawaDiagram-PUJQGNDS-Bb8FylSR.js} +2 -2
- package/web/assets/{journeyDiagram-QUS3FAKT-XAzVzrQW.js → journeyDiagram-EW5QJT4W-BzoHUBhM.js} +4 -4
- package/web/assets/{kanban-definition-D4L7SQKK-YurRnmYn.js → kanban-definition-JSQERAZB-Uy2Pi0yQ.js} +4 -4
- package/web/assets/katex-CZ4GXH2S-C0Fcou7U.js +257 -0
- package/web/assets/{mindmap-definition-66QP5TD6-ChrWWnil.js → mindmap-definition-VBJCLQLM-B-CnOnt_.js} +3 -3
- package/web/assets/packet-AYTQ26CC-MKII6P3Y-Bd52ZE3V.js +1 -0
- package/web/assets/{pegDiagram-YKIO5C6U-QGeQLEq2.js → pegDiagram-7WILOQTJ-D9sneKXg.js} +1 -1
- package/web/assets/pie-WAS4IAKB-6B4OPMJ5-DW5Xy69Z.js +1 -0
- package/web/assets/pieDiagram-EFA7CBSB-Dx2NQofL.js +39 -0
- package/web/assets/{quadrantDiagram-VO5QLCXA-B7098wSc.js → quadrantDiagram-WARVYA7P-DPKL9_0A.js} +3 -3
- package/web/assets/radar-RG4KPBEZ-UPTR3XUL-CkzibT2h.js +1 -0
- package/web/assets/railroad-74A4TZTK-MEFUPFMS-D9zF-mDN.js +1 -0
- package/web/assets/railroad-abnf-HS5TGJTU-R5YG2S5D-ruacjUbX.js +1 -0
- package/web/assets/railroad-ebnf-LZEXJU2U-G5QEX2L6-S1zc5OiO.js +1 -0
- package/web/assets/railroad-peg-WCYAUIDC-H5I2ZRY2-Cbcr0XzY.js +1 -0
- package/web/assets/{railroadDiagram-M77LTMSB-AXu4vxk_.js → railroadDiagram-5NIQVNLQ-DsweTo14.js} +1 -1
- package/web/assets/{requirementDiagram-RASO5HTO-B-l8InpK.js → requirementDiagram-SXREGOKZ-CXwdNSVR.js} +4 -4
- package/web/assets/{sankeyDiagram-F32LOJ6L-Kd7zjJgX.js → sankeyDiagram-VV74M2VP-CA6jtP9P.js} +3 -3
- package/web/assets/{sequenceDiagram-URATNSBD-BlcdY9DS.js → sequenceDiagram-52ZFIFDL-k_5rEbzm.js} +15 -15
- package/web/assets/src-Df5C1Nz4.js +1 -0
- package/web/assets/stateDiagram-3QAKPIVI-BejHTf31.js +1 -0
- package/web/assets/stateDiagram-v2-HN2P4RDZ-BrfoRuOc.js +1 -0
- package/web/assets/swimlanes-QLVP42QD-CQSVO5D6.js +1 -0
- package/web/assets/swimlanesDiagram-JKPDBFCN-DrWB9kcD.js +8 -0
- package/web/assets/{timeline-definition-WJXWRH4I-DUfp1R3E.js → timeline-definition-GS45XAXW-C0Ks8rPP.js} +4 -4
- package/web/assets/treeView-Q6P3EWNA-ZRJGANNQ-DmKOCo6L.js +1 -0
- package/web/assets/treemap-WGGIJYW6-K64VN5AS-DO3xY92U.js +1 -0
- package/web/assets/{vennDiagram-K3VCMQLI-Bj-FN-XS.js → vennDiagram-QIQU2ZRJ-rgPiS837.js} +3 -3
- package/web/assets/wardley-WFR3VGLG-D67OWCCH-DiDPBNft.js +1 -0
- package/web/assets/wardleyDiagram-U6YNM66N-DRVr7SPi.js +78 -0
- package/web/assets/{xychartDiagram-5VRUVLCW-CK_rbSWE.js → xychartDiagram-XJAZEDNM-COtlZzYb.js} +3 -3
- package/web/index.html +19 -17
- package/web/assets/ProcessFlowModal-Badh2Pbg.js +0 -24
- package/web/assets/architecture-TIHT7OUA-V6N4J3SY-fTePvLoe.js +0 -1
- package/web/assets/architectureDiagram-OT7VKSJ7-mKEXxkeF.js +0 -36
- package/web/assets/blockDiagram-54WLDVWM-Dg_hrRWE.js +0 -132
- package/web/assets/c4Diagram-X2LASM7V-CnhoT4aV.js +0 -10
- package/web/assets/chunk-2AEHWXPW-CV4r6-1I.js +0 -127
- package/web/assets/chunk-5VCL7Z4A-CQ-2dYWj.js +0 -1
- package/web/assets/chunk-6BELYETK-ChsYtfHW.js +0 -1
- package/web/assets/chunk-7CWYLC5S-DRgGkkpF.js +0 -2
- package/web/assets/chunk-7FYTHRHK-CsmYIswB.js +0 -32
- package/web/assets/chunk-KRXBNO2N-C-UNuKKf.js +0 -1
- package/web/assets/chunk-LAHSG3N2-Bz4hcn0N.js +0 -321
- package/web/assets/chunk-LIEV3EAG-pyKGssV3.js +0 -1
- package/web/assets/chunk-NLANEA3F-XpH_NPA5.js +0 -62
- package/web/assets/chunk-PE7DX7ZZ-CCvRVj43.js +0 -10
- package/web/assets/chunk-Q67WD55A-BWCH2SVz.js +0 -156
- package/web/assets/chunk-SZD42YQK-ijyKKVr1.js +0 -70
- package/web/assets/chunk-TFPGFQPA-Dj6a-0pC.js +0 -231
- package/web/assets/chunk-TGVD4F4B-BMc31Gj2.js +0 -2
- package/web/assets/chunk-UAT7B5JY-DW-A_fpI.js +0 -1
- package/web/assets/chunk-VY5UBI4V-yxPQAWxw.js +0 -1
- package/web/assets/chunk-WJBAP47W-BckNkuEN.js +0 -1
- package/web/assets/classDiagram-VPOSVPXH-BjOiXA_C.js +0 -1
- package/web/assets/classDiagram-v2-5VFNUXQA-BjOiXA_C.js +0 -1
- package/web/assets/cynefin-VYW2F7L2-2VAHYKR6-DAsF6GZv.js +0 -1
- package/web/assets/dagre-K64A6Z3X-CUwi79mA.js +0 -4
- package/web/assets/diagram-2TLGJV2N-C2F5Nfym.js +0 -30
- package/web/assets/diagram-KFBZAVDW-Dfmf_4ti.js +0 -3
- package/web/assets/diagram-YP3FGXHI-CyNFYtkd.js +0 -24
- package/web/assets/erDiagram-SZLJLQMB-CohQjznC.js +0 -85
- package/web/assets/eventmodeling-45OFAUF4-AOUJWSLX-BvTc6iQi.js +0 -1
- package/web/assets/flowDiagram-BWE6NHOH-B6RnEvD9.js +0 -1
- package/web/assets/ganttDiagram-2QTCJSNI-Cks_mEcF.js +0 -292
- package/web/assets/gitGraph-TEB2WS4Q-U5VWYIBC-Dy7CCSZ5.js +0 -1
- package/web/assets/gitGraphDiagram-VVZAVV5G-CG41cIVc.js +0 -106
- package/web/assets/info-DKCQHKI2-DX6KST54-BLJg1ikX.js +0 -1
- package/web/assets/infoDiagram-FY4PZKRE-BJ3vPVwW.js +0 -2
- package/web/assets/katex-C5OPUE3Q-Bnbavtmu.js +0 -257
- package/web/assets/packet-7NZHBO7P-5WG45QPS-KUxcuvaA.js +0 -1
- package/web/assets/pie-RZYD4A2V-2OCZ2VTD-DPs08kJY.js +0 -1
- package/web/assets/pieDiagram-YPY3TKG5-BuT3MYzm.js +0 -39
- package/web/assets/radar-I7S5WNFK-EPLSA35B-w5F0K3a7.js +0 -1
- package/web/assets/railroad-3IZDKUUU-PWFQV6Y6-Bu668yqY.js +0 -1
- package/web/assets/railroad-abnf-AHOZXSZD-JYYJX3BS-B6ghpETS.js +0 -1
- package/web/assets/railroad-ebnf-EBAXGLYW-RBZ4ONAP-D-XmHh3M.js +0 -1
- package/web/assets/railroad-peg-LSFZ7HO6-KHNPXGPG-mhkrhzEn.js +0 -1
- package/web/assets/src-C5sx_gMp.js +0 -1
- package/web/assets/stateDiagram-DODFXNG5-DTdHc-fF.js +0 -1
- package/web/assets/stateDiagram-v2-JNMM5JRA-DioNLDDo.js +0 -1
- package/web/assets/swimlanes-OSWOYLSK-CA0ofdwY.js +0 -2
- package/web/assets/swimlanesDiagram-RHGX2RDE-PkwUdckC.js +0 -8
- package/web/assets/treeView-QDETBFTQ-EHYTSQNO-C5lpBgPm.js +0 -1
- package/web/assets/treemap-6X3UGDF4-CCWCF7EK-BB0ZyO-B.js +0 -1
- package/web/assets/wardley-OPB4EBWU-6OWERDVT-CEA3Nq0j.js +0 -1
- package/web/assets/wardleyDiagram-XK6FUAWV-CVV0dHFr.js +0 -78
- /package/web/assets/{sizeCapture-5GORAGP4-BEqQzsxs.js → sizeCapture-FGA5AGYP-BEqQzsxs.js} +0 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One-line identity printed before every CLI action:
|
|
3
|
+
* `GitNexus Analyzer (1.6.10)`. Goes to stderr so stdout stays
|
|
4
|
+
* pipe/JSON-safe (`gitnexus query … | jq`, `status --json`).
|
|
5
|
+
*/
|
|
6
|
+
import { packageVersion } from '../core/package-version.js';
|
|
7
|
+
const SKIP_COMMAND_BANNER = new Set(['__update-check', 'help']);
|
|
8
|
+
const SPECIAL_TITLES = {
|
|
9
|
+
analyze: 'Analyzer',
|
|
10
|
+
mcp: 'MCP',
|
|
11
|
+
};
|
|
12
|
+
export function installedCliVersion() {
|
|
13
|
+
return packageVersion();
|
|
14
|
+
}
|
|
15
|
+
export function commandDisplayName(name) {
|
|
16
|
+
return (SPECIAL_TITLES[name] ??
|
|
17
|
+
name
|
|
18
|
+
.split('-')
|
|
19
|
+
.filter(Boolean)
|
|
20
|
+
.map((part) => part.charAt(0).toUpperCase() + part.slice(1))
|
|
21
|
+
.join(' '));
|
|
22
|
+
}
|
|
23
|
+
export function commandBannerTitle(command) {
|
|
24
|
+
const names = [];
|
|
25
|
+
for (let current = command; current?.parent; current = current.parent) {
|
|
26
|
+
names.unshift(current.name());
|
|
27
|
+
}
|
|
28
|
+
return names.map(commandDisplayName).join(' ');
|
|
29
|
+
}
|
|
30
|
+
export function formatCommandBanner(title, version = installedCliVersion()) {
|
|
31
|
+
if (!title)
|
|
32
|
+
return '';
|
|
33
|
+
return version ? `\n GitNexus ${title} (${version})\n` : `\n GitNexus ${title}\n`;
|
|
34
|
+
}
|
|
35
|
+
export function writeCommandBanner(command, deps = {}) {
|
|
36
|
+
if (SKIP_COMMAND_BANNER.has(command.name()))
|
|
37
|
+
return;
|
|
38
|
+
const text = formatCommandBanner(commandBannerTitle(command), deps.version ?? installedCliVersion());
|
|
39
|
+
if (!text)
|
|
40
|
+
return;
|
|
41
|
+
(deps.write ?? ((line) => process.stderr.write(line)))(text);
|
|
42
|
+
}
|
|
@@ -20,6 +20,27 @@ export function formatDetectChangesResult(result) {
|
|
|
20
20
|
if (payload.truncated)
|
|
21
21
|
notes.push(t(payload.partial ? 'tool.detectChanges.truncatedDegraded' : 'tool.detectChanges.truncated'));
|
|
22
22
|
if ((summary.changed_count ?? 0) === 0) {
|
|
23
|
+
// Parse-fail payloads set `partial` and an honest `message` (#2915/#3131).
|
|
24
|
+
// Production *clean* trees also set English `message: 'No changes detected.'`
|
|
25
|
+
// — that must go through `t('tool.detectChanges.noChanges')` or zh-CN never
|
|
26
|
+
// fires. Only pass the backend string through on a degraded/parse-fail run.
|
|
27
|
+
if (payload.partial &&
|
|
28
|
+
typeof summary.message === 'string' &&
|
|
29
|
+
summary.message.trim().length > 0) {
|
|
30
|
+
return [...notes, summary.message.trim()].join('\n');
|
|
31
|
+
}
|
|
32
|
+
// Confirmed no-overlap: files parsed, mapping succeeded, zero symbols.
|
|
33
|
+
// `queryDegraded` is `partial: true` with the same counts and no message —
|
|
34
|
+
// do not call that a confirmed mapping (#3131 honesty).
|
|
35
|
+
if (!payload.partial && (summary.changed_files ?? 0) > 0) {
|
|
36
|
+
return [
|
|
37
|
+
...notes,
|
|
38
|
+
t('tool.detectChanges.noOverlappingSymbols', { files: summary.changed_files }),
|
|
39
|
+
].join('\n');
|
|
40
|
+
}
|
|
41
|
+
if (payload.partial) {
|
|
42
|
+
return notes.join('\n');
|
|
43
|
+
}
|
|
23
44
|
return [...notes, t('tool.detectChanges.noChanges')].join('\n');
|
|
24
45
|
}
|
|
25
46
|
const lines = [];
|
package/dist/cli/doctor.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type EmbeddingRuntimeResolution } from '../core/embeddings/runtime-install.js';
|
|
2
2
|
import { type NativeCheckResult } from '../core/lbug/native-check.js';
|
|
3
|
+
import { type ValidatedUpdateCache } from '../core/update-cache.js';
|
|
3
4
|
export declare function displayWidth(value: string): number;
|
|
4
5
|
export declare function padDisplayEnd(value: string, columns: number): string;
|
|
5
6
|
/**
|
|
@@ -59,4 +60,10 @@ export declare function poolSizeDoctorLine(pool: number, envRaw: string | undefi
|
|
|
59
60
|
* stderr right below said the opposite. Render what the check actually found.
|
|
60
61
|
*/
|
|
61
62
|
export declare function nativeStatusLine(check: NativeCheckResult): string;
|
|
63
|
+
export declare function cachedUpdateDoctorLine(options: {
|
|
64
|
+
installedVersion: string;
|
|
65
|
+
eligible: boolean;
|
|
66
|
+
env: NodeJS.ProcessEnv;
|
|
67
|
+
readCache: () => ValidatedUpdateCache | null;
|
|
68
|
+
}): string | null;
|
|
62
69
|
export declare const doctorCommand: () => Promise<void>;
|
package/dist/cli/doctor.js
CHANGED
|
@@ -8,7 +8,10 @@ import { checkLbugNative, probeFtsExtensionLoad, probeVectorExtensionLoad, } fro
|
|
|
8
8
|
import { getEffectiveBufferPoolSize, getOsPageSize, isPageSizeAwareLadybug, } from '../core/lbug/lbug-config.js';
|
|
9
9
|
import { diagnoseExtensionLoad } from '../core/lbug/extension-load-error.js';
|
|
10
10
|
import { getExtensionInstallPolicy } from '../core/lbug/extension-loader.js';
|
|
11
|
+
import { updateEligibleInstallSync } from '../core/install-context.js';
|
|
12
|
+
import { readValidatedUpdateCacheSync } from '../core/update-cache.js';
|
|
11
13
|
import { t } from './i18n/index.js';
|
|
14
|
+
import { cachedUpdateNoticeLine } from './update-notice.js';
|
|
12
15
|
function isCombiningMark(codePoint) {
|
|
13
16
|
return ((codePoint >= 0x0300 && codePoint <= 0x036f) ||
|
|
14
17
|
(codePoint >= 0x1ab0 && codePoint <= 0x1aff) ||
|
|
@@ -160,6 +163,9 @@ function nativeStatusText(check) {
|
|
|
160
163
|
return '✗ lbugjs.node missing';
|
|
161
164
|
}
|
|
162
165
|
}
|
|
166
|
+
export function cachedUpdateDoctorLine(options) {
|
|
167
|
+
return cachedUpdateNoticeLine(options);
|
|
168
|
+
}
|
|
163
169
|
export const doctorCommand = async () => {
|
|
164
170
|
const fingerprint = getRuntimeFingerprint();
|
|
165
171
|
const capabilities = getRuntimeCapabilities();
|
|
@@ -169,6 +175,14 @@ export const doctorCommand = async () => {
|
|
|
169
175
|
console.log(` ${label('doctor.labels.os', 10)}${fingerprint.platform}/${fingerprint.arch}`);
|
|
170
176
|
console.log(` ${label('doctor.labels.node', 10)}${fingerprint.node}`);
|
|
171
177
|
console.log(` ${label('doctor.labels.gitnexus', 10)}${fingerprint.gitnexus}`);
|
|
178
|
+
const updateLine = cachedUpdateDoctorLine({
|
|
179
|
+
installedVersion: fingerprint.gitnexus,
|
|
180
|
+
eligible: updateEligibleInstallSync(),
|
|
181
|
+
env: process.env,
|
|
182
|
+
readCache: () => readValidatedUpdateCacheSync(),
|
|
183
|
+
});
|
|
184
|
+
if (updateLine)
|
|
185
|
+
console.log(` ${updateLine}`);
|
|
172
186
|
console.log(` ${label('doctor.labels.ladybugdb', 10)}${fingerprint.ladybugdb ?? 'unknown'}`);
|
|
173
187
|
// OS page size next to the LadybugDB version because the two interact:
|
|
174
188
|
// @ladybugdb/core < 0.18.0 assumed 4 KiB pages in its buffer manager and
|
package/dist/cli/group.js
CHANGED
|
@@ -172,8 +172,9 @@ export function registerGroupCommands(program) {
|
|
|
172
172
|
.action(async (name, opts) => {
|
|
173
173
|
const { getGroupDir, getDefaultGitnexusDir } = await import('../core/group/storage.js');
|
|
174
174
|
const { loadGroupConfig } = await import('../core/group/config-parser.js');
|
|
175
|
-
const { syncGroup } = await import('../core/group/sync.js');
|
|
175
|
+
const { syncGroup, formatGroupSyncAmbiguousError } = await import('../core/group/sync.js');
|
|
176
176
|
const { GroupSyncLockError } = await import('../core/group/group-lock.js');
|
|
177
|
+
const { RegistryAmbiguousTargetError } = await import('../storage/repo-manager.js');
|
|
177
178
|
const groupDir = getGroupDir(getDefaultGitnexusDir(), name);
|
|
178
179
|
const config = await loadGroupConfig(groupDir);
|
|
179
180
|
console.log(`Syncing group "${name}" (${Object.keys(config.repos).length} repos)...\n`);
|
|
@@ -186,6 +187,11 @@ export function registerGroupCommands(program) {
|
|
|
186
187
|
});
|
|
187
188
|
}
|
|
188
189
|
catch (err) {
|
|
190
|
+
if (err instanceof RegistryAmbiguousTargetError) {
|
|
191
|
+
logger.error(`⚠️ Did not sync group "${name}": ${formatGroupSyncAmbiguousError(err)}`);
|
|
192
|
+
process.exitCode = 1;
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
189
195
|
// A sync that could not take the group's lock did NOT run and wrote
|
|
190
196
|
// nothing (R9 fails closed). That is an operator-actionable outcome, not
|
|
191
197
|
// a crash, so report it as a failed command rather than letting it
|
package/dist/cli/help-i18n.js
CHANGED
|
@@ -10,6 +10,8 @@ const COMMAND_DESCRIPTION_KEYS = {
|
|
|
10
10
|
'': 'help.description.root',
|
|
11
11
|
setup: 'help.command.setup.description',
|
|
12
12
|
uninstall: 'help.command.uninstall.description',
|
|
13
|
+
watch: 'help.command.watch.description',
|
|
14
|
+
'auto-sync': 'help.command.autoSync.description',
|
|
13
15
|
analyze: 'help.command.analyze.description',
|
|
14
16
|
index: 'help.command.index.description',
|
|
15
17
|
serve: 'help.command.serve.description',
|
|
@@ -17,6 +19,7 @@ const COMMAND_DESCRIPTION_KEYS = {
|
|
|
17
19
|
list: 'help.command.list.description',
|
|
18
20
|
status: 'help.command.status.description',
|
|
19
21
|
doctor: 'help.command.doctor.description',
|
|
22
|
+
update: 'help.command.update.description',
|
|
20
23
|
embeddings: 'help.command.embeddings.description',
|
|
21
24
|
'embeddings install': 'help.command.embeddings.install.description',
|
|
22
25
|
clean: 'help.command.clean.description',
|
|
@@ -47,6 +50,7 @@ const OPTION_DESCRIPTION_KEYS = {
|
|
|
47
50
|
'|-V, --version': 'help.option.version',
|
|
48
51
|
'setup|-c, --coding-agent <agents>': 'help.option.setup.codingAgent',
|
|
49
52
|
'analyze|-f, --force': 'help.option.analyze.force',
|
|
53
|
+
'analyze|--no-parse-cache': 'help.option.analyze.noParseCache',
|
|
50
54
|
'analyze|--repair-fts': 'help.option.analyze.repairFts',
|
|
51
55
|
'analyze|--embeddings [limit]': 'help.option.analyze.embeddings',
|
|
52
56
|
'analyze|--drop-embeddings': 'help.option.analyze.dropEmbeddings',
|
package/dist/cli/i18n/en.d.ts
CHANGED
|
@@ -7,6 +7,13 @@ export declare const en: {
|
|
|
7
7
|
readonly 'common.storage': "Storage";
|
|
8
8
|
readonly 'common.deleted': "Deleted: {{target}}";
|
|
9
9
|
readonly 'common.error': "Error: {{message}}";
|
|
10
|
+
readonly 'update.available': "GitNexus {{latestVersion}} is available (you are running {{installedVersion}}).";
|
|
11
|
+
readonly 'update.current': "GitNexus {{installedVersion}} is current or newer than the latest stable version.";
|
|
12
|
+
readonly 'update.installing': "Installing with {{command}}…";
|
|
13
|
+
readonly 'update.installed': "Installed gitnexus@{{version}}. Restart long-running mcp/serve processes.";
|
|
14
|
+
readonly 'update.installFailed': "npm install failed. You can retry: {{command}}";
|
|
15
|
+
readonly 'update.installError': "Could not run npm: {{message}}";
|
|
16
|
+
readonly 'update.checkFailed': "Could not check for updates (offline, private registry, or the check failed open).";
|
|
10
17
|
readonly 'list.title': "Indexed Repositories ({{count}})";
|
|
11
18
|
readonly 'list.indexed': "Indexed";
|
|
12
19
|
readonly 'list.commit': "Commit";
|
|
@@ -66,6 +73,7 @@ export declare const en: {
|
|
|
66
73
|
readonly 'tool.usage.cypher': "Usage: gitnexus cypher <cypher_query>";
|
|
67
74
|
readonly 'tool.warn.unknownKind': "--kind '{{kind}}' is not a known symbol kind (e.g. Function, Class, Method); it will not narrow the result.";
|
|
68
75
|
readonly 'tool.detectChanges.noChanges': "No changes detected.";
|
|
76
|
+
readonly 'tool.detectChanges.noOverlappingSymbols': "Diff touched {{files}} file(s) but no indexed symbols overlap those hunks — not a clean tree.";
|
|
69
77
|
readonly 'tool.detectChanges.partial': "PARTIAL RESULT: a graph query failed, so changed symbols may be missing. Do not read this as a clean pre-commit check.";
|
|
70
78
|
readonly 'tool.detectChanges.truncated': "LISTING CAPPED: the changed-symbol list was capped, so it does not name every changed symbol. The counts and risk level still cover all of them.";
|
|
71
79
|
readonly 'tool.detectChanges.truncatedDegraded': "LISTING CAPPED: the changed-symbol list was capped. The run also degraded, so the counts are a lower bound, not a total.";
|
|
@@ -124,6 +132,11 @@ export declare const en: {
|
|
|
124
132
|
readonly 'help.option.version': "output the version number";
|
|
125
133
|
readonly 'help.command.setup.description': "One-time setup: configure MCP for Cursor, Claude Code, Antigravity, OpenCode, CodeBuddy, Qoder, Codex";
|
|
126
134
|
readonly 'help.command.uninstall.description': "Reverse `setup`: remove GitNexus MCP entries, skills, and hooks from all detected editors";
|
|
135
|
+
readonly 'help.command.autoSync.description': "Control scheduled repository clone/pull and analysis from GITNEXUS_HOME/watch_config.yml";
|
|
136
|
+
readonly 'help.autoSync.details': "\nActions: init, start (default), restart, stop, status, reset\nConfiguration: GITNEXUS_HOME/watch_config.yml\nRuntime files: GITNEXUS_HOME/watch/watch.pid, watch.mutex, watch.owner.json, watch.status.json, auto-sync-state.json\nRecovery: mutexes with verified dead owners are reclaimed automatically; invalid or legacy mutexes fail closed and require manual removal after confirming no watch process is running.\nWrites: GITNEXUS_HOME/watch/project_commit_info.txt\nRemote URLs: only SSH URLs on github.com, gitlab.com, and gitee.com are allowed.\nRuns once immediately, then repeats on sync_interval_minutes.";
|
|
137
|
+
readonly 'help.command.watch.description': "Ambiguous: use `analyze --watch` for local files, or `auto-sync` for scheduled remotes";
|
|
138
|
+
readonly 'help.watch.details': "\n`gitnexus watch` does not start a watcher.\n Local working-tree incremental index: gitnexus analyze --watch\n Scheduled remote clone/pull + analyze: gitnexus auto-sync start\n";
|
|
139
|
+
readonly 'error.watch.ambiguous': "`gitnexus watch` is ambiguous.\n Local working-tree incremental index: gitnexus analyze --watch\n Scheduled remote clone/pull + analyze: gitnexus auto-sync start\n";
|
|
127
140
|
readonly 'help.command.analyze.description': "Index a repository (full analysis)";
|
|
128
141
|
readonly 'help.command.index.description': "Register an existing .gitnexus/ folder into the global registry (no re-analysis needed)";
|
|
129
142
|
readonly 'help.command.serve.description': "Start local HTTP server for web UI connection";
|
|
@@ -131,6 +144,7 @@ export declare const en: {
|
|
|
131
144
|
readonly 'help.command.list.description': "List all indexed repositories";
|
|
132
145
|
readonly 'help.command.status.description': "Show index status for current repo";
|
|
133
146
|
readonly 'help.command.doctor.description': "Show runtime platform capabilities and embedding configuration";
|
|
147
|
+
readonly 'help.command.update.description': "Install the latest published GitNexus globally (`npm i -g gitnexus@<x.y.z>`).";
|
|
134
148
|
readonly 'help.command.embeddings.description': "Manage the on-demand local embedding runtime";
|
|
135
149
|
readonly 'help.command.embeddings.install.description': "Install the local embedding stack (@huggingface/transformers + onnxruntime-node) on demand. Heals installs where npm skipped the optional packages (e.g. behind an HTTP proxy, #2370). Downloads only from your configured npm registry — mirrors and proxies apply.";
|
|
136
150
|
readonly 'help.command.clean.description': "Delete GitNexus index for current repo";
|
|
@@ -157,12 +171,13 @@ export declare const en: {
|
|
|
157
171
|
readonly 'help.command.group.query.description': "Search execution flows across all repos in a group";
|
|
158
172
|
readonly 'help.command.group.contracts.description': "Inspect Contract Registry";
|
|
159
173
|
readonly 'help.option.setup.codingAgent': "Configure only these coding agents (comma-separated or repeatable)";
|
|
160
|
-
readonly 'help.option.analyze.force': "Force
|
|
174
|
+
readonly 'help.option.analyze.force': "Force graph and FTS rebuild; unchanged parser output may be reused";
|
|
175
|
+
readonly 'help.option.analyze.noParseCache': "Re-parse every source file instead of replaying cached parser output";
|
|
161
176
|
readonly 'help.option.analyze.repairFts': "Repair/rebuild search FTS indexes without full re-analysis";
|
|
162
177
|
readonly 'help.option.analyze.embeddings': "Enable embedding generation for semantic search (off by default). Optional [limit] overrides the 50,000-node safety cap; pass 0 to disable the cap entirely.";
|
|
163
178
|
readonly 'help.option.analyze.dropEmbeddings': "Drop existing embeddings on rebuild. By default, an `analyze` without `--embeddings` preserves any embeddings already present in the index.";
|
|
164
179
|
readonly 'help.option.analyze.skills': "Generate repo-specific skill files from detected communities (no-op when --index-only is also set).";
|
|
165
|
-
readonly 'help.option.analyze.skipAgentsMd': "Skip updating the gitnexus section in AGENTS.md and CLAUDE.md";
|
|
180
|
+
readonly 'help.option.analyze.skipAgentsMd': "Skip updating the gitnexus section in AGENTS.md and CLAUDE.md. Does not skip standard skills in .claude/skills or .agents/skills; use --skip-skills for those. Community skills from --skills are unaffected.";
|
|
166
181
|
readonly 'help.option.analyze.noStats': "Omit volatile file/symbol counts from AGENTS.md and CLAUDE.md";
|
|
167
182
|
readonly 'help.option.analyze.selfCommit': "Auto-commit AGENTS.md/CLAUDE.md changes after analyze (opt-in, off by default). Scoped to only those two files (never `git add -A`); no-ops if neither exists, neither changed, or the repo has no git identity configured.";
|
|
168
183
|
readonly 'help.option.analyze.skipSkills': "Skip installing standard GitNexus skill files directly under .claude/skills/ and .agents/skills/. Does not suppress community skills from --skills (those use .claude/skills/gitnexus-area-*). Use --index-only to skip all AI-context file injection.";
|
|
@@ -187,7 +202,7 @@ export declare const en: {
|
|
|
187
202
|
readonly 'help.option.serve.host': "Bind address (default: 127.0.0.1, use 0.0.0.0 for remote access)";
|
|
188
203
|
readonly 'help.option.mcp.http': "Serve MCP over HTTP instead of stdio (for remote clients)";
|
|
189
204
|
readonly 'help.option.mcp.host': "HTTP bind address (only with --http). Default: 127.0.0.1 (loopback). Use 0.0.0.0 to expose to all interfaces.";
|
|
190
|
-
readonly 'help.option.mcp.authToken': "Require this bearer token in the Authorization header (only with --http); may also be set via the GITNEXUS_MCP_AUTH_TOKEN env var. Required for a non-loopback bind (--host 0.0.0.0/::), which otherwise refuses to start.";
|
|
205
|
+
readonly 'help.option.mcp.authToken': "Require this bearer token in the Authorization header (only with --http); may also be set via the GITNEXUS_MCP_AUTH_TOKEN env var, which also enables MCP Bearer auth on gitnexus serve's /api/mcp route. Required for a non-loopback bind (--host 0.0.0.0/::), which otherwise refuses to start.";
|
|
191
206
|
readonly 'help.option.force.confirmation': "Skip confirmation prompt";
|
|
192
207
|
readonly 'help.option.uninstall.force': "Apply the changes (default is a dry-run preview)";
|
|
193
208
|
readonly 'help.option.clean.all': "Clean all indexed repos";
|
package/dist/cli/i18n/en.js
CHANGED
|
@@ -7,6 +7,13 @@ export const en = {
|
|
|
7
7
|
'common.storage': 'Storage',
|
|
8
8
|
'common.deleted': 'Deleted: {{target}}',
|
|
9
9
|
'common.error': 'Error: {{message}}',
|
|
10
|
+
'update.available': 'GitNexus {{latestVersion}} is available (you are running {{installedVersion}}).',
|
|
11
|
+
'update.current': 'GitNexus {{installedVersion}} is current or newer than the latest stable version.',
|
|
12
|
+
'update.installing': 'Installing with {{command}}…',
|
|
13
|
+
'update.installed': 'Installed gitnexus@{{version}}. Restart long-running mcp/serve processes.',
|
|
14
|
+
'update.installFailed': 'npm install failed. You can retry: {{command}}',
|
|
15
|
+
'update.installError': 'Could not run npm: {{message}}',
|
|
16
|
+
'update.checkFailed': 'Could not check for updates (offline, private registry, or the check failed open).',
|
|
10
17
|
'list.title': 'Indexed Repositories ({{count}})',
|
|
11
18
|
'list.indexed': 'Indexed',
|
|
12
19
|
'list.commit': 'Commit',
|
|
@@ -66,6 +73,7 @@ export const en = {
|
|
|
66
73
|
'tool.usage.cypher': 'Usage: gitnexus cypher <cypher_query>',
|
|
67
74
|
'tool.warn.unknownKind': "--kind '{{kind}}' is not a known symbol kind (e.g. Function, Class, Method); it will not narrow the result.",
|
|
68
75
|
'tool.detectChanges.noChanges': 'No changes detected.',
|
|
76
|
+
'tool.detectChanges.noOverlappingSymbols': 'Diff touched {{files}} file(s) but no indexed symbols overlap those hunks — not a clean tree.',
|
|
69
77
|
'tool.detectChanges.partial': 'PARTIAL RESULT: a graph query failed, so changed symbols may be missing. Do not read this as a clean pre-commit check.',
|
|
70
78
|
'tool.detectChanges.truncated': 'LISTING CAPPED: the changed-symbol list was capped, so it does not name every changed symbol. The counts and risk level still cover all of them.',
|
|
71
79
|
// The reassurance above is only true on its own. When the run also degraded,
|
|
@@ -126,6 +134,11 @@ export const en = {
|
|
|
126
134
|
'help.option.version': 'output the version number',
|
|
127
135
|
'help.command.setup.description': 'One-time setup: configure MCP for Cursor, Claude Code, Antigravity, OpenCode, CodeBuddy, Qoder, Codex',
|
|
128
136
|
'help.command.uninstall.description': 'Reverse `setup`: remove GitNexus MCP entries, skills, and hooks from all detected editors',
|
|
137
|
+
'help.command.autoSync.description': 'Control scheduled repository clone/pull and analysis from GITNEXUS_HOME/watch_config.yml',
|
|
138
|
+
'help.autoSync.details': '\nActions: init, start (default), restart, stop, status, reset\nConfiguration: GITNEXUS_HOME/watch_config.yml\nRuntime files: GITNEXUS_HOME/watch/watch.pid, watch.mutex, watch.owner.json, watch.status.json, auto-sync-state.json\nRecovery: mutexes with verified dead owners are reclaimed automatically; invalid or legacy mutexes fail closed and require manual removal after confirming no watch process is running.\nWrites: GITNEXUS_HOME/watch/project_commit_info.txt\nRemote URLs: only SSH URLs on github.com, gitlab.com, and gitee.com are allowed.\nRuns once immediately, then repeats on sync_interval_minutes.',
|
|
139
|
+
'help.command.watch.description': 'Ambiguous: use `analyze --watch` for local files, or `auto-sync` for scheduled remotes',
|
|
140
|
+
'help.watch.details': '\n`gitnexus watch` does not start a watcher.\n Local working-tree incremental index: gitnexus analyze --watch\n Scheduled remote clone/pull + analyze: gitnexus auto-sync start\n',
|
|
141
|
+
'error.watch.ambiguous': '`gitnexus watch` is ambiguous.\n Local working-tree incremental index: gitnexus analyze --watch\n Scheduled remote clone/pull + analyze: gitnexus auto-sync start\n',
|
|
129
142
|
'help.command.analyze.description': 'Index a repository (full analysis)',
|
|
130
143
|
'help.command.index.description': 'Register an existing .gitnexus/ folder into the global registry (no re-analysis needed)',
|
|
131
144
|
'help.command.serve.description': 'Start local HTTP server for web UI connection',
|
|
@@ -133,6 +146,7 @@ export const en = {
|
|
|
133
146
|
'help.command.list.description': 'List all indexed repositories',
|
|
134
147
|
'help.command.status.description': 'Show index status for current repo',
|
|
135
148
|
'help.command.doctor.description': 'Show runtime platform capabilities and embedding configuration',
|
|
149
|
+
'help.command.update.description': 'Install the latest published GitNexus globally (`npm i -g gitnexus@<x.y.z>`).',
|
|
136
150
|
'help.command.embeddings.description': 'Manage the on-demand local embedding runtime',
|
|
137
151
|
'help.command.embeddings.install.description': 'Install the local embedding stack (@huggingface/transformers + onnxruntime-node) on demand. Heals installs where npm skipped the optional packages (e.g. behind an HTTP proxy, #2370). Downloads only from your configured npm registry — mirrors and proxies apply.',
|
|
138
152
|
'help.command.clean.description': 'Delete GitNexus index for current repo',
|
|
@@ -159,12 +173,13 @@ export const en = {
|
|
|
159
173
|
'help.command.group.query.description': 'Search execution flows across all repos in a group',
|
|
160
174
|
'help.command.group.contracts.description': 'Inspect Contract Registry',
|
|
161
175
|
'help.option.setup.codingAgent': 'Configure only these coding agents (comma-separated or repeatable)',
|
|
162
|
-
'help.option.analyze.force': 'Force
|
|
176
|
+
'help.option.analyze.force': 'Force graph and FTS rebuild; unchanged parser output may be reused',
|
|
177
|
+
'help.option.analyze.noParseCache': 'Re-parse every source file instead of replaying cached parser output',
|
|
163
178
|
'help.option.analyze.repairFts': 'Repair/rebuild search FTS indexes without full re-analysis',
|
|
164
179
|
'help.option.analyze.embeddings': 'Enable embedding generation for semantic search (off by default). Optional [limit] overrides the 50,000-node safety cap; pass 0 to disable the cap entirely.',
|
|
165
180
|
'help.option.analyze.dropEmbeddings': 'Drop existing embeddings on rebuild. By default, an `analyze` without `--embeddings` preserves any embeddings already present in the index.',
|
|
166
181
|
'help.option.analyze.skills': 'Generate repo-specific skill files from detected communities (no-op when --index-only is also set).',
|
|
167
|
-
'help.option.analyze.skipAgentsMd': 'Skip updating the gitnexus section in AGENTS.md and CLAUDE.md',
|
|
182
|
+
'help.option.analyze.skipAgentsMd': 'Skip updating the gitnexus section in AGENTS.md and CLAUDE.md. Does not skip standard skills in .claude/skills or .agents/skills; use --skip-skills for those. Community skills from --skills are unaffected.',
|
|
168
183
|
'help.option.analyze.noStats': 'Omit volatile file/symbol counts from AGENTS.md and CLAUDE.md',
|
|
169
184
|
'help.option.analyze.selfCommit': 'Auto-commit AGENTS.md/CLAUDE.md changes after analyze (opt-in, off by default). Scoped to only those two files (never `git add -A`); no-ops if neither exists, neither changed, or the repo has no git identity configured.',
|
|
170
185
|
'help.option.analyze.skipSkills': 'Skip installing standard GitNexus skill files directly under .claude/skills/ and .agents/skills/. Does not suppress community skills from --skills (those use .claude/skills/gitnexus-area-*). Use --index-only to skip all AI-context file injection.',
|
|
@@ -189,7 +204,7 @@ export const en = {
|
|
|
189
204
|
'help.option.serve.host': 'Bind address (default: 127.0.0.1, use 0.0.0.0 for remote access)',
|
|
190
205
|
'help.option.mcp.http': 'Serve MCP over HTTP instead of stdio (for remote clients)',
|
|
191
206
|
'help.option.mcp.host': 'HTTP bind address (only with --http). Default: 127.0.0.1 (loopback). Use 0.0.0.0 to expose to all interfaces.',
|
|
192
|
-
'help.option.mcp.authToken':
|
|
207
|
+
'help.option.mcp.authToken': "Require this bearer token in the Authorization header (only with --http); may also be set via the GITNEXUS_MCP_AUTH_TOKEN env var, which also enables MCP Bearer auth on gitnexus serve's /api/mcp route. Required for a non-loopback bind (--host 0.0.0.0/::), which otherwise refuses to start.",
|
|
193
208
|
'help.option.force.confirmation': 'Skip confirmation prompt',
|
|
194
209
|
'help.option.uninstall.force': 'Apply the changes (default is a dry-run preview)',
|
|
195
210
|
'help.option.clean.all': 'Clean all indexed repos',
|
|
@@ -8,6 +8,13 @@ export declare const cliResources: {
|
|
|
8
8
|
readonly 'common.storage': "Storage";
|
|
9
9
|
readonly 'common.deleted': "Deleted: {{target}}";
|
|
10
10
|
readonly 'common.error': "Error: {{message}}";
|
|
11
|
+
readonly 'update.available': "GitNexus {{latestVersion}} is available (you are running {{installedVersion}}).";
|
|
12
|
+
readonly 'update.current': "GitNexus {{installedVersion}} is current or newer than the latest stable version.";
|
|
13
|
+
readonly 'update.installing': "Installing with {{command}}…";
|
|
14
|
+
readonly 'update.installed': "Installed gitnexus@{{version}}. Restart long-running mcp/serve processes.";
|
|
15
|
+
readonly 'update.installFailed': "npm install failed. You can retry: {{command}}";
|
|
16
|
+
readonly 'update.installError': "Could not run npm: {{message}}";
|
|
17
|
+
readonly 'update.checkFailed': "Could not check for updates (offline, private registry, or the check failed open).";
|
|
11
18
|
readonly 'list.title': "Indexed Repositories ({{count}})";
|
|
12
19
|
readonly 'list.indexed': "Indexed";
|
|
13
20
|
readonly 'list.commit': "Commit";
|
|
@@ -67,6 +74,7 @@ export declare const cliResources: {
|
|
|
67
74
|
readonly 'tool.usage.cypher': "Usage: gitnexus cypher <cypher_query>";
|
|
68
75
|
readonly 'tool.warn.unknownKind': "--kind '{{kind}}' is not a known symbol kind (e.g. Function, Class, Method); it will not narrow the result.";
|
|
69
76
|
readonly 'tool.detectChanges.noChanges': "No changes detected.";
|
|
77
|
+
readonly 'tool.detectChanges.noOverlappingSymbols': "Diff touched {{files}} file(s) but no indexed symbols overlap those hunks — not a clean tree.";
|
|
70
78
|
readonly 'tool.detectChanges.partial': "PARTIAL RESULT: a graph query failed, so changed symbols may be missing. Do not read this as a clean pre-commit check.";
|
|
71
79
|
readonly 'tool.detectChanges.truncated': "LISTING CAPPED: the changed-symbol list was capped, so it does not name every changed symbol. The counts and risk level still cover all of them.";
|
|
72
80
|
readonly 'tool.detectChanges.truncatedDegraded': "LISTING CAPPED: the changed-symbol list was capped. The run also degraded, so the counts are a lower bound, not a total.";
|
|
@@ -125,6 +133,11 @@ export declare const cliResources: {
|
|
|
125
133
|
readonly 'help.option.version': "output the version number";
|
|
126
134
|
readonly 'help.command.setup.description': "One-time setup: configure MCP for Cursor, Claude Code, Antigravity, OpenCode, CodeBuddy, Qoder, Codex";
|
|
127
135
|
readonly 'help.command.uninstall.description': "Reverse `setup`: remove GitNexus MCP entries, skills, and hooks from all detected editors";
|
|
136
|
+
readonly 'help.command.autoSync.description': "Control scheduled repository clone/pull and analysis from GITNEXUS_HOME/watch_config.yml";
|
|
137
|
+
readonly 'help.autoSync.details': "\nActions: init, start (default), restart, stop, status, reset\nConfiguration: GITNEXUS_HOME/watch_config.yml\nRuntime files: GITNEXUS_HOME/watch/watch.pid, watch.mutex, watch.owner.json, watch.status.json, auto-sync-state.json\nRecovery: mutexes with verified dead owners are reclaimed automatically; invalid or legacy mutexes fail closed and require manual removal after confirming no watch process is running.\nWrites: GITNEXUS_HOME/watch/project_commit_info.txt\nRemote URLs: only SSH URLs on github.com, gitlab.com, and gitee.com are allowed.\nRuns once immediately, then repeats on sync_interval_minutes.";
|
|
138
|
+
readonly 'help.command.watch.description': "Ambiguous: use `analyze --watch` for local files, or `auto-sync` for scheduled remotes";
|
|
139
|
+
readonly 'help.watch.details': "\n`gitnexus watch` does not start a watcher.\n Local working-tree incremental index: gitnexus analyze --watch\n Scheduled remote clone/pull + analyze: gitnexus auto-sync start\n";
|
|
140
|
+
readonly 'error.watch.ambiguous': "`gitnexus watch` is ambiguous.\n Local working-tree incremental index: gitnexus analyze --watch\n Scheduled remote clone/pull + analyze: gitnexus auto-sync start\n";
|
|
128
141
|
readonly 'help.command.analyze.description': "Index a repository (full analysis)";
|
|
129
142
|
readonly 'help.command.index.description': "Register an existing .gitnexus/ folder into the global registry (no re-analysis needed)";
|
|
130
143
|
readonly 'help.command.serve.description': "Start local HTTP server for web UI connection";
|
|
@@ -132,6 +145,7 @@ export declare const cliResources: {
|
|
|
132
145
|
readonly 'help.command.list.description': "List all indexed repositories";
|
|
133
146
|
readonly 'help.command.status.description': "Show index status for current repo";
|
|
134
147
|
readonly 'help.command.doctor.description': "Show runtime platform capabilities and embedding configuration";
|
|
148
|
+
readonly 'help.command.update.description': "Install the latest published GitNexus globally (`npm i -g gitnexus@<x.y.z>`).";
|
|
135
149
|
readonly 'help.command.embeddings.description': "Manage the on-demand local embedding runtime";
|
|
136
150
|
readonly 'help.command.embeddings.install.description': "Install the local embedding stack (@huggingface/transformers + onnxruntime-node) on demand. Heals installs where npm skipped the optional packages (e.g. behind an HTTP proxy, #2370). Downloads only from your configured npm registry — mirrors and proxies apply.";
|
|
137
151
|
readonly 'help.command.clean.description': "Delete GitNexus index for current repo";
|
|
@@ -158,12 +172,13 @@ export declare const cliResources: {
|
|
|
158
172
|
readonly 'help.command.group.query.description': "Search execution flows across all repos in a group";
|
|
159
173
|
readonly 'help.command.group.contracts.description': "Inspect Contract Registry";
|
|
160
174
|
readonly 'help.option.setup.codingAgent': "Configure only these coding agents (comma-separated or repeatable)";
|
|
161
|
-
readonly 'help.option.analyze.force': "Force
|
|
175
|
+
readonly 'help.option.analyze.force': "Force graph and FTS rebuild; unchanged parser output may be reused";
|
|
176
|
+
readonly 'help.option.analyze.noParseCache': "Re-parse every source file instead of replaying cached parser output";
|
|
162
177
|
readonly 'help.option.analyze.repairFts': "Repair/rebuild search FTS indexes without full re-analysis";
|
|
163
178
|
readonly 'help.option.analyze.embeddings': "Enable embedding generation for semantic search (off by default). Optional [limit] overrides the 50,000-node safety cap; pass 0 to disable the cap entirely.";
|
|
164
179
|
readonly 'help.option.analyze.dropEmbeddings': "Drop existing embeddings on rebuild. By default, an `analyze` without `--embeddings` preserves any embeddings already present in the index.";
|
|
165
180
|
readonly 'help.option.analyze.skills': "Generate repo-specific skill files from detected communities (no-op when --index-only is also set).";
|
|
166
|
-
readonly 'help.option.analyze.skipAgentsMd': "Skip updating the gitnexus section in AGENTS.md and CLAUDE.md";
|
|
181
|
+
readonly 'help.option.analyze.skipAgentsMd': "Skip updating the gitnexus section in AGENTS.md and CLAUDE.md. Does not skip standard skills in .claude/skills or .agents/skills; use --skip-skills for those. Community skills from --skills are unaffected.";
|
|
167
182
|
readonly 'help.option.analyze.noStats': "Omit volatile file/symbol counts from AGENTS.md and CLAUDE.md";
|
|
168
183
|
readonly 'help.option.analyze.selfCommit': "Auto-commit AGENTS.md/CLAUDE.md changes after analyze (opt-in, off by default). Scoped to only those two files (never `git add -A`); no-ops if neither exists, neither changed, or the repo has no git identity configured.";
|
|
169
184
|
readonly 'help.option.analyze.skipSkills': "Skip installing standard GitNexus skill files directly under .claude/skills/ and .agents/skills/. Does not suppress community skills from --skills (those use .claude/skills/gitnexus-area-*). Use --index-only to skip all AI-context file injection.";
|
|
@@ -188,7 +203,7 @@ export declare const cliResources: {
|
|
|
188
203
|
readonly 'help.option.serve.host': "Bind address (default: 127.0.0.1, use 0.0.0.0 for remote access)";
|
|
189
204
|
readonly 'help.option.mcp.http': "Serve MCP over HTTP instead of stdio (for remote clients)";
|
|
190
205
|
readonly 'help.option.mcp.host': "HTTP bind address (only with --http). Default: 127.0.0.1 (loopback). Use 0.0.0.0 to expose to all interfaces.";
|
|
191
|
-
readonly 'help.option.mcp.authToken': "Require this bearer token in the Authorization header (only with --http); may also be set via the GITNEXUS_MCP_AUTH_TOKEN env var. Required for a non-loopback bind (--host 0.0.0.0/::), which otherwise refuses to start.";
|
|
206
|
+
readonly 'help.option.mcp.authToken': "Require this bearer token in the Authorization header (only with --http); may also be set via the GITNEXUS_MCP_AUTH_TOKEN env var, which also enables MCP Bearer auth on gitnexus serve's /api/mcp route. Required for a non-loopback bind (--host 0.0.0.0/::), which otherwise refuses to start.";
|
|
192
207
|
readonly 'help.option.force.confirmation': "Skip confirmation prompt";
|
|
193
208
|
readonly 'help.option.uninstall.force': "Apply the changes (default is a dry-run preview)";
|
|
194
209
|
readonly 'help.option.clean.all': "Clean all indexed repos";
|
|
@@ -272,6 +287,13 @@ export declare const cliResources: {
|
|
|
272
287
|
'common.storage': string;
|
|
273
288
|
'common.deleted': string;
|
|
274
289
|
'common.error': string;
|
|
290
|
+
'update.available': string;
|
|
291
|
+
'update.current': string;
|
|
292
|
+
'update.installing': string;
|
|
293
|
+
'update.installed': string;
|
|
294
|
+
'update.installFailed': string;
|
|
295
|
+
'update.installError': string;
|
|
296
|
+
'update.checkFailed': string;
|
|
275
297
|
'list.title': string;
|
|
276
298
|
'list.indexed': string;
|
|
277
299
|
'list.commit': string;
|
|
@@ -331,6 +353,7 @@ export declare const cliResources: {
|
|
|
331
353
|
'tool.usage.cypher': string;
|
|
332
354
|
'tool.warn.unknownKind': string;
|
|
333
355
|
'tool.detectChanges.noChanges': string;
|
|
356
|
+
'tool.detectChanges.noOverlappingSymbols': string;
|
|
334
357
|
'tool.detectChanges.partial': string;
|
|
335
358
|
'tool.detectChanges.truncated': string;
|
|
336
359
|
'tool.detectChanges.truncatedDegraded': string;
|
|
@@ -389,6 +412,11 @@ export declare const cliResources: {
|
|
|
389
412
|
'help.option.version': string;
|
|
390
413
|
'help.command.setup.description': string;
|
|
391
414
|
'help.command.uninstall.description': string;
|
|
415
|
+
'help.command.autoSync.description': string;
|
|
416
|
+
'help.autoSync.details': string;
|
|
417
|
+
'help.command.watch.description': string;
|
|
418
|
+
'help.watch.details': string;
|
|
419
|
+
'error.watch.ambiguous': string;
|
|
392
420
|
'help.command.analyze.description': string;
|
|
393
421
|
'help.command.index.description': string;
|
|
394
422
|
'help.command.serve.description': string;
|
|
@@ -396,6 +424,7 @@ export declare const cliResources: {
|
|
|
396
424
|
'help.command.list.description': string;
|
|
397
425
|
'help.command.status.description': string;
|
|
398
426
|
'help.command.doctor.description': string;
|
|
427
|
+
'help.command.update.description': string;
|
|
399
428
|
'help.command.embeddings.description': string;
|
|
400
429
|
'help.command.embeddings.install.description': string;
|
|
401
430
|
'help.command.clean.description': string;
|
|
@@ -423,6 +452,7 @@ export declare const cliResources: {
|
|
|
423
452
|
'help.command.group.contracts.description': string;
|
|
424
453
|
'help.option.setup.codingAgent': string;
|
|
425
454
|
'help.option.analyze.force': string;
|
|
455
|
+
'help.option.analyze.noParseCache': string;
|
|
426
456
|
'help.option.analyze.repairFts': string;
|
|
427
457
|
'help.option.analyze.embeddings': string;
|
|
428
458
|
'help.option.analyze.dropEmbeddings': string;
|
package/dist/cli/i18n/zh-CN.d.ts
CHANGED
|
@@ -7,6 +7,13 @@ export declare const zhCN: {
|
|
|
7
7
|
'common.storage': string;
|
|
8
8
|
'common.deleted': string;
|
|
9
9
|
'common.error': string;
|
|
10
|
+
'update.available': string;
|
|
11
|
+
'update.current': string;
|
|
12
|
+
'update.installing': string;
|
|
13
|
+
'update.installed': string;
|
|
14
|
+
'update.installFailed': string;
|
|
15
|
+
'update.installError': string;
|
|
16
|
+
'update.checkFailed': string;
|
|
10
17
|
'list.title': string;
|
|
11
18
|
'list.indexed': string;
|
|
12
19
|
'list.commit': string;
|
|
@@ -66,6 +73,7 @@ export declare const zhCN: {
|
|
|
66
73
|
'tool.usage.cypher': string;
|
|
67
74
|
'tool.warn.unknownKind': string;
|
|
68
75
|
'tool.detectChanges.noChanges': string;
|
|
76
|
+
'tool.detectChanges.noOverlappingSymbols': string;
|
|
69
77
|
'tool.detectChanges.partial': string;
|
|
70
78
|
'tool.detectChanges.truncated': string;
|
|
71
79
|
'tool.detectChanges.truncatedDegraded': string;
|
|
@@ -124,6 +132,11 @@ export declare const zhCN: {
|
|
|
124
132
|
'help.option.version': string;
|
|
125
133
|
'help.command.setup.description': string;
|
|
126
134
|
'help.command.uninstall.description': string;
|
|
135
|
+
'help.command.autoSync.description': string;
|
|
136
|
+
'help.autoSync.details': string;
|
|
137
|
+
'help.command.watch.description': string;
|
|
138
|
+
'help.watch.details': string;
|
|
139
|
+
'error.watch.ambiguous': string;
|
|
127
140
|
'help.command.analyze.description': string;
|
|
128
141
|
'help.command.index.description': string;
|
|
129
142
|
'help.command.serve.description': string;
|
|
@@ -131,6 +144,7 @@ export declare const zhCN: {
|
|
|
131
144
|
'help.command.list.description': string;
|
|
132
145
|
'help.command.status.description': string;
|
|
133
146
|
'help.command.doctor.description': string;
|
|
147
|
+
'help.command.update.description': string;
|
|
134
148
|
'help.command.embeddings.description': string;
|
|
135
149
|
'help.command.embeddings.install.description': string;
|
|
136
150
|
'help.command.clean.description': string;
|
|
@@ -158,6 +172,7 @@ export declare const zhCN: {
|
|
|
158
172
|
'help.command.group.contracts.description': string;
|
|
159
173
|
'help.option.setup.codingAgent': string;
|
|
160
174
|
'help.option.analyze.force': string;
|
|
175
|
+
'help.option.analyze.noParseCache': string;
|
|
161
176
|
'help.option.analyze.repairFts': string;
|
|
162
177
|
'help.option.analyze.embeddings': string;
|
|
163
178
|
'help.option.analyze.dropEmbeddings': string;
|
package/dist/cli/i18n/zh-CN.js
CHANGED
|
@@ -7,6 +7,13 @@ export const zhCN = {
|
|
|
7
7
|
'common.storage': '存储',
|
|
8
8
|
'common.deleted': '已删除:{{target}}',
|
|
9
9
|
'common.error': '错误:{{message}}',
|
|
10
|
+
'update.available': 'GitNexus {{latestVersion}} 已发布(当前运行 {{installedVersion}})。',
|
|
11
|
+
'update.current': 'GitNexus {{installedVersion}} 已是最新稳定版或不低于该版本。',
|
|
12
|
+
'update.installing': '正在执行 {{command}}…',
|
|
13
|
+
'update.installed': '已安装 gitnexus@{{version}}。请重启仍在运行的 mcp/serve 进程。',
|
|
14
|
+
'update.installFailed': 'npm 安装失败。可重试:{{command}}',
|
|
15
|
+
'update.installError': '无法运行 npm:{{message}}',
|
|
16
|
+
'update.checkFailed': '无法检查更新(离线、私有仓库,或检查失败)。',
|
|
10
17
|
'list.title': '已索引仓库({{count}})',
|
|
11
18
|
'list.indexed': '索引时间',
|
|
12
19
|
'list.commit': '提交',
|
|
@@ -66,6 +73,7 @@ export const zhCN = {
|
|
|
66
73
|
'tool.usage.cypher': '用法:gitnexus cypher <Cypher 查询>',
|
|
67
74
|
'tool.warn.unknownKind': "--kind '{{kind}}' 不是已知的符号类型(如 Function、Class、Method),不会用于缩小结果范围。",
|
|
68
75
|
'tool.detectChanges.noChanges': '未检测到变更。',
|
|
76
|
+
'tool.detectChanges.noOverlappingSymbols': 'diff 触及 {{files}} 个文件,但没有索引符号与这些 hunk 重叠 — 并非干净工作区。',
|
|
69
77
|
'tool.detectChanges.partial': '结果不完整:图查询失败,可能遗漏已变更符号。请勿将其视为通过的提交前检查。',
|
|
70
78
|
'tool.detectChanges.truncated': '列表已截断:已变更符号列表被截断,未列出全部变更符号。计数与风险等级仍涵盖全部符号。',
|
|
71
79
|
'tool.detectChanges.truncatedDegraded': '列表已截断:已变更符号列表被截断。本次运行同时不完整,因此计数为下限而非总数。',
|
|
@@ -124,6 +132,11 @@ export const zhCN = {
|
|
|
124
132
|
'help.option.version': '输出版本号',
|
|
125
133
|
'help.command.setup.description': '一次性设置:为 Cursor、Claude Code、Antigravity、OpenCode、CodeBuddy、Qoder、Codex 配置 MCP',
|
|
126
134
|
'help.command.uninstall.description': '撤销 `setup`:从所有检测到的编辑器中移除 GitNexus 的 MCP 配置、技能和钩子',
|
|
135
|
+
'help.command.autoSync.description': '控制基于 GITNEXUS_HOME/watch_config.yml 的定时 clone/pull 和分析',
|
|
136
|
+
'help.autoSync.details': '\n操作:init、start(默认)、restart、stop、status、reset\n配置:GITNEXUS_HOME/watch_config.yml\n运行时文件:GITNEXUS_HOME/watch/watch.pid、watch.mutex、watch.owner.json、watch.status.json、auto-sync-state.json\n恢复:已验证 owner 退出的 mutex 会自动回收;无效或旧版 mutex 会安全拒绝,确认没有 watch 进程运行后再手动删除。\n写入:GITNEXUS_HOME/watch/project_commit_info.txt\n远程地址:仅允许 github.com、gitlab.com 和 gitee.com 上的 SSH 地址。\n启动后立即运行一次,之后按 sync_interval_minutes 重复。',
|
|
137
|
+
'help.command.watch.description': '含义不明确:本地文件请用 `analyze --watch`,定时远程同步请用 `auto-sync`',
|
|
138
|
+
'help.watch.details': '\n`gitnexus watch` 不会启动监视器。\n 本地工作区增量索引:gitnexus analyze --watch\n 定时远程 clone/pull 并分析:gitnexus auto-sync start\n',
|
|
139
|
+
'error.watch.ambiguous': '`gitnexus watch` 含义不明确。\n 本地工作区增量索引:gitnexus analyze --watch\n 定时远程 clone/pull 并分析:gitnexus auto-sync start\n',
|
|
127
140
|
'help.command.analyze.description': '索引仓库(完整分析)',
|
|
128
141
|
'help.command.index.description': '将现有 .gitnexus/ 文件夹注册到全局注册表(无需重新分析)',
|
|
129
142
|
'help.command.serve.description': '启动供 Web UI 连接的本地 HTTP 服务器',
|
|
@@ -131,6 +144,7 @@ export const zhCN = {
|
|
|
131
144
|
'help.command.list.description': '列出所有已索引仓库',
|
|
132
145
|
'help.command.status.description': '显示当前仓库的索引状态',
|
|
133
146
|
'help.command.doctor.description': '显示运行平台能力和嵌入配置',
|
|
147
|
+
'help.command.update.description': '通过 npm 全局安装最新发布的 GitNexus(`npm i -g gitnexus@<x.y.z>`)。',
|
|
134
148
|
'help.command.embeddings.description': '管理按需安装的本地嵌入运行时',
|
|
135
149
|
'help.command.embeddings.install.description': '按需安装本地嵌入组件(@huggingface/transformers + onnxruntime-node)。修复 npm 跳过可选包的安装(例如在 HTTP 代理后,#2370)。仅从你配置的 npm registry 下载 — 镜像和代理均生效。',
|
|
136
150
|
'help.command.clean.description': '删除当前仓库的 GitNexus 索引',
|
|
@@ -157,12 +171,13 @@ export const zhCN = {
|
|
|
157
171
|
'help.command.group.query.description': '跨仓库组所有仓库搜索执行流程',
|
|
158
172
|
'help.command.group.contracts.description': '查看 Contract Registry',
|
|
159
173
|
'help.option.setup.codingAgent': '仅配置这些编码代理(逗号分隔或重复传入)',
|
|
160
|
-
'help.option.analyze.force': '
|
|
174
|
+
'help.option.analyze.force': '强制重建图和 FTS;未更改的解析器输出可能被复用',
|
|
175
|
+
'help.option.analyze.noParseCache': '重新解析每个源文件,不重放缓存的解析器输出',
|
|
161
176
|
'help.option.analyze.repairFts': '修复/重建搜索 FTS 索引,不执行完整重新分析',
|
|
162
177
|
'help.option.analyze.embeddings': '启用语义搜索的嵌入生成(默认关闭)。可选 [limit] 覆盖 50,000 节点安全上限;传 0 可完全禁用上限。',
|
|
163
178
|
'help.option.analyze.dropEmbeddings': '重建时删除现有嵌入。默认情况下,未传 `--embeddings` 的 `analyze` 会保留索引中已有嵌入。',
|
|
164
179
|
'help.option.analyze.skills': '根据检测到的社区生成仓库专属 skill 文件(同时设置 --index-only 时无效)。',
|
|
165
|
-
'help.option.analyze.skipAgentsMd': '跳过更新 AGENTS.md 和 CLAUDE.md 中的 gitnexus
|
|
180
|
+
'help.option.analyze.skipAgentsMd': '跳过更新 AGENTS.md 和 CLAUDE.md 中的 gitnexus 区块。不会跳过 .claude/skills 或 .agents/skills 下的标准 skill;如需跳过那些请使用 --skip-skills。--skills 生成的社区 skill 不受影响。',
|
|
166
181
|
'help.option.analyze.noStats': '从 AGENTS.md 和 CLAUDE.md 中省略易变的文件/符号计数',
|
|
167
182
|
'help.option.analyze.selfCommit': '在 analyze 后自动提交 AGENTS.md/CLAUDE.md 的变更(默认关闭,需显式开启)。仅限这两个文件(绝不使用 `git add -A`);若两者均不存在、均未变更,或仓库未配置 git 身份,则不执行任何操作。',
|
|
168
183
|
'help.option.analyze.skipSkills': '跳过直接安装在 .claude/skills/ 和 .agents/skills/ 下的标准 GitNexus skill 文件。不抑制 --skills 生成的社区 skill(位于 .claude/skills/gitnexus-area-*)。使用 --index-only 可跳过所有 AI 上下文文件注入。',
|
|
@@ -187,7 +202,7 @@ export const zhCN = {
|
|
|
187
202
|
'help.option.serve.host': '绑定地址(默认:127.0.0.1;远程访问可用 0.0.0.0)',
|
|
188
203
|
'help.option.mcp.http': '使用 HTTP 代替 stdio 提供 MCP 服务(适合远程客户端)',
|
|
189
204
|
'help.option.mcp.host': 'HTTP 绑定地址(仅与 --http 搭配使用)。默认:127.0.0.1(回环)。使用 0.0.0.0 向所有接口开放。',
|
|
190
|
-
'help.option.mcp.authToken': '要求 Authorization 头携带此 Bearer Token(仅与 --http 搭配使用);也可通过 GITNEXUS_MCP_AUTH_TOKEN
|
|
205
|
+
'help.option.mcp.authToken': '要求 Authorization 头携带此 Bearer Token(仅与 --http 搭配使用);也可通过 GITNEXUS_MCP_AUTH_TOKEN 环境变量设置,该变量同时为 gitnexus serve 的 /api/mcp 路由启用 MCP Bearer 认证。非回环绑定(--host 0.0.0.0/::)时必填,否则拒绝启动。',
|
|
191
206
|
'help.option.force.confirmation': '跳过确认提示',
|
|
192
207
|
'help.option.uninstall.force': '应用更改(默认仅为预演预览)',
|
|
193
208
|
'help.option.clean.all': '清理所有已索引仓库',
|