@opencodehub/ingestion 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/README.md +69 -0
- package/dist/extract/index.d.ts +8 -0
- package/dist/extract/index.d.ts.map +1 -0
- package/dist/extract/index.js +6 -0
- package/dist/extract/index.js.map +1 -0
- package/dist/extract/orm-detector.d.ts +19 -0
- package/dist/extract/orm-detector.d.ts.map +1 -0
- package/dist/extract/orm-detector.js +209 -0
- package/dist/extract/orm-detector.js.map +1 -0
- package/dist/extract/property-access.d.ts +76 -0
- package/dist/extract/property-access.d.ts.map +1 -0
- package/dist/extract/property-access.js +260 -0
- package/dist/extract/property-access.js.map +1 -0
- package/dist/extract/receiver-resolver.d.ts +86 -0
- package/dist/extract/receiver-resolver.d.ts.map +1 -0
- package/dist/extract/receiver-resolver.js +77 -0
- package/dist/extract/receiver-resolver.js.map +1 -0
- package/dist/extract/route-detector-java.d.ts +29 -0
- package/dist/extract/route-detector-java.d.ts.map +1 -0
- package/dist/extract/route-detector-java.js +190 -0
- package/dist/extract/route-detector-java.js.map +1 -0
- package/dist/extract/route-detector-nestjs.d.ts +30 -0
- package/dist/extract/route-detector-nestjs.d.ts.map +1 -0
- package/dist/extract/route-detector-nestjs.js +134 -0
- package/dist/extract/route-detector-nestjs.js.map +1 -0
- package/dist/extract/route-detector-python.d.ts +28 -0
- package/dist/extract/route-detector-python.d.ts.map +1 -0
- package/dist/extract/route-detector-python.js +100 -0
- package/dist/extract/route-detector-python.js.map +1 -0
- package/dist/extract/route-detector-rails.d.ts +28 -0
- package/dist/extract/route-detector-rails.d.ts.map +1 -0
- package/dist/extract/route-detector-rails.js +162 -0
- package/dist/extract/route-detector-rails.js.map +1 -0
- package/dist/extract/route-detector.d.ts +45 -0
- package/dist/extract/route-detector.d.ts.map +1 -0
- package/dist/extract/route-detector.js +467 -0
- package/dist/extract/route-detector.js.map +1 -0
- package/dist/extract/tool-detector.d.ts +26 -0
- package/dist/extract/tool-detector.d.ts.map +1 -0
- package/dist/extract/tool-detector.js +364 -0
- package/dist/extract/tool-detector.js.map +1 -0
- package/dist/extract/types.d.ts +89 -0
- package/dist/extract/types.d.ts.map +1 -0
- package/dist/extract/types.js +11 -0
- package/dist/extract/types.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/parse/cobol-regex.d.ts +85 -0
- package/dist/parse/cobol-regex.d.ts.map +1 -0
- package/dist/parse/cobol-regex.js +355 -0
- package/dist/parse/cobol-regex.js.map +1 -0
- package/dist/parse/grammar-registry.d.ts +115 -0
- package/dist/parse/grammar-registry.d.ts.map +1 -0
- package/dist/parse/grammar-registry.js +278 -0
- package/dist/parse/grammar-registry.js.map +1 -0
- package/dist/parse/index.d.ts +14 -0
- package/dist/parse/index.d.ts.map +1 -0
- package/dist/parse/index.js +10 -0
- package/dist/parse/index.js.map +1 -0
- package/dist/parse/language-detector.d.ts +17 -0
- package/dist/parse/language-detector.d.ts.map +1 -0
- package/dist/parse/language-detector.js +104 -0
- package/dist/parse/language-detector.js.map +1 -0
- package/dist/parse/parse-worker.d.ts +24 -0
- package/dist/parse/parse-worker.d.ts.map +1 -0
- package/dist/parse/parse-worker.js +230 -0
- package/dist/parse/parse-worker.js.map +1 -0
- package/dist/parse/types.d.ts +49 -0
- package/dist/parse/types.d.ts.map +1 -0
- package/dist/parse/types.js +11 -0
- package/dist/parse/types.js.map +1 -0
- package/dist/parse/unified-queries.d.ts +37 -0
- package/dist/parse/unified-queries.d.ts.map +1 -0
- package/dist/parse/unified-queries.js +623 -0
- package/dist/parse/unified-queries.js.map +1 -0
- package/dist/parse/wasm-fallback.d.ts +88 -0
- package/dist/parse/wasm-fallback.d.ts.map +1 -0
- package/dist/parse/wasm-fallback.js +258 -0
- package/dist/parse/wasm-fallback.js.map +1 -0
- package/dist/parse/worker-pool.d.ts +48 -0
- package/dist/parse/worker-pool.d.ts.map +1 -0
- package/dist/parse/worker-pool.js +97 -0
- package/dist/parse/worker-pool.js.map +1 -0
- package/dist/pipeline/dep-parsers/go.d.ts +25 -0
- package/dist/pipeline/dep-parsers/go.d.ts.map +1 -0
- package/dist/pipeline/dep-parsers/go.js +146 -0
- package/dist/pipeline/dep-parsers/go.js.map +1 -0
- package/dist/pipeline/dep-parsers/index.d.ts +17 -0
- package/dist/pipeline/dep-parsers/index.d.ts.map +1 -0
- package/dist/pipeline/dep-parsers/index.js +16 -0
- package/dist/pipeline/dep-parsers/index.js.map +1 -0
- package/dist/pipeline/dep-parsers/maven.d.ts +24 -0
- package/dist/pipeline/dep-parsers/maven.d.ts.map +1 -0
- package/dist/pipeline/dep-parsers/maven.js +131 -0
- package/dist/pipeline/dep-parsers/maven.js.map +1 -0
- package/dist/pipeline/dep-parsers/npm.d.ts +30 -0
- package/dist/pipeline/dep-parsers/npm.d.ts.map +1 -0
- package/dist/pipeline/dep-parsers/npm.js +309 -0
- package/dist/pipeline/dep-parsers/npm.js.map +1 -0
- package/dist/pipeline/dep-parsers/nuget.d.ts +24 -0
- package/dist/pipeline/dep-parsers/nuget.d.ts.map +1 -0
- package/dist/pipeline/dep-parsers/nuget.js +178 -0
- package/dist/pipeline/dep-parsers/nuget.js.map +1 -0
- package/dist/pipeline/dep-parsers/python.d.ts +21 -0
- package/dist/pipeline/dep-parsers/python.d.ts.map +1 -0
- package/dist/pipeline/dep-parsers/python.js +369 -0
- package/dist/pipeline/dep-parsers/python.js.map +1 -0
- package/dist/pipeline/dep-parsers/rust.d.ts +18 -0
- package/dist/pipeline/dep-parsers/rust.d.ts.map +1 -0
- package/dist/pipeline/dep-parsers/rust.js +134 -0
- package/dist/pipeline/dep-parsers/rust.js.map +1 -0
- package/dist/pipeline/dep-parsers/spdx-normalize.d.ts +15 -0
- package/dist/pipeline/dep-parsers/spdx-normalize.d.ts.map +1 -0
- package/dist/pipeline/dep-parsers/spdx-normalize.js +31 -0
- package/dist/pipeline/dep-parsers/spdx-normalize.js.map +1 -0
- package/dist/pipeline/dep-parsers/types.d.ts +63 -0
- package/dist/pipeline/dep-parsers/types.d.ts.map +1 -0
- package/dist/pipeline/dep-parsers/types.js +56 -0
- package/dist/pipeline/dep-parsers/types.js.map +1 -0
- package/dist/pipeline/gitignore-stack.d.ts +44 -0
- package/dist/pipeline/gitignore-stack.d.ts.map +1 -0
- package/dist/pipeline/gitignore-stack.js +69 -0
- package/dist/pipeline/gitignore-stack.js.map +1 -0
- package/dist/pipeline/gitignore.d.ts +67 -0
- package/dist/pipeline/gitignore.d.ts.map +1 -0
- package/dist/pipeline/gitignore.js +210 -0
- package/dist/pipeline/gitignore.js.map +1 -0
- package/dist/pipeline/index.d.ts +53 -0
- package/dist/pipeline/index.d.ts.map +1 -0
- package/dist/pipeline/index.js +29 -0
- package/dist/pipeline/index.js.map +1 -0
- package/dist/pipeline/orchestrator.d.ts +105 -0
- package/dist/pipeline/orchestrator.d.ts.map +1 -0
- package/dist/pipeline/orchestrator.js +175 -0
- package/dist/pipeline/orchestrator.js.map +1 -0
- package/dist/pipeline/ownership-helpers/drift.d.ts +41 -0
- package/dist/pipeline/ownership-helpers/drift.d.ts.map +1 -0
- package/dist/pipeline/ownership-helpers/drift.js +122 -0
- package/dist/pipeline/ownership-helpers/drift.js.map +1 -0
- package/dist/pipeline/ownership-helpers/gini-community.d.ts +24 -0
- package/dist/pipeline/ownership-helpers/gini-community.d.ts.map +1 -0
- package/dist/pipeline/ownership-helpers/gini-community.js +32 -0
- package/dist/pipeline/ownership-helpers/gini-community.js.map +1 -0
- package/dist/pipeline/ownership-helpers/git-blame-batcher.d.ts +71 -0
- package/dist/pipeline/ownership-helpers/git-blame-batcher.d.ts.map +1 -0
- package/dist/pipeline/ownership-helpers/git-blame-batcher.js +178 -0
- package/dist/pipeline/ownership-helpers/git-blame-batcher.js.map +1 -0
- package/dist/pipeline/ownership-helpers/line-overlap.d.ts +35 -0
- package/dist/pipeline/ownership-helpers/line-overlap.d.ts.map +1 -0
- package/dist/pipeline/ownership-helpers/line-overlap.js +62 -0
- package/dist/pipeline/ownership-helpers/line-overlap.js.map +1 -0
- package/dist/pipeline/ownership-helpers/orphan.d.ts +73 -0
- package/dist/pipeline/ownership-helpers/orphan.d.ts.map +1 -0
- package/dist/pipeline/ownership-helpers/orphan.js +117 -0
- package/dist/pipeline/ownership-helpers/orphan.js.map +1 -0
- package/dist/pipeline/phases/accesses.d.ts +44 -0
- package/dist/pipeline/phases/accesses.d.ts.map +1 -0
- package/dist/pipeline/phases/accesses.js +194 -0
- package/dist/pipeline/phases/accesses.js.map +1 -0
- package/dist/pipeline/phases/annotate.d.ts +28 -0
- package/dist/pipeline/phases/annotate.d.ts.map +1 -0
- package/dist/pipeline/phases/annotate.js +60 -0
- package/dist/pipeline/phases/annotate.js.map +1 -0
- package/dist/pipeline/phases/cochange.d.ts +42 -0
- package/dist/pipeline/phases/cochange.d.ts.map +1 -0
- package/dist/pipeline/phases/cochange.js +0 -0
- package/dist/pipeline/phases/cochange.js.map +1 -0
- package/dist/pipeline/phases/communities.d.ts +34 -0
- package/dist/pipeline/phases/communities.d.ts.map +1 -0
- package/dist/pipeline/phases/communities.js +412 -0
- package/dist/pipeline/phases/communities.js.map +1 -0
- package/dist/pipeline/phases/complexity.d.ts +50 -0
- package/dist/pipeline/phases/complexity.d.ts.map +1 -0
- package/dist/pipeline/phases/complexity.js +794 -0
- package/dist/pipeline/phases/complexity.js.map +1 -0
- package/dist/pipeline/phases/confidence-demote.d.ts +23 -0
- package/dist/pipeline/phases/confidence-demote.d.ts.map +1 -0
- package/dist/pipeline/phases/confidence-demote.js +113 -0
- package/dist/pipeline/phases/confidence-demote.js.map +1 -0
- package/dist/pipeline/phases/content-cache.d.ts +166 -0
- package/dist/pipeline/phases/content-cache.d.ts.map +1 -0
- package/dist/pipeline/phases/content-cache.js +323 -0
- package/dist/pipeline/phases/content-cache.js.map +1 -0
- package/dist/pipeline/phases/coverage-parsers/cobertura.d.ts +25 -0
- package/dist/pipeline/phases/coverage-parsers/cobertura.d.ts.map +1 -0
- package/dist/pipeline/phases/coverage-parsers/cobertura.js +139 -0
- package/dist/pipeline/phases/coverage-parsers/cobertura.js.map +1 -0
- package/dist/pipeline/phases/coverage-parsers/coverage-py.d.ts +25 -0
- package/dist/pipeline/phases/coverage-parsers/coverage-py.d.ts.map +1 -0
- package/dist/pipeline/phases/coverage-parsers/coverage-py.js +51 -0
- package/dist/pipeline/phases/coverage-parsers/coverage-py.js.map +1 -0
- package/dist/pipeline/phases/coverage-parsers/jacoco.d.ts +32 -0
- package/dist/pipeline/phases/coverage-parsers/jacoco.d.ts.map +1 -0
- package/dist/pipeline/phases/coverage-parsers/jacoco.js +98 -0
- package/dist/pipeline/phases/coverage-parsers/jacoco.js.map +1 -0
- package/dist/pipeline/phases/coverage-parsers/lcov.d.ts +21 -0
- package/dist/pipeline/phases/coverage-parsers/lcov.d.ts.map +1 -0
- package/dist/pipeline/phases/coverage-parsers/lcov.js +104 -0
- package/dist/pipeline/phases/coverage-parsers/lcov.js.map +1 -0
- package/dist/pipeline/phases/coverage-parsers/types.d.ts +27 -0
- package/dist/pipeline/phases/coverage-parsers/types.d.ts.map +1 -0
- package/dist/pipeline/phases/coverage-parsers/types.js +39 -0
- package/dist/pipeline/phases/coverage-parsers/types.js.map +1 -0
- package/dist/pipeline/phases/coverage.d.ts +39 -0
- package/dist/pipeline/phases/coverage.d.ts.map +1 -0
- package/dist/pipeline/phases/coverage.js +154 -0
- package/dist/pipeline/phases/coverage.js.map +1 -0
- package/dist/pipeline/phases/cross-file.d.ts +40 -0
- package/dist/pipeline/phases/cross-file.d.ts.map +1 -0
- package/dist/pipeline/phases/cross-file.js +411 -0
- package/dist/pipeline/phases/cross-file.js.map +1 -0
- package/dist/pipeline/phases/dead-code.d.ts +28 -0
- package/dist/pipeline/phases/dead-code.d.ts.map +1 -0
- package/dist/pipeline/phases/dead-code.js +157 -0
- package/dist/pipeline/phases/dead-code.js.map +1 -0
- package/dist/pipeline/phases/default-set.d.ts +24 -0
- package/dist/pipeline/phases/default-set.d.ts.map +1 -0
- package/dist/pipeline/phases/default-set.js +133 -0
- package/dist/pipeline/phases/default-set.js.map +1 -0
- package/dist/pipeline/phases/dependencies.d.ts +59 -0
- package/dist/pipeline/phases/dependencies.d.ts.map +1 -0
- package/dist/pipeline/phases/dependencies.js +281 -0
- package/dist/pipeline/phases/dependencies.js.map +1 -0
- package/dist/pipeline/phases/embedder-pool.d.ts +31 -0
- package/dist/pipeline/phases/embedder-pool.d.ts.map +1 -0
- package/dist/pipeline/phases/embedder-pool.js +79 -0
- package/dist/pipeline/phases/embedder-pool.js.map +1 -0
- package/dist/pipeline/phases/embedder-worker.d.ts +28 -0
- package/dist/pipeline/phases/embedder-worker.d.ts.map +1 -0
- package/dist/pipeline/phases/embedder-worker.js +43 -0
- package/dist/pipeline/phases/embedder-worker.js.map +1 -0
- package/dist/pipeline/phases/embeddings.d.ts +117 -0
- package/dist/pipeline/phases/embeddings.d.ts.map +1 -0
- package/dist/pipeline/phases/embeddings.js +697 -0
- package/dist/pipeline/phases/embeddings.js.map +1 -0
- package/dist/pipeline/phases/fetches.d.ts +47 -0
- package/dist/pipeline/phases/fetches.d.ts.map +1 -0
- package/dist/pipeline/phases/fetches.js +207 -0
- package/dist/pipeline/phases/fetches.js.map +1 -0
- package/dist/pipeline/phases/incremental-helper.d.ts +96 -0
- package/dist/pipeline/phases/incremental-helper.d.ts.map +1 -0
- package/dist/pipeline/phases/incremental-helper.js +125 -0
- package/dist/pipeline/phases/incremental-helper.js.map +1 -0
- package/dist/pipeline/phases/incremental-scope.d.ts +67 -0
- package/dist/pipeline/phases/incremental-scope.d.ts.map +1 -0
- package/dist/pipeline/phases/incremental-scope.js +225 -0
- package/dist/pipeline/phases/incremental-scope.js.map +1 -0
- package/dist/pipeline/phases/markdown.d.ts +29 -0
- package/dist/pipeline/phases/markdown.d.ts.map +1 -0
- package/dist/pipeline/phases/markdown.js +298 -0
- package/dist/pipeline/phases/markdown.js.map +1 -0
- package/dist/pipeline/phases/mro.d.ts +24 -0
- package/dist/pipeline/phases/mro.d.ts.map +1 -0
- package/dist/pipeline/phases/mro.js +303 -0
- package/dist/pipeline/phases/mro.js.map +1 -0
- package/dist/pipeline/phases/openapi.d.ts +52 -0
- package/dist/pipeline/phases/openapi.d.ts.map +1 -0
- package/dist/pipeline/phases/openapi.js +285 -0
- package/dist/pipeline/phases/openapi.js.map +1 -0
- package/dist/pipeline/phases/orm.d.ts +26 -0
- package/dist/pipeline/phases/orm.d.ts.map +1 -0
- package/dist/pipeline/phases/orm.js +183 -0
- package/dist/pipeline/phases/orm.js.map +1 -0
- package/dist/pipeline/phases/ownership.d.ts +88 -0
- package/dist/pipeline/phases/ownership.d.ts.map +1 -0
- package/dist/pipeline/phases/ownership.js +479 -0
- package/dist/pipeline/phases/ownership.js.map +1 -0
- package/dist/pipeline/phases/parse.d.ts +63 -0
- package/dist/pipeline/phases/parse.d.ts.map +1 -0
- package/dist/pipeline/phases/parse.js +994 -0
- package/dist/pipeline/phases/parse.js.map +1 -0
- package/dist/pipeline/phases/processes.d.ts +47 -0
- package/dist/pipeline/phases/processes.d.ts.map +1 -0
- package/dist/pipeline/phases/processes.js +620 -0
- package/dist/pipeline/phases/processes.js.map +1 -0
- package/dist/pipeline/phases/profile.d.ts +33 -0
- package/dist/pipeline/phases/profile.d.ts.map +1 -0
- package/dist/pipeline/phases/profile.js +91 -0
- package/dist/pipeline/phases/profile.js.map +1 -0
- package/dist/pipeline/phases/repo-node.d.ts +112 -0
- package/dist/pipeline/phases/repo-node.d.ts.map +1 -0
- package/dist/pipeline/phases/repo-node.js +272 -0
- package/dist/pipeline/phases/repo-node.js.map +1 -0
- package/dist/pipeline/phases/risk-snapshot.d.ts +34 -0
- package/dist/pipeline/phases/risk-snapshot.d.ts.map +1 -0
- package/dist/pipeline/phases/risk-snapshot.js +63 -0
- package/dist/pipeline/phases/risk-snapshot.js.map +1 -0
- package/dist/pipeline/phases/routes.d.ts +31 -0
- package/dist/pipeline/phases/routes.d.ts.map +1 -0
- package/dist/pipeline/phases/routes.js +262 -0
- package/dist/pipeline/phases/routes.js.map +1 -0
- package/dist/pipeline/phases/sbom.d.ts +45 -0
- package/dist/pipeline/phases/sbom.d.ts.map +1 -0
- package/dist/pipeline/phases/sbom.js +289 -0
- package/dist/pipeline/phases/sbom.js.map +1 -0
- package/dist/pipeline/phases/scan.d.ts +54 -0
- package/dist/pipeline/phases/scan.d.ts.map +1 -0
- package/dist/pipeline/phases/scan.js +340 -0
- package/dist/pipeline/phases/scan.js.map +1 -0
- package/dist/pipeline/phases/scip-index.d.ts +54 -0
- package/dist/pipeline/phases/scip-index.d.ts.map +1 -0
- package/dist/pipeline/phases/scip-index.js +469 -0
- package/dist/pipeline/phases/scip-index.js.map +1 -0
- package/dist/pipeline/phases/structure.d.ts +21 -0
- package/dist/pipeline/phases/structure.d.ts.map +1 -0
- package/dist/pipeline/phases/structure.js +115 -0
- package/dist/pipeline/phases/structure.js.map +1 -0
- package/dist/pipeline/phases/summarize.d.ts +126 -0
- package/dist/pipeline/phases/summarize.d.ts.map +1 -0
- package/dist/pipeline/phases/summarize.js +401 -0
- package/dist/pipeline/phases/summarize.js.map +1 -0
- package/dist/pipeline/phases/temporal-helpers/branch-divergence.d.ts +42 -0
- package/dist/pipeline/phases/temporal-helpers/branch-divergence.d.ts.map +1 -0
- package/dist/pipeline/phases/temporal-helpers/branch-divergence.js +96 -0
- package/dist/pipeline/phases/temporal-helpers/branch-divergence.js.map +1 -0
- package/dist/pipeline/phases/temporal-helpers/churn-decay.d.ts +22 -0
- package/dist/pipeline/phases/temporal-helpers/churn-decay.d.ts.map +1 -0
- package/dist/pipeline/phases/temporal-helpers/churn-decay.js +32 -0
- package/dist/pipeline/phases/temporal-helpers/churn-decay.js.map +1 -0
- package/dist/pipeline/phases/temporal-helpers/conventional-commits.d.ts +21 -0
- package/dist/pipeline/phases/temporal-helpers/conventional-commits.d.ts.map +1 -0
- package/dist/pipeline/phases/temporal-helpers/conventional-commits.js +37 -0
- package/dist/pipeline/phases/temporal-helpers/conventional-commits.js.map +1 -0
- package/dist/pipeline/phases/temporal-helpers/gini.d.ts +32 -0
- package/dist/pipeline/phases/temporal-helpers/gini.d.ts.map +1 -0
- package/dist/pipeline/phases/temporal-helpers/gini.js +78 -0
- package/dist/pipeline/phases/temporal-helpers/gini.js.map +1 -0
- package/dist/pipeline/phases/temporal-helpers/revert-detect.d.ts +14 -0
- package/dist/pipeline/phases/temporal-helpers/revert-detect.d.ts.map +1 -0
- package/dist/pipeline/phases/temporal-helpers/revert-detect.js +25 -0
- package/dist/pipeline/phases/temporal-helpers/revert-detect.js.map +1 -0
- package/dist/pipeline/phases/temporal-helpers/test-pair.d.ts +18 -0
- package/dist/pipeline/phases/temporal-helpers/test-pair.d.ts.map +1 -0
- package/dist/pipeline/phases/temporal-helpers/test-pair.js +119 -0
- package/dist/pipeline/phases/temporal-helpers/test-pair.js.map +1 -0
- package/dist/pipeline/phases/temporal.d.ts +65 -0
- package/dist/pipeline/phases/temporal.d.ts.map +1 -0
- package/dist/pipeline/phases/temporal.js +621 -0
- package/dist/pipeline/phases/temporal.js.map +1 -0
- package/dist/pipeline/phases/tools.d.ts +21 -0
- package/dist/pipeline/phases/tools.d.ts.map +1 -0
- package/dist/pipeline/phases/tools.js +118 -0
- package/dist/pipeline/phases/tools.js.map +1 -0
- package/dist/pipeline/profile-detectors/api-contracts.d.ts +18 -0
- package/dist/pipeline/profile-detectors/api-contracts.d.ts.map +1 -0
- package/dist/pipeline/profile-detectors/api-contracts.js +78 -0
- package/dist/pipeline/profile-detectors/api-contracts.js.map +1 -0
- package/dist/pipeline/profile-detectors/framework-detector.d.ts +11 -0
- package/dist/pipeline/profile-detectors/framework-detector.d.ts.map +1 -0
- package/dist/pipeline/profile-detectors/framework-detector.js +11 -0
- package/dist/pipeline/profile-detectors/framework-detector.js.map +1 -0
- package/dist/pipeline/profile-detectors/frameworks-catalog.d.ts +7 -0
- package/dist/pipeline/profile-detectors/frameworks-catalog.d.ts.map +1 -0
- package/dist/pipeline/profile-detectors/frameworks-catalog.js +7 -0
- package/dist/pipeline/profile-detectors/frameworks-catalog.js.map +1 -0
- package/dist/pipeline/profile-detectors/frameworks.d.ts +7 -0
- package/dist/pipeline/profile-detectors/frameworks.d.ts.map +1 -0
- package/dist/pipeline/profile-detectors/frameworks.js +7 -0
- package/dist/pipeline/profile-detectors/frameworks.js.map +1 -0
- package/dist/pipeline/profile-detectors/iac.d.ts +22 -0
- package/dist/pipeline/profile-detectors/iac.d.ts.map +1 -0
- package/dist/pipeline/profile-detectors/iac.js +97 -0
- package/dist/pipeline/profile-detectors/iac.js.map +1 -0
- package/dist/pipeline/profile-detectors/languages.d.ts +18 -0
- package/dist/pipeline/profile-detectors/languages.d.ts.map +1 -0
- package/dist/pipeline/profile-detectors/languages.js +60 -0
- package/dist/pipeline/profile-detectors/languages.js.map +1 -0
- package/dist/pipeline/profile-detectors/manifests.d.ts +7 -0
- package/dist/pipeline/profile-detectors/manifests.d.ts.map +1 -0
- package/dist/pipeline/profile-detectors/manifests.js +7 -0
- package/dist/pipeline/profile-detectors/manifests.js.map +1 -0
- package/dist/pipeline/profile-detectors/src-dirs.d.ts +17 -0
- package/dist/pipeline/profile-detectors/src-dirs.d.ts.map +1 -0
- package/dist/pipeline/profile-detectors/src-dirs.js +89 -0
- package/dist/pipeline/profile-detectors/src-dirs.js.map +1 -0
- package/dist/pipeline/profile-detectors/variant-detectors.d.ts +7 -0
- package/dist/pipeline/profile-detectors/variant-detectors.d.ts.map +1 -0
- package/dist/pipeline/profile-detectors/variant-detectors.js +7 -0
- package/dist/pipeline/profile-detectors/variant-detectors.js.map +1 -0
- package/dist/pipeline/runner.d.ts +54 -0
- package/dist/pipeline/runner.d.ts.map +1 -0
- package/dist/pipeline/runner.js +247 -0
- package/dist/pipeline/runner.js.map +1 -0
- package/dist/pipeline/types.d.ts +235 -0
- package/dist/pipeline/types.d.ts.map +1 -0
- package/dist/pipeline/types.js +15 -0
- package/dist/pipeline/types.js.map +1 -0
- package/dist/providers/c.d.ts +3 -0
- package/dist/providers/c.d.ts.map +1 -0
- package/dist/providers/c.js +162 -0
- package/dist/providers/c.js.map +1 -0
- package/dist/providers/cobol.d.ts +19 -0
- package/dist/providers/cobol.d.ts.map +1 -0
- package/dist/providers/cobol.js +44 -0
- package/dist/providers/cobol.js.map +1 -0
- package/dist/providers/cpp.d.ts +3 -0
- package/dist/providers/cpp.d.ts.map +1 -0
- package/dist/providers/cpp.js +200 -0
- package/dist/providers/cpp.js.map +1 -0
- package/dist/providers/csharp.d.ts +3 -0
- package/dist/providers/csharp.d.ts.map +1 -0
- package/dist/providers/csharp.js +292 -0
- package/dist/providers/csharp.js.map +1 -0
- package/dist/providers/dart.d.ts +3 -0
- package/dist/providers/dart.d.ts.map +1 -0
- package/dist/providers/dart.js +214 -0
- package/dist/providers/dart.js.map +1 -0
- package/dist/providers/definition-ids.d.ts +18 -0
- package/dist/providers/definition-ids.d.ts.map +1 -0
- package/dist/providers/definition-ids.js +23 -0
- package/dist/providers/definition-ids.js.map +1 -0
- package/dist/providers/extract-helpers.d.ts +60 -0
- package/dist/providers/extract-helpers.d.ts.map +1 -0
- package/dist/providers/extract-helpers.js +296 -0
- package/dist/providers/extract-helpers.js.map +1 -0
- package/dist/providers/extraction-types.d.ts +85 -0
- package/dist/providers/extraction-types.d.ts.map +1 -0
- package/dist/providers/extraction-types.js +13 -0
- package/dist/providers/extraction-types.js.map +1 -0
- package/dist/providers/go.d.ts +3 -0
- package/dist/providers/go.d.ts.map +1 -0
- package/dist/providers/go.js +359 -0
- package/dist/providers/go.js.map +1 -0
- package/dist/providers/http-detect.d.ts +44 -0
- package/dist/providers/http-detect.d.ts.map +1 -0
- package/dist/providers/http-detect.js +307 -0
- package/dist/providers/http-detect.js.map +1 -0
- package/dist/providers/index.d.ts +38 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +33 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/java.d.ts +3 -0
- package/dist/providers/java.d.ts.map +1 -0
- package/dist/providers/java.js +259 -0
- package/dist/providers/java.js.map +1 -0
- package/dist/providers/javascript.d.ts +3 -0
- package/dist/providers/javascript.d.ts.map +1 -0
- package/dist/providers/javascript.js +139 -0
- package/dist/providers/javascript.js.map +1 -0
- package/dist/providers/kotlin.d.ts +3 -0
- package/dist/providers/kotlin.d.ts.map +1 -0
- package/dist/providers/kotlin.js +175 -0
- package/dist/providers/kotlin.js.map +1 -0
- package/dist/providers/php.d.ts +3 -0
- package/dist/providers/php.d.ts.map +1 -0
- package/dist/providers/php.js +218 -0
- package/dist/providers/php.js.map +1 -0
- package/dist/providers/python-accesses.d.ts +9 -0
- package/dist/providers/python-accesses.d.ts.map +1 -0
- package/dist/providers/python-accesses.js +22 -0
- package/dist/providers/python-accesses.js.map +1 -0
- package/dist/providers/python.d.ts +3 -0
- package/dist/providers/python.d.ts.map +1 -0
- package/dist/providers/python.js +323 -0
- package/dist/providers/python.js.map +1 -0
- package/dist/providers/registry.d.ts +4 -0
- package/dist/providers/registry.d.ts.map +1 -0
- package/dist/providers/registry.js +46 -0
- package/dist/providers/registry.js.map +1 -0
- package/dist/providers/resolution/c3.d.ts +6 -0
- package/dist/providers/resolution/c3.d.ts.map +1 -0
- package/dist/providers/resolution/c3.js +76 -0
- package/dist/providers/resolution/c3.js.map +1 -0
- package/dist/providers/resolution/context.d.ts +38 -0
- package/dist/providers/resolution/context.d.ts.map +1 -0
- package/dist/providers/resolution/context.js +45 -0
- package/dist/providers/resolution/context.js.map +1 -0
- package/dist/providers/resolution/first-wins.d.ts +3 -0
- package/dist/providers/resolution/first-wins.d.ts.map +1 -0
- package/dist/providers/resolution/first-wins.js +27 -0
- package/dist/providers/resolution/first-wins.js.map +1 -0
- package/dist/providers/resolution/mro.d.ts +16 -0
- package/dist/providers/resolution/mro.d.ts.map +1 -0
- package/dist/providers/resolution/mro.js +14 -0
- package/dist/providers/resolution/mro.js.map +1 -0
- package/dist/providers/resolution/none.d.ts +3 -0
- package/dist/providers/resolution/none.d.ts.map +1 -0
- package/dist/providers/resolution/none.js +11 -0
- package/dist/providers/resolution/none.js.map +1 -0
- package/dist/providers/resolution/python-all-filter.d.ts +25 -0
- package/dist/providers/resolution/python-all-filter.d.ts.map +1 -0
- package/dist/providers/resolution/python-all-filter.js +64 -0
- package/dist/providers/resolution/python-all-filter.js.map +1 -0
- package/dist/providers/resolution/resolver-strategy.d.ts +42 -0
- package/dist/providers/resolution/resolver-strategy.d.ts.map +1 -0
- package/dist/providers/resolution/resolver-strategy.js +50 -0
- package/dist/providers/resolution/resolver-strategy.js.map +1 -0
- package/dist/providers/resolution/single-inheritance.d.ts +3 -0
- package/dist/providers/resolution/single-inheritance.d.ts.map +1 -0
- package/dist/providers/resolution/single-inheritance.js +21 -0
- package/dist/providers/resolution/single-inheritance.js.map +1 -0
- package/dist/providers/resolution/stack-graphs/__fixtures__/mock-tree.d.ts +16 -0
- package/dist/providers/resolution/stack-graphs/__fixtures__/mock-tree.d.ts.map +1 -0
- package/dist/providers/resolution/stack-graphs/__fixtures__/mock-tree.js +50 -0
- package/dist/providers/resolution/stack-graphs/__fixtures__/mock-tree.js.map +1 -0
- package/dist/providers/resolution/stack-graphs/glue.d.ts +15 -0
- package/dist/providers/resolution/stack-graphs/glue.d.ts.map +1 -0
- package/dist/providers/resolution/stack-graphs/glue.js +44 -0
- package/dist/providers/resolution/stack-graphs/glue.js.map +1 -0
- package/dist/providers/resolution/stack-graphs/node-edge-builder.d.ts +30 -0
- package/dist/providers/resolution/stack-graphs/node-edge-builder.d.ts.map +1 -0
- package/dist/providers/resolution/stack-graphs/node-edge-builder.js +366 -0
- package/dist/providers/resolution/stack-graphs/node-edge-builder.js.map +1 -0
- package/dist/providers/resolution/stack-graphs/partial-path-engine.d.ts +9 -0
- package/dist/providers/resolution/stack-graphs/partial-path-engine.d.ts.map +1 -0
- package/dist/providers/resolution/stack-graphs/partial-path-engine.js +152 -0
- package/dist/providers/resolution/stack-graphs/partial-path-engine.js.map +1 -0
- package/dist/providers/resolution/stack-graphs/rule-parser.d.ts +11 -0
- package/dist/providers/resolution/stack-graphs/rule-parser.d.ts.map +1 -0
- package/dist/providers/resolution/stack-graphs/rule-parser.js +247 -0
- package/dist/providers/resolution/stack-graphs/rule-parser.js.map +1 -0
- package/dist/providers/resolution/stack-graphs/types.d.ts +93 -0
- package/dist/providers/resolution/stack-graphs/types.d.ts.map +1 -0
- package/dist/providers/resolution/stack-graphs/types.js +11 -0
- package/dist/providers/resolution/stack-graphs/types.js.map +1 -0
- package/dist/providers/resolution/stack-graphs-python.d.ts +27 -0
- package/dist/providers/resolution/stack-graphs-python.d.ts.map +1 -0
- package/dist/providers/resolution/stack-graphs-python.js +104 -0
- package/dist/providers/resolution/stack-graphs-python.js.map +1 -0
- package/dist/providers/resolution/stack-graphs-ts.d.ts +134 -0
- package/dist/providers/resolution/stack-graphs-ts.d.ts.map +1 -0
- package/dist/providers/resolution/stack-graphs-ts.js +372 -0
- package/dist/providers/resolution/stack-graphs-ts.js.map +1 -0
- package/dist/providers/ruby.d.ts +3 -0
- package/dist/providers/ruby.d.ts.map +1 -0
- package/dist/providers/ruby.js +259 -0
- package/dist/providers/ruby.js.map +1 -0
- package/dist/providers/rust.d.ts +3 -0
- package/dist/providers/rust.d.ts.map +1 -0
- package/dist/providers/rust.js +318 -0
- package/dist/providers/rust.js.map +1 -0
- package/dist/providers/swift.d.ts +3 -0
- package/dist/providers/swift.d.ts.map +1 -0
- package/dist/providers/swift.js +177 -0
- package/dist/providers/swift.js.map +1 -0
- package/dist/providers/test-helpers.d.ts +24 -0
- package/dist/providers/test-helpers.d.ts.map +1 -0
- package/dist/providers/test-helpers.js +33 -0
- package/dist/providers/test-helpers.js.map +1 -0
- package/dist/providers/ts-shared.d.ts +30 -0
- package/dist/providers/ts-shared.d.ts.map +1 -0
- package/dist/providers/ts-shared.js +328 -0
- package/dist/providers/ts-shared.js.map +1 -0
- package/dist/providers/tsx.d.ts +7 -0
- package/dist/providers/tsx.d.ts.map +1 -0
- package/dist/providers/tsx.js +79 -0
- package/dist/providers/tsx.js.map +1 -0
- package/dist/providers/types.d.ts +166 -0
- package/dist/providers/types.d.ts.map +1 -0
- package/dist/providers/types.js +7 -0
- package/dist/providers/types.js.map +1 -0
- package/dist/providers/typescript-family-accesses.d.ts +14 -0
- package/dist/providers/typescript-family-accesses.d.ts.map +1 -0
- package/dist/providers/typescript-family-accesses.js +27 -0
- package/dist/providers/typescript-family-accesses.js.map +1 -0
- package/dist/providers/typescript.d.ts +9 -0
- package/dist/providers/typescript.d.ts.map +1 -0
- package/dist/providers/typescript.js +84 -0
- package/dist/providers/typescript.js.map +1 -0
- package/package.json +108 -0
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types for the pipeline runner and phase modules.
|
|
3
|
+
*
|
|
4
|
+
* The pipeline is a static DAG: each phase declares its dependencies by name,
|
|
5
|
+
* the runner validates (duplicate / missing / cycle) and sorts phases
|
|
6
|
+
* topologically, then executes in order. Phases communicate via a typed
|
|
7
|
+
* output map keyed by phase name; each phase only sees outputs of phases it
|
|
8
|
+
* declared as dependencies (dep isolation prevents hidden coupling).
|
|
9
|
+
*
|
|
10
|
+
* The runner plus scan/structure/parse are the core; markdown, routes,
|
|
11
|
+
* tools, orm, crossFile, mro, communities, and processes extend the set
|
|
12
|
+
* without touching this file.
|
|
13
|
+
*/
|
|
14
|
+
import type { CodeRelation, GraphNode, KnowledgeGraph } from "@opencodehub/core-types";
|
|
15
|
+
/** Runtime context supplied to each phase. */
|
|
16
|
+
export interface PipelineContext {
|
|
17
|
+
/** Absolute repository root path. */
|
|
18
|
+
readonly repoPath: string;
|
|
19
|
+
/** Normalized pipeline options. */
|
|
20
|
+
readonly options: PipelineOptions;
|
|
21
|
+
/** Single shared mutable graph accumulator populated across phases. */
|
|
22
|
+
readonly graph: KnowledgeGraph;
|
|
23
|
+
/** Outputs emitted by phases that completed before the caller. */
|
|
24
|
+
readonly phaseOutputs: ReadonlyMap<string, unknown>;
|
|
25
|
+
/** Optional progress sink; thrown errors from the callback are swallowed. */
|
|
26
|
+
readonly onProgress?: (ev: ProgressEvent) => void;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Minimal projection of a prior-run graph sufficient for the incremental-scope
|
|
30
|
+
* phase to compute the import-closure walk. We intentionally keep this
|
|
31
|
+
* narrower than a full {@link KnowledgeGraph} so callers can materialise
|
|
32
|
+
* it cheaply from persisted storage (DuckDB rows, sidecar JSON, etc.) without
|
|
33
|
+
* hydrating every node/edge kind in the graph.
|
|
34
|
+
*
|
|
35
|
+
* All arrays carry repo-relative posix paths (matching `ScannedFile.relPath`).
|
|
36
|
+
* The inputs must be pre-deduplicated; no validation is performed downstream.
|
|
37
|
+
*/
|
|
38
|
+
export interface PreviousGraph {
|
|
39
|
+
/**
|
|
40
|
+
* Relative file paths present in the prior index, each paired with the
|
|
41
|
+
* content-addressed sha256 captured on the last successful scan. Paths
|
|
42
|
+
* absent from the current scan are silently ignored; paths whose hash
|
|
43
|
+
* differs from the current scan are treated as "changed" and seed the
|
|
44
|
+
* closure walk.
|
|
45
|
+
*/
|
|
46
|
+
readonly files: readonly {
|
|
47
|
+
readonly relPath: string;
|
|
48
|
+
readonly contentSha: string;
|
|
49
|
+
}[];
|
|
50
|
+
/**
|
|
51
|
+
* IMPORTS edges at file granularity — `importer` depends on `target`. The
|
|
52
|
+
* shape mirrors the edges written by the parse phase (`File -> File`). Edges
|
|
53
|
+
* whose endpoints are outside `files` are ignored by the closure walk.
|
|
54
|
+
*/
|
|
55
|
+
readonly importEdges: readonly {
|
|
56
|
+
readonly importer: string;
|
|
57
|
+
readonly target: string;
|
|
58
|
+
}[];
|
|
59
|
+
/**
|
|
60
|
+
* Heritage neighbourhoods per file. Used to grow the closure by one hop of
|
|
61
|
+
* EXTENDS/IMPLEMENTS ancestors + descendants so an edit to a base class
|
|
62
|
+
* refreshes its subtype MROs. Empty array is valid (no heritage known).
|
|
63
|
+
*/
|
|
64
|
+
readonly heritageEdges: readonly {
|
|
65
|
+
readonly childFile: string;
|
|
66
|
+
readonly parentFile: string;
|
|
67
|
+
}[];
|
|
68
|
+
/**
|
|
69
|
+
* Full prior-run node set. When present, the four active incremental
|
|
70
|
+
* phases (crossFile/mro/communities/processes) carry forward any
|
|
71
|
+
* non-closure node from the prior run so incremental mode produces a
|
|
72
|
+
* byte-identical graph hash vs a fresh full run at the same commit.
|
|
73
|
+
* `undefined` keeps the passive contract where incremental-scope emits
|
|
74
|
+
* the closure hint but the downstream phases re-compute from scratch.
|
|
75
|
+
*/
|
|
76
|
+
readonly nodes?: readonly GraphNode[];
|
|
77
|
+
/**
|
|
78
|
+
* Full prior-run edge set. Paired with {@link nodes}; see its docstring
|
|
79
|
+
* for activation semantics. Active incremental phases use this snapshot
|
|
80
|
+
* to carry forward edges whose both endpoints lie outside the closure
|
|
81
|
+
* unchanged. Edges whose endpoints are now missing from the current
|
|
82
|
+
* graph are silently dropped on carry-forward.
|
|
83
|
+
*/
|
|
84
|
+
readonly edges?: readonly CodeRelation[];
|
|
85
|
+
}
|
|
86
|
+
/** Operator knobs accepted by the top-level `runIngestion` entry. */
|
|
87
|
+
export interface PipelineOptions {
|
|
88
|
+
/** Re-run phases even if a prior run's artifacts look current. */
|
|
89
|
+
readonly force?: boolean;
|
|
90
|
+
/**
|
|
91
|
+
* Snapshot of the prior index, supplied when the orchestrator is invoked in
|
|
92
|
+
* incremental mode. When present the {@link INCREMENTAL_SCOPE_PHASE_NAME}
|
|
93
|
+
* phase walks the IMPORTS closure and emits the set of files that need
|
|
94
|
+
* re-processing. When absent (or when `--force` is set), the phase declares
|
|
95
|
+
* a full reindex. See `packages/ingestion/src/pipeline/phases/incremental-scope.ts`.
|
|
96
|
+
*/
|
|
97
|
+
readonly incrementalFrom?: PreviousGraph;
|
|
98
|
+
/**
|
|
99
|
+
* Refuse to spawn any child that hits the network. Phase authors are
|
|
100
|
+
* expected to honor this by avoiding network IO; the orchestrator does
|
|
101
|
+
* not sandbox — it simply threads the flag through.
|
|
102
|
+
*/
|
|
103
|
+
readonly offline?: boolean;
|
|
104
|
+
/** Extra chatter on the progress callback (implementation-defined). */
|
|
105
|
+
readonly verbose?: boolean;
|
|
106
|
+
/** Skip `git` invocations during scan when we are not in a git repo. */
|
|
107
|
+
readonly skipGit?: boolean;
|
|
108
|
+
/** Per-file byte cap; files larger than this are skipped with a warning. */
|
|
109
|
+
readonly byteCapPerFile?: number;
|
|
110
|
+
/** Overall file cap; scan stops accepting files once this is reached. */
|
|
111
|
+
readonly maxTotalFiles?: number;
|
|
112
|
+
/**
|
|
113
|
+
* Populate the embeddings table. Requires `codehub setup --embeddings` to
|
|
114
|
+
* have installed weights on disk. When false (default) the embeddings
|
|
115
|
+
* phase returns an empty result without loading ONNX.
|
|
116
|
+
*/
|
|
117
|
+
readonly embeddings?: boolean;
|
|
118
|
+
/**
|
|
119
|
+
* Which embedder variant to load when `embeddings=true`. Defaults to
|
|
120
|
+
* `fp32`. Ignored when `embeddings=false`.
|
|
121
|
+
*/
|
|
122
|
+
readonly embeddingsVariant?: "fp32" | "int8";
|
|
123
|
+
/** Override the model directory used by the embedder. */
|
|
124
|
+
readonly embeddingsModelDir?: string;
|
|
125
|
+
/**
|
|
126
|
+
* Hierarchical tiers to emit when `embeddings=true` (P03). Defaults to
|
|
127
|
+
* `["symbol"]` so v1.0 behaviour is preserved. Pass
|
|
128
|
+
* `["symbol", "file", "community"]` to emit all three tiers; the phase
|
|
129
|
+
* de-dupes and normalizes the order. Unknown tier names are silently
|
|
130
|
+
* filtered at the TS type level.
|
|
131
|
+
*/
|
|
132
|
+
readonly embeddingsGranularity?: readonly ("symbol" | "file" | "community")[];
|
|
133
|
+
/**
|
|
134
|
+
* Number of ONNX embedder workers to run in parallel. `undefined` or
|
|
135
|
+
* `<= 1` preserves the legacy in-process path (single main-thread
|
|
136
|
+
* embedder, no Piscina overhead). Values >= 2 spin up a worker pool of
|
|
137
|
+
* independent OnnxEmbedder instances. Each worker holds its own
|
|
138
|
+
* session (~300 MB RSS on fp32), so sizing above `os.cpus().length - 1`
|
|
139
|
+
* buys nothing and risks memory pressure. Ignored when the HTTP
|
|
140
|
+
* backend is selected via `CODEHUB_EMBEDDING_URL`.
|
|
141
|
+
*/
|
|
142
|
+
readonly embeddingsWorkers?: number;
|
|
143
|
+
/**
|
|
144
|
+
* Batch size for cross-node inference. The embeddings phase groups
|
|
145
|
+
* chunks across symbols/files/communities into a single
|
|
146
|
+
* `embedder.embedBatch()` call; this knob controls that batch size.
|
|
147
|
+
* Defaults to 32 (see `DEFAULT_EMBEDDING_BATCH_SIZE` in the phase
|
|
148
|
+
* module). `1` restores the legacy one-node-per-call pattern.
|
|
149
|
+
*/
|
|
150
|
+
readonly embeddingsBatchSize?: number;
|
|
151
|
+
/**
|
|
152
|
+
* When `true`, the SBOM phase emits `.codehub/sbom.cyclonedx.json` and
|
|
153
|
+
* `.codehub/sbom.spdx.json` from Dependency nodes. When `false` (the
|
|
154
|
+
* default), the phase is a no-op. Toggled via the `codehub analyze
|
|
155
|
+
* --sbom` flag.
|
|
156
|
+
*/
|
|
157
|
+
readonly sbom?: boolean;
|
|
158
|
+
/**
|
|
159
|
+
* When `true` (default), SBOM emission uses a fixed epoch timestamp and
|
|
160
|
+
* a content-addressed document namespace so byte-identical SBOMs are
|
|
161
|
+
* produced for byte-identical Dependency sets. This keeps downstream
|
|
162
|
+
* attestations and diff-based review stable. Setting `false` swaps the
|
|
163
|
+
* epoch for `Date.now()` (floored to the second) and the namespace for
|
|
164
|
+
* a random UUID; reserved for ad-hoc local use.
|
|
165
|
+
*/
|
|
166
|
+
readonly reproducibleSbom?: boolean;
|
|
167
|
+
/**
|
|
168
|
+
* When `true`, the coverage phase probes for lcov / cobertura / jacoco /
|
|
169
|
+
* coverage.py artifacts and annotates `File` nodes with
|
|
170
|
+
* `coveragePercent` + `coveredLines`. Default `false` so analyze stays
|
|
171
|
+
* quiet in repos without a coverage pipeline. Toggled via the
|
|
172
|
+
* `codehub analyze --coverage` flag.
|
|
173
|
+
*/
|
|
174
|
+
readonly coverage?: boolean;
|
|
175
|
+
/**
|
|
176
|
+
* When `true`, the `summarize` phase walks callable symbols, computes a
|
|
177
|
+
* content hash from their source span, and issues a Bedrock summarize
|
|
178
|
+
* call for cache misses. Gated OFF by default because the phase spends
|
|
179
|
+
* real money. The `offline` flag always wins — when `offline === true`
|
|
180
|
+
* the phase is a no-op regardless of this flag.
|
|
181
|
+
*/
|
|
182
|
+
readonly summaries?: boolean | undefined;
|
|
183
|
+
/**
|
|
184
|
+
* Upper bound on the number of Bedrock summarize calls per pipeline run.
|
|
185
|
+
* Defaults to `0`, which runs the phase in dry-run mode: it enumerates
|
|
186
|
+
* eligible symbols and reports `wouldHaveSummarized` without contacting
|
|
187
|
+
* Bedrock. Set to a positive integer (e.g. 10) to actually summarize a
|
|
188
|
+
* bounded subset. Ignored when `summaries !== true`. The CLI resolves
|
|
189
|
+
* `--max-summaries auto` to a concrete integer before calling into the
|
|
190
|
+
* pipeline, so this field is always numeric inside the pipeline.
|
|
191
|
+
*/
|
|
192
|
+
readonly maxSummariesPerRun?: number | undefined;
|
|
193
|
+
/**
|
|
194
|
+
* Override the Bedrock model id used by the summarize phase. When
|
|
195
|
+
* undefined, the phase uses `DEFAULT_MODEL_ID` from
|
|
196
|
+
* `@opencodehub/summarizer`.
|
|
197
|
+
*/
|
|
198
|
+
readonly summaryModel?: string | undefined;
|
|
199
|
+
/**
|
|
200
|
+
* When `true`, detectors that pattern-match on receiver identifiers
|
|
201
|
+
* skip heuristic-only matches entirely — edges are emitted only when a
|
|
202
|
+
* receiver's module origin was confirmed via the import graph or
|
|
203
|
+
* ts-morph. Exposed by the `codehub analyze --strict-detectors` flag
|
|
204
|
+
* (DET-O-001).
|
|
205
|
+
*/
|
|
206
|
+
readonly strictDetectors?: boolean;
|
|
207
|
+
}
|
|
208
|
+
/** Lightweight progress event emitted during pipeline execution. */
|
|
209
|
+
export interface ProgressEvent {
|
|
210
|
+
readonly phase: string;
|
|
211
|
+
readonly kind: "start" | "end" | "note" | "warn" | "error";
|
|
212
|
+
readonly pct?: number;
|
|
213
|
+
readonly message?: string;
|
|
214
|
+
readonly elapsedMs?: number;
|
|
215
|
+
}
|
|
216
|
+
/** Declarative phase description. */
|
|
217
|
+
export interface PipelinePhase<TOutput = unknown> {
|
|
218
|
+
/** Unique phase identifier — must be distinct within a DAG. */
|
|
219
|
+
readonly name: string;
|
|
220
|
+
/** Other phase names that must complete before this one runs. */
|
|
221
|
+
readonly deps: readonly string[];
|
|
222
|
+
/**
|
|
223
|
+
* Execute the phase against the shared context. `deps` is pre-filtered to
|
|
224
|
+
* only include outputs of phases this phase declared as dependencies.
|
|
225
|
+
*/
|
|
226
|
+
run(ctx: PipelineContext, deps: ReadonlyMap<string, unknown>): Promise<TOutput>;
|
|
227
|
+
}
|
|
228
|
+
/** Per-phase summary returned by {@link runPipeline}. */
|
|
229
|
+
export interface PhaseResult {
|
|
230
|
+
readonly name: string;
|
|
231
|
+
readonly output: unknown;
|
|
232
|
+
readonly durationMs: number;
|
|
233
|
+
readonly warnings: readonly string[];
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/pipeline/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types for the pipeline runner and phase modules.
|
|
3
|
+
*
|
|
4
|
+
* The pipeline is a static DAG: each phase declares its dependencies by name,
|
|
5
|
+
* the runner validates (duplicate / missing / cycle) and sorts phases
|
|
6
|
+
* topologically, then executes in order. Phases communicate via a typed
|
|
7
|
+
* output map keyed by phase name; each phase only sees outputs of phases it
|
|
8
|
+
* declared as dependencies (dep isolation prevents hidden coupling).
|
|
9
|
+
*
|
|
10
|
+
* The runner plus scan/structure/parse are the core; markdown, routes,
|
|
11
|
+
* tools, orm, crossFile, mro, communities, and processes extend the set
|
|
12
|
+
* without touching this file.
|
|
13
|
+
*/
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/pipeline/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"c.d.ts","sourceRoot":"","sources":["../../src/providers/c.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAKV,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAqKpB,eAAO,MAAM,SAAS,EAAE,gBAcvB,CAAC"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { getLine, innermostEnclosingDef, isInside, pairDefinitionsWithNames, } from "./extract-helpers.js";
|
|
2
|
+
/**
|
|
3
|
+
* C provider.
|
|
4
|
+
*
|
|
5
|
+
* Definitions: functions, typedefs, structs, unions, enums, static variables,
|
|
6
|
+
* macro definitions. The grammar tags `struct_specifier`/`union_specifier`
|
|
7
|
+
* with `@definition.class` and uses `@definition.type` for `typedef` and
|
|
8
|
+
* `enum_specifier`.
|
|
9
|
+
*
|
|
10
|
+
* Calls: `call_expression` with a bare identifier callee. Qualified calls
|
|
11
|
+
* (e.g. `namespace::foo()`) are a C++ concept — not applicable here.
|
|
12
|
+
*
|
|
13
|
+
* Imports: `#include` directives — system headers (`<h>`) and user headers
|
|
14
|
+
* (`"h"`) are both treated as `package-wildcard` imports at MVP.
|
|
15
|
+
*
|
|
16
|
+
* Heritage: C has no inheritance, so this is always `[]`.
|
|
17
|
+
*
|
|
18
|
+
* Exports: at MVP we treat `static` identifiers (file-scoped) as not
|
|
19
|
+
* exported; everything else is. We use the header line of the definition
|
|
20
|
+
* to check for the `static` storage-class specifier.
|
|
21
|
+
*/
|
|
22
|
+
const C_DEF_KIND_MAP = {
|
|
23
|
+
"definition.function": "Function",
|
|
24
|
+
"definition.class": "Struct",
|
|
25
|
+
"definition.type": "Typedef",
|
|
26
|
+
"definition.enum": "Enum",
|
|
27
|
+
"definition.union": "Union",
|
|
28
|
+
"definition.constant": "Const",
|
|
29
|
+
"definition.macro": "Macro",
|
|
30
|
+
};
|
|
31
|
+
function extractCDefinitions(input) {
|
|
32
|
+
const { filePath, captures, sourceText } = input;
|
|
33
|
+
const paired = pairDefinitionsWithNames(captures);
|
|
34
|
+
const defCaptures = captures.filter((c) => c.tag.startsWith("definition."));
|
|
35
|
+
const out = [];
|
|
36
|
+
for (const { def, name } of paired) {
|
|
37
|
+
const kind = C_DEF_KIND_MAP[def.tag];
|
|
38
|
+
if (kind === undefined)
|
|
39
|
+
continue;
|
|
40
|
+
let owner;
|
|
41
|
+
const ownerDef = innermostEnclosingDef(def, defCaptures);
|
|
42
|
+
if (ownerDef !== undefined) {
|
|
43
|
+
const ownerPaired = paired.find((p) => p.def === ownerDef);
|
|
44
|
+
if (ownerPaired !== undefined)
|
|
45
|
+
owner = ownerPaired.name.text;
|
|
46
|
+
}
|
|
47
|
+
const qualifiedName = owner !== undefined ? `${owner}.${name.text}` : name.text;
|
|
48
|
+
const headerLine = getLine(sourceText, def.startLine);
|
|
49
|
+
const isStatic = /\bstatic\b/.test(headerLine);
|
|
50
|
+
// C convention: identifiers prefixed with `_` tend to be internal; we
|
|
51
|
+
// respect both `static` and leading-underscore as non-exported.
|
|
52
|
+
const isExported = !isStatic && !name.text.startsWith("_");
|
|
53
|
+
out.push({
|
|
54
|
+
kind,
|
|
55
|
+
name: name.text,
|
|
56
|
+
qualifiedName,
|
|
57
|
+
filePath,
|
|
58
|
+
startLine: def.startLine,
|
|
59
|
+
endLine: def.endLine,
|
|
60
|
+
isExported,
|
|
61
|
+
...(owner !== undefined ? { owner } : {}),
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
return out;
|
|
65
|
+
}
|
|
66
|
+
function extractCCalls(input) {
|
|
67
|
+
const { filePath, captures, definitions } = input;
|
|
68
|
+
const defCaptures = captures.filter((c) => c.tag.startsWith("definition."));
|
|
69
|
+
const callRefs = captures.filter((c) => c.tag === "reference.call");
|
|
70
|
+
const out = [];
|
|
71
|
+
for (const ref of callRefs) {
|
|
72
|
+
const innerName = findNameInside(captures, ref);
|
|
73
|
+
const calleeName = innerName?.text ?? ref.text;
|
|
74
|
+
const enclosingDef = innermostEnclosingDef(ref, defCaptures);
|
|
75
|
+
const callerQualifiedName = enclosingDef
|
|
76
|
+
? qualifiedForCapture(enclosingDef, definitions)
|
|
77
|
+
: "<module>";
|
|
78
|
+
out.push({
|
|
79
|
+
callerQualifiedName,
|
|
80
|
+
calleeName,
|
|
81
|
+
filePath,
|
|
82
|
+
startLine: ref.startLine,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
return out;
|
|
86
|
+
}
|
|
87
|
+
function findNameInside(captures, outer) {
|
|
88
|
+
let best;
|
|
89
|
+
for (const c of captures) {
|
|
90
|
+
if (c.tag !== "name")
|
|
91
|
+
continue;
|
|
92
|
+
if (!isInside(c, outer))
|
|
93
|
+
continue;
|
|
94
|
+
if (best === undefined || c.startLine < best.startLine)
|
|
95
|
+
best = c;
|
|
96
|
+
}
|
|
97
|
+
return best;
|
|
98
|
+
}
|
|
99
|
+
function qualifiedForCapture(def, definitions) {
|
|
100
|
+
for (const d of definitions) {
|
|
101
|
+
if (d.startLine === def.startLine)
|
|
102
|
+
return d.qualifiedName;
|
|
103
|
+
}
|
|
104
|
+
return "<module>";
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Parse `#include` directives. Covers both forms:
|
|
108
|
+
* `#include <stdio.h>` system headers
|
|
109
|
+
* `#include "local.h"` user headers
|
|
110
|
+
*
|
|
111
|
+
* The quoted form may appear in `localAlias` in future revisions; today we
|
|
112
|
+
* just record the raw path. `kind` is `package-wildcard` since an include
|
|
113
|
+
* pulls in every symbol exposed by the header.
|
|
114
|
+
*/
|
|
115
|
+
function extractCImports(input) {
|
|
116
|
+
const { filePath, sourceText } = input;
|
|
117
|
+
// We deliberately avoid the shared `stripComments` helper — it treats `#`
|
|
118
|
+
// as a line-comment starter (Python/Ruby/shell convention), which would
|
|
119
|
+
// eat `#include` directives. `//` and `/* */` are handled by the regex
|
|
120
|
+
// itself: an include line must start with `#include` before any comment.
|
|
121
|
+
const stripped = stripCStyleComments(sourceText);
|
|
122
|
+
const out = [];
|
|
123
|
+
// System includes: #include <path>
|
|
124
|
+
const systemRe = /^\s*#\s*include\s+<([^>]+)>/gm;
|
|
125
|
+
for (const m of stripped.matchAll(systemRe)) {
|
|
126
|
+
out.push({ filePath, source: m[1], kind: "package-wildcard" });
|
|
127
|
+
}
|
|
128
|
+
// User includes: #include "path"
|
|
129
|
+
const userRe = /^\s*#\s*include\s+"([^"]+)"/gm;
|
|
130
|
+
for (const m of stripped.matchAll(userRe)) {
|
|
131
|
+
out.push({ filePath, source: m[1], kind: "package-wildcard" });
|
|
132
|
+
}
|
|
133
|
+
return out;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Strip C-style line and block comments without touching `#` — which is
|
|
137
|
+
* a preprocessor sigil, not a comment.
|
|
138
|
+
*/
|
|
139
|
+
function stripCStyleComments(src) {
|
|
140
|
+
// Replace block comments with spaces to preserve line numbers.
|
|
141
|
+
let out = src.replace(/\/\*[\s\S]*?\*\//g, (s) => s.replace(/[^\n]/g, " "));
|
|
142
|
+
out = out.replace(/\/\/[^\n]*/g, "");
|
|
143
|
+
return out;
|
|
144
|
+
}
|
|
145
|
+
function extractCHeritage(_input) {
|
|
146
|
+
return [];
|
|
147
|
+
}
|
|
148
|
+
export const cProvider = {
|
|
149
|
+
id: "c",
|
|
150
|
+
extensions: [".c", ".h"],
|
|
151
|
+
importSemantics: "named",
|
|
152
|
+
mroStrategy: "none",
|
|
153
|
+
typeConfig: { structural: false, nominal: true, generics: false },
|
|
154
|
+
heritageEdge: null,
|
|
155
|
+
isExportedIdentifier: (name) => !name.startsWith("_"),
|
|
156
|
+
extractDefinitions: extractCDefinitions,
|
|
157
|
+
extractCalls: extractCCalls,
|
|
158
|
+
extractImports: extractCImports,
|
|
159
|
+
isExported: (def) => def.isExported,
|
|
160
|
+
extractHeritage: extractCHeritage,
|
|
161
|
+
};
|
|
162
|
+
//# sourceMappingURL=c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"c.js","sourceRoot":"","sources":["../../src/providers/c.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* COBOL language provider — stub.
|
|
3
|
+
*
|
|
4
|
+
* COBOL has no tree-sitter grammar, so the parse pipeline does NOT route
|
|
5
|
+
* `.cbl` / `.cob` / `.cpy` files through the worker pool or this provider's
|
|
6
|
+
* extract methods. Instead, `packages/ingestion/src/parse/cobol-regex.ts`
|
|
7
|
+
* emits `CodeElement` graph nodes directly from a regex pass.
|
|
8
|
+
*
|
|
9
|
+
* This stub exists solely to satisfy the compile-time
|
|
10
|
+
* `satisfies Record<LanguageId, LanguageProvider>` constraint in
|
|
11
|
+
* `providers/registry.ts`. Every extract method returns an empty array; the
|
|
12
|
+
* receiver-inference and heritage hooks follow the "no inheritance" defaults.
|
|
13
|
+
* Calling any of these methods indicates the parse phase failed to route
|
|
14
|
+
* COBOL files correctly — the resulting empty output is preferable to a
|
|
15
|
+
* crash, but upstream callers should treat it as a bug signal.
|
|
16
|
+
*/
|
|
17
|
+
import type { LanguageProvider } from "./types.js";
|
|
18
|
+
export declare const cobolProvider: LanguageProvider;
|
|
19
|
+
//# sourceMappingURL=cobol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cobol.d.ts","sourceRoot":"","sources":["../../src/providers/cobol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,eAAO,MAAM,aAAa,EAAE,gBA2B3B,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* COBOL language provider — stub.
|
|
3
|
+
*
|
|
4
|
+
* COBOL has no tree-sitter grammar, so the parse pipeline does NOT route
|
|
5
|
+
* `.cbl` / `.cob` / `.cpy` files through the worker pool or this provider's
|
|
6
|
+
* extract methods. Instead, `packages/ingestion/src/parse/cobol-regex.ts`
|
|
7
|
+
* emits `CodeElement` graph nodes directly from a regex pass.
|
|
8
|
+
*
|
|
9
|
+
* This stub exists solely to satisfy the compile-time
|
|
10
|
+
* `satisfies Record<LanguageId, LanguageProvider>` constraint in
|
|
11
|
+
* `providers/registry.ts`. Every extract method returns an empty array; the
|
|
12
|
+
* receiver-inference and heritage hooks follow the "no inheritance" defaults.
|
|
13
|
+
* Calling any of these methods indicates the parse phase failed to route
|
|
14
|
+
* COBOL files correctly — the resulting empty output is preferable to a
|
|
15
|
+
* crash, but upstream callers should treat it as a bug signal.
|
|
16
|
+
*/
|
|
17
|
+
export const cobolProvider = {
|
|
18
|
+
id: "cobol",
|
|
19
|
+
extensions: [".cbl", ".cob", ".cpy"],
|
|
20
|
+
importSemantics: "named",
|
|
21
|
+
mroStrategy: "none",
|
|
22
|
+
typeConfig: {
|
|
23
|
+
structural: false,
|
|
24
|
+
nominal: false,
|
|
25
|
+
generics: false,
|
|
26
|
+
},
|
|
27
|
+
heritageEdge: null,
|
|
28
|
+
extractDefinitions() {
|
|
29
|
+
return [];
|
|
30
|
+
},
|
|
31
|
+
extractCalls() {
|
|
32
|
+
return [];
|
|
33
|
+
},
|
|
34
|
+
extractImports() {
|
|
35
|
+
return [];
|
|
36
|
+
},
|
|
37
|
+
isExported() {
|
|
38
|
+
return false;
|
|
39
|
+
},
|
|
40
|
+
extractHeritage() {
|
|
41
|
+
return [];
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=cobol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cobol.js","sourceRoot":"","sources":["../../src/providers/cobol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAUH,MAAM,CAAC,MAAM,aAAa,GAAqB;IAC7C,EAAE,EAAE,OAAO;IACX,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IACpC,eAAe,EAAE,OAAO;IACxB,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE;QACV,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,KAAK;KAChB;IACD,YAAY,EAAE,IAAI;IAElB,kBAAkB;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,YAAY;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,cAAc;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,UAAU;QACR,OAAO,KAAK,CAAC;IACf,CAAC;IACD,eAAe;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cpp.d.ts","sourceRoot":"","sources":["../../src/providers/cpp.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAKV,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAiNpB,eAAO,MAAM,WAAW,EAAE,gBAczB,CAAC"}
|