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,260 @@
|
|
|
1
|
+
import type { CaptureMatch } from '../../../../_shared/index.js';
|
|
2
|
+
import { type SyntaxNode } from '../../utils/ast-helpers.js';
|
|
3
|
+
/** Zig container node types: `struct`, `enum`, `union` and the fieldless
|
|
4
|
+
* `opaque` all bind through `const T = <container> {…}` and may own methods.
|
|
5
|
+
* Single source for the class/field/method extractor configs. */
|
|
6
|
+
export declare const ZIG_CONTAINER_TYPES: ReadonlySet<string>;
|
|
7
|
+
/** The `@import(…)` call at the ROOT of a value expression: the value itself
|
|
8
|
+
* (`@import("x.zig")`) or the leftmost object of a member chain
|
|
9
|
+
* (`@import("x.zig").Foo`, `@import("std").mem.Allocator`). Null otherwise. */
|
|
10
|
+
export declare function zigImportRootOf(value: SyntaxNode | null): SyntaxNode | null;
|
|
11
|
+
/** Is this `@import(…)` builtin the receiver of a member call —
|
|
12
|
+
* `@import("dump.zig").root(...)` — or of a qualified construction —
|
|
13
|
+
* `@import("a.zig").Thing{…}` — i.e. the `object` of a `field_expression`
|
|
14
|
+
* that is the `function` of a `call_expression` or the type of a
|
|
15
|
+
* `struct_initializer`? A deeper chain (`@import("x.zig").Foo.init()`) is
|
|
16
|
+
* not: its receiver is `….Foo`, and the builtin is only the module the chain
|
|
17
|
+
* starts from (the namespace chain walk resolves it from there). */
|
|
18
|
+
export declare function isZigInlineImportReceiver(importNode: SyntaxNode): boolean;
|
|
19
|
+
/** Is this variable_declaration a container binding (`const T = struct {…}`)
|
|
20
|
+
* or an import binding (`const x = @import("…")`, `const X = @import("…").X`)?
|
|
21
|
+
* Those groups are emitted by their dedicated query rules; the plain
|
|
22
|
+
* @declaration.variable / @definition.const match for the same node must be
|
|
23
|
+
* dropped so the name binds exactly once (and no Const node shadows the
|
|
24
|
+
* Struct / import). Shared by the scope walker, the variable extractor and
|
|
25
|
+
* the provider's `shouldSkipDefinitionCapture` so the structure-phase records
|
|
26
|
+
* and the scope-side bindings agree on what counts as a plain variable. */
|
|
27
|
+
/** A binding whose name the type system already owns: a container / import
|
|
28
|
+
* binding, or the top-level `@This()` self-alias of a file-struct. None of
|
|
29
|
+
* these may mint a Const beside the Struct / import they stand for. */
|
|
30
|
+
export declare function isZigTypeShadowingBinding(declNode: SyntaxNode): boolean;
|
|
31
|
+
export declare function isZigContainerOrImportBinding(declNode: SyntaxNode): boolean;
|
|
32
|
+
/** Does the `@import(…)` a binding rule matched sit in the TYPE annotation of
|
|
33
|
+
* its declaration (`var x: @import("foo.zig").T = undefined;`) rather than
|
|
34
|
+
* in its value? `variable_declaration` is fieldless except for `type:`, so
|
|
35
|
+
* the query cannot tell the two positions apart; such a match must not bind
|
|
36
|
+
* `x` as an import — `x` is a variable, and the `@import` is only a file
|
|
37
|
+
* dependency (the `@import.inline` rule records it as a side-effect import
|
|
38
|
+
* once this match releases the source node). */
|
|
39
|
+
export declare function isZigTypePositionImport(stmt: SyntaxNode, source: SyntaxNode): boolean;
|
|
40
|
+
/** Does this `variable_declaration` carry a `const` / `var` keyword child?
|
|
41
|
+
* tree-sitter-zig 1.1.2 parses statement-position ASSIGNMENTS (`x = 5;`,
|
|
42
|
+
* `x += 1;`, `_ = expr;`) as `variable_declaration` too — the only thing
|
|
43
|
+
* that separates a real binding from a re-assignment is the keyword. Query
|
|
44
|
+
* rules match the keyword literally; this is the JS-side twin for the
|
|
45
|
+
* extractors and the phantom-local guard in `emitZigScopeCaptures`. */
|
|
46
|
+
export declare function isZigKeywordDeclaration(declNode: SyntaxNode): boolean;
|
|
47
|
+
/** Is `root` a FILE-STRUCT — a `.zig` file that IS a type? In Zig every file
|
|
48
|
+
* is a struct; the ones that matter as types are named after the file stem
|
|
49
|
+
* (`Page.zig` declares `Page`, `@typeName(Page)` is `"Page"`) and their
|
|
50
|
+
* top-level `fn`s taking a receiver are its methods. Two signals, either one
|
|
51
|
+
* suffices:
|
|
52
|
+
* - the top level declares at least one container field (an instantiable
|
|
53
|
+
* type with state); the MISSING-identifier placeholder tree-sitter-zig
|
|
54
|
+
* recovers for an empty body is not a field (see
|
|
55
|
+
* `zigFieldConfig.extractName`);
|
|
56
|
+
* - a top-level `fn` takes the file's OWN type as its first parameter —
|
|
57
|
+
* `self: *@This()`, or `self: *Self` with `const Self = @This();` at
|
|
58
|
+
* file level. A zero-sized file type (`Empty.zig`: no field, a `Self`
|
|
59
|
+
* alias and `pub fn ping(self: *Self)`) is still constructed (`Empty{}`)
|
|
60
|
+
* and dispatched on by importers; keyed on fields alone it lost its
|
|
61
|
+
* `Struct`, its `HAS_METHOD`s and every `e.ping()` edge (PR #1432
|
|
62
|
+
* review, 8.12).
|
|
63
|
+
* A file with neither is a namespace and stays a Module: its fns keep their
|
|
64
|
+
* `Function` ids, and a `const js = @This();` there stays a Const. Only the
|
|
65
|
+
* receiver TYPE decides, never the parameter name: `fn f(self: Foo)` in a
|
|
66
|
+
* utility file is a free function that happens to call its argument `self`. */
|
|
67
|
+
export declare function isZigFileStruct(root: SyntaxNode | null | undefined): boolean;
|
|
68
|
+
/** The type name a file-struct declares: the file stem (`src/browser/Page.zig`
|
|
69
|
+
* → `Page`). This is what importers write (`const Page = @import("Page.zig")`)
|
|
70
|
+
* and what `@typeName` reports; the in-file `const Page = @This();` alias is
|
|
71
|
+
* a second spelling of the same type (see `zigThisAliasTargets`). */
|
|
72
|
+
export declare function zigFileStructName(filePath: string): string;
|
|
73
|
+
/** Is `declNode` a top-level `const X = @This();` — the idiomatic self-alias of
|
|
74
|
+
* a file-struct? Such a binding names the FILE's own type, so a file-struct
|
|
75
|
+
* must not mint a `Const` (graph node or scope binding) beside the `Struct`
|
|
76
|
+
* it aliases — the Const would shadow the type for every `x: *Page`. */
|
|
77
|
+
export declare function isZigFileThisAlias(declNode: SyntaxNode): boolean;
|
|
78
|
+
/** Does this module-level import binding REPUBLISH the name? `pub const Arena
|
|
79
|
+
* = @import("Arena.zig");` at file scope makes `Arena` part of this file's
|
|
80
|
+
* public surface: a third file reaches it as `lp.Arena` (Lightpanda's
|
|
81
|
+
* `lightpanda.zig` is one long list of these). Same fact as a Python
|
|
82
|
+
* `__init__.py` `from .impl import X` — the shared contract's
|
|
83
|
+
* `reexportsName` flag. Only `pub` at container level publishes; a `const`
|
|
84
|
+
* inside a fn body binds locally. */
|
|
85
|
+
export declare function isZigPublishingImport(declNode: SyntaxNode): boolean;
|
|
86
|
+
/** The BINDING name of a Zig container node — the spelling code uses to
|
|
87
|
+
* refer to it — or undefined for a truly anonymous one. Three shapes carry
|
|
88
|
+
* one:
|
|
89
|
+
* - a file-struct: the file stem (`Page.zig` → `Page`);
|
|
90
|
+
* - `const Point = struct {…}` — the first identifier of the wrapping
|
|
91
|
+
* `variable_declaration`;
|
|
92
|
+
* - `pub fn List(comptime T: type) type { return struct {…}; }` — the
|
|
93
|
+
* generic type constructor. Zig has no other spelling for a generic
|
|
94
|
+
* type, and every reader calls the returned container `List`, so the
|
|
95
|
+
* enclosing function's name IS the type name (`ArrayList(u8)`).
|
|
96
|
+
* This is what scope-side NAME BINDINGS use (`R.get()`, `self: *R`, a
|
|
97
|
+
* `const Self = @This();` rewrite). The graph IDENTITY of a container is
|
|
98
|
+
* `zigContainerName`, which equals the binding name except for the
|
|
99
|
+
* function-local and anonymous shapes (F8). */
|
|
100
|
+
export declare function zigContainerBindingName(containerNode: SyntaxNode, filePath?: string): string | undefined;
|
|
101
|
+
/** The RECEIVER parameter of a container method, or null for a static fn.
|
|
102
|
+
*
|
|
103
|
+
* Zig has no receiver keyword: `self` is a convention, not a rule, and real
|
|
104
|
+
* code names the receiver after its type as often as not — tigerbeetle
|
|
105
|
+
* (`replica: *Replica`, 777 of 1127 methods), mach (`pool: *@This()`, 764 of
|
|
106
|
+
* 833). Treating only `self` as the receiver labelled those methods static,
|
|
107
|
+
* counted the receiver in their arity (`Counter.incr#1`) and left the
|
|
108
|
+
* scope-side binding sourced as a plain parameter. The rule, applied to the
|
|
109
|
+
* FIRST parameter only:
|
|
110
|
+
* - named `self`, whatever its type; or
|
|
111
|
+
* - typed as the enclosing container: `@This()`, the container's binding
|
|
112
|
+
* name (`Counter`, the generic constructor `Pool` for `Pool(Node)`, the
|
|
113
|
+
* file stem for a file-struct when `filePath` is known), or a
|
|
114
|
+
* `const X = @This();` alias declared in that container (`Self`, `PRNG`
|
|
115
|
+
* in `prng.zig`) — pointers, `const` and optionals stripped.
|
|
116
|
+
* `fn` must be a direct child of a container (or the file root); a fn nested
|
|
117
|
+
* in a body is never a method. Single source for the method extractor
|
|
118
|
+
* (parameters / receiver type / `isStatic`) and `emitZigScopeCaptures`
|
|
119
|
+
* (`@type-binding.receiver`), so the structure and scope phases agree. */
|
|
120
|
+
export declare function zigReceiverParameter(fn: SyntaxNode, filePath?: string): SyntaxNode | null;
|
|
121
|
+
/** The graph IDENTITY of a Zig container node — the name its class-like
|
|
122
|
+
* node, its members' owner segment (`Method:<file>:<name>.<fn>`) and the
|
|
123
|
+
* scope-side def all carry. Single source for the class/field/method
|
|
124
|
+
* extractor configs, the provider's `resolveContainerTypeOwner` hook (the
|
|
125
|
+
* structure phase's owner walk) and `emitZigScopeCaptures`, so the two
|
|
126
|
+
* phases agree by construction.
|
|
127
|
+
*
|
|
128
|
+
* - file-struct / `const T = struct {…}` at file level / generic type
|
|
129
|
+
* constructor: the binding name (`zigContainerBindingName`).
|
|
130
|
+
* - CONTAINER-HOSTED named container — `pub const Item = struct {…}`
|
|
131
|
+
* inside `const A = struct {…}`: owner-qualified, `A.Item` (recursively:
|
|
132
|
+
* `A.B.Item`). By binding name alone `A.Item` and `B.Item` — two
|
|
133
|
+
* distinct types, each with its own `run` — shared ONE `Struct:<file>:
|
|
134
|
+
* Item` node and one `Item.run` (PR #1432 review, 8.5). The scope side
|
|
135
|
+
* still binds the lexical spelling `Item` inside `A` (the
|
|
136
|
+
* `@declaration.binding-name` split in `emitZigScopeCaptures`), and the
|
|
137
|
+
* shared `populateClassOwnedMembers` leaves a dotted qualified name
|
|
138
|
+
* alone, so the def and the graph node agree on `A.Item` and its members
|
|
139
|
+
* qualify as `A.Item.run` — the same shape Java's `Outer.Inner` takes.
|
|
140
|
+
* - FUNCTION-LOCAL named container (F8) — `const R = struct {…}` inside a
|
|
141
|
+
* `fn` or `test` body: `<enclosing callable>$<name>`, e.g. `string$R`,
|
|
142
|
+
* `Reflect.string$R`. Zig code declares such helper containers per
|
|
143
|
+
* builder function (Lightpanda's `reflection.zig` has ~20 `const R =
|
|
144
|
+
* struct { fn get… fn set… }`), and by binding name alone they all
|
|
145
|
+
* collapsed onto ONE `Struct:<file>:R` with one `R.get`. Java's local
|
|
146
|
+
* classes are keyed the same way (`Outer$1Local`); the `$` is what tells
|
|
147
|
+
* the shared `populateClassOwnedMembers` the name is already complete.
|
|
148
|
+
* Two same-named locals in sibling blocks of ONE callable still share
|
|
149
|
+
* an identity (Zig code does not do that; javac's ordinal would).
|
|
150
|
+
* - ANONYMOUS container (F8) — `struct { fn lessThan(…) … }.lessThan`
|
|
151
|
+
* passed to `std.sort.pdq`, `const cmp = struct {…}.lt;`, a field or
|
|
152
|
+
* parameter typed `struct { min: u32 }`: `<host>$<ordinal>` where the
|
|
153
|
+
* host is the enclosing callable (`build$1`), else the enclosing
|
|
154
|
+
* container (`Outer$1`), else the file stem (`util$1`), and the ordinal
|
|
155
|
+
* counts the anonymous containers of that host in source order —
|
|
156
|
+
* javac's `Outer$1` rule (`synthesizeJavaTypeIdentity`). Without an
|
|
157
|
+
* identity their fns were OWNERLESS Methods (`Method:<file>:lessThan`),
|
|
158
|
+
* and same-named ones in one file collided on a single node.
|
|
159
|
+
* Deterministic in the tree alone, so any two walks over one source agree. */
|
|
160
|
+
export declare function zigContainerName(containerNode: SyntaxNode, filePath?: string): string | undefined;
|
|
161
|
+
/** The label the graph gives a container node (`opaque {}` is a fieldless
|
|
162
|
+
* container that may own methods — Struct, see ZIG_QUERIES). */
|
|
163
|
+
export declare function zigContainerLabel(containerNode: SyntaxNode): 'Struct' | 'Enum' | 'Union' | undefined;
|
|
164
|
+
/** Which ZIG_QUERIES rule mints a container's graph node (F8):
|
|
165
|
+
* - 'wrapper': `const T = struct {…}` at FILE level — the
|
|
166
|
+
* `variable_declaration … @definition.struct` rule (name from `@name`);
|
|
167
|
+
* - 'constructor': the container a generic type constructor returns —
|
|
168
|
+
* the `fn … type { return struct {…}; }` rule;
|
|
169
|
+
* - 'container': everything the bare `(struct_declaration)
|
|
170
|
+
* @definition.struct` rule owns — FUNCTION-LOCAL and CONTAINER-HOSTED
|
|
171
|
+
* named containers (their identities `string$R` / `A.Item` are not
|
|
172
|
+
* captures, so the class extractor names them via `zigContainerName`)
|
|
173
|
+
* and ANONYMOUS containers.
|
|
174
|
+
* The provider's `shouldSkipClassCapture` drops the other rules' matches for
|
|
175
|
+
* the same node so each container is minted exactly once. */
|
|
176
|
+
export declare function zigContainerAnchor(containerNode: SyntaxNode): 'wrapper' | 'constructor' | 'container' | 'file';
|
|
177
|
+
/** Is this `@definition.<container>` match of ZIG_QUERIES REDUNDANT — i.e.
|
|
178
|
+
* minted by another rule for the same container (F8)? `definitionNode` is
|
|
179
|
+
* the match anchor (the wrapper `variable_declaration`, or the container
|
|
180
|
+
* node for the type-constructor and bare-container rules), `nameNode` its
|
|
181
|
+
* `@name` capture (the type-constructor rule captures the fn's name, the
|
|
182
|
+
* bare rule captures none). Wired through the provider's
|
|
183
|
+
* `shouldSkipDefinitionCapture`, which the definition phase consults for
|
|
184
|
+
* EVERY label — `shouldSkipClassCapture` would not see `Union`. */
|
|
185
|
+
export declare function isZigRedundantContainerCapture(definitionNode: SyntaxNode, nameNode: SyntaxNode | undefined): boolean;
|
|
186
|
+
/** A callable's qualified name as the structure phase spells it: its owner
|
|
187
|
+
* container's identity, a dot, its own name (`Reflect.string`, `Page.init`,
|
|
188
|
+
* `helper` in a namespace file). A `test` block is keyed by its LINE
|
|
189
|
+
* (`test@L<line>`, 1-based; a test is a top-level declaration, so the line
|
|
190
|
+
* identifies it), not by its string: the class extractor's
|
|
191
|
+
* `buildQualifiedName` normalizes a graph node's `qualifiedName`
|
|
192
|
+
* (whitespace stripped, `::` → `.`), so an identity carrying `"Function:
|
|
193
|
+
* requested termination …"` would key the node under one spelling and the
|
|
194
|
+
* scope def under another, and `State{}` in that test would resolve to
|
|
195
|
+
* nothing. No `:` either (`row:col` would do), so an id keeps a single
|
|
196
|
+
* `label:file:name` colon structure for anything that splits on it. */
|
|
197
|
+
export declare function zigCallableQualifiedName(fnNode: SyntaxNode, filePath?: string): string;
|
|
198
|
+
/** For a container that is the direct `return` value of a function whose
|
|
199
|
+
* return type is `type` — `fn List(comptime T: type) type { return struct
|
|
200
|
+
* {…}; }` — the function_declaration; null for any other placement. Only the
|
|
201
|
+
* literal `return_expression → expression_statement → block → fn` chain
|
|
202
|
+
* counts: a container nested deeper (`return struct {…}.field`, a container
|
|
203
|
+
* inside an `if`) is not the type the function constructs. */
|
|
204
|
+
export declare function zigTypeConstructorOf(containerNode: SyntaxNode): SyntaxNode | null;
|
|
205
|
+
/** F7 — is `call` an instantiation of a generic type constructor —
|
|
206
|
+
* `List(u8)`, `util.List(u8)`, `js.Bridge(T)`, `std.AutoHashMapUnmanaged(K, V)`?
|
|
207
|
+
* Zig spells a generic type as a CALL, and the grammar cannot separate it
|
|
208
|
+
* from a value call; the one signal is the naming convention (types and
|
|
209
|
+
* type constructors are TitleCase, functions camelCase), so the callee's
|
|
210
|
+
* last identifier decides. Heuristic by nature — say so wherever it is used. */
|
|
211
|
+
export declare function isZigTypeConstructorCall(call: SyntaxNode): boolean;
|
|
212
|
+
/** A `fn` nested in a struct/enum/union/opaque container is a method. Single
|
|
213
|
+
* predicate shared between the provider's `labelOverride` (worker
|
|
214
|
+
* structure phase) and the scope-capture relabel below, so the graph
|
|
215
|
+
* node label and the scope-side def label cannot drift apart. The loose
|
|
216
|
+
* parameter shape matches what `labelOverride` receives.
|
|
217
|
+
*
|
|
218
|
+
* Only a `function_declaration` can be a method: a named `test "…" {}`
|
|
219
|
+
* inside a container is also a Function definition, but the method
|
|
220
|
+
* extractor does not know test blocks (no parameters, no `self`), so
|
|
221
|
+
* relabelling it would mint a Method id the definition phase never
|
|
222
|
+
* builds. Tests stay Functions wherever they sit. */
|
|
223
|
+
export declare function isZigContainerMethod(captureNode: {
|
|
224
|
+
readonly type?: string;
|
|
225
|
+
readonly parent?: SyntaxNode | null;
|
|
226
|
+
} | null | undefined): boolean;
|
|
227
|
+
/** Strip the value wrappers Zig puts around a call — `try f()`, `f() catch
|
|
228
|
+
* …`, `f() orelse …`, `(f())` — down to the wrapped expression. Rust's
|
|
229
|
+
* `.await` unwrapping, one level richer. */
|
|
230
|
+
export declare function zigUnwrapValue(value: SyntaxNode): SyntaxNode;
|
|
231
|
+
/** For `const t = <value>;`, the type source the value names, or undefined
|
|
232
|
+
* when the value types nothing on its own:
|
|
233
|
+
* - `Counter.init()` / `mod.Counter.init()` / `List(u8).init()` (receiver
|
|
234
|
+
* is a module-level name) → `{ type: 'Counter' }` — the receiver names
|
|
235
|
+
* the type (Rust `Foo::new()`); a value receiver simply finds no
|
|
236
|
+
* container later and declines.
|
|
237
|
+
* - `node.asElement()` / `self.parser.next()` (receiver head is a fn-local
|
|
238
|
+
* param / local / payload) → `{ type: 'node.asElement()', memberCall:
|
|
239
|
+
* true }` — the compound shape the shared resolver walks through the
|
|
240
|
+
* receiver's class scope to the method's `@type-binding.return`.
|
|
241
|
+
* - `makeThing()` (free call) → `{ type: 'makeThing' }` — chains to the
|
|
242
|
+
* fn's return binding.
|
|
243
|
+
* - a `struct_initializer` under a wrapper (`try Thing{…}`) → its type,
|
|
244
|
+
* `structLiteral: true` (the direct shape has its own query rules).
|
|
245
|
+
* - `.init()` decl literals, TitleCase callees (type constructors —
|
|
246
|
+
* aliases, F7), identifiers, field chains, literals → undefined.
|
|
247
|
+
* Wrappers (`try`, `catch`, `orelse`, parens) are unwrapped first. */
|
|
248
|
+
export declare function zigCallReturnTypeOf(value: SyntaxNode, localNamesCache: Map<number, Set<string>>, hostValueNames?: Map<number, Set<string>>): {
|
|
249
|
+
readonly type: string;
|
|
250
|
+
readonly memberCall?: true;
|
|
251
|
+
readonly structLiteral?: true;
|
|
252
|
+
} | undefined;
|
|
253
|
+
/** Should `fn name() <type>` bind `name ↦ <type>`? Only when the return
|
|
254
|
+
* type is nominal: a container name, a qualified name, a generic
|
|
255
|
+
* instantiation, or `@This()`. Builtins (`void`, `u8`, `bool`, `anyerror`),
|
|
256
|
+
* `type` (a generic type constructor — its container binding is the type),
|
|
257
|
+
* and `@TypeOf(…)` bind nothing: `List ↦ type` would hijack the
|
|
258
|
+
* `List(u8){}` constructor chain, and `f ↦ void` is noise. */
|
|
259
|
+
export declare function zigReturnTypeIsNominal(typeNode: SyntaxNode): boolean;
|
|
260
|
+
export declare function emitZigScopeCaptures(sourceText: string, _filePath: string, cachedTree?: unknown): readonly CaptureMatch[];
|