@monoes/monograph 1.5.4 → 1.5.5
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/dist/src/pipeline/phases/llm-extract.d.ts.map +1 -1
- package/dist/src/pipeline/phases/llm-extract.js +12 -0
- package/dist/src/pipeline/phases/llm-extract.js.map +1 -1
- package/dist/src/wiki/wiki-generator.d.ts.map +1 -1
- package/dist/src/wiki/wiki-generator.js +5 -1
- package/dist/src/wiki/wiki-generator.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -1
- package/src/pipeline/phases/llm-extract.ts +14 -0
- package/src/wiki/wiki-generator.ts +7 -1
- package/dist/src/__tests__/analysis/benchmark.test.d.ts +0 -2
- package/dist/src/__tests__/analysis/benchmark.test.d.ts.map +0 -1
- package/dist/src/__tests__/analysis/benchmark.test.js +0 -54
- package/dist/src/__tests__/analysis/benchmark.test.js.map +0 -1
- package/dist/src/__tests__/analysis/cluster-quality.test.d.ts +0 -2
- package/dist/src/__tests__/analysis/cluster-quality.test.d.ts.map +0 -1
- package/dist/src/__tests__/analysis/cluster-quality.test.js +0 -99
- package/dist/src/__tests__/analysis/cluster-quality.test.js.map +0 -1
- package/dist/src/__tests__/analysis/corpus-health.test.d.ts +0 -2
- package/dist/src/__tests__/analysis/corpus-health.test.d.ts.map +0 -1
- package/dist/src/__tests__/analysis/corpus-health.test.js +0 -29
- package/dist/src/__tests__/analysis/corpus-health.test.js.map +0 -1
- package/dist/src/__tests__/analysis/dependency-health.test.d.ts +0 -2
- package/dist/src/__tests__/analysis/dependency-health.test.d.ts.map +0 -1
- package/dist/src/__tests__/analysis/dependency-health.test.js +0 -96
- package/dist/src/__tests__/analysis/dependency-health.test.js.map +0 -1
- package/dist/src/__tests__/analysis/file-classifier.test.d.ts +0 -2
- package/dist/src/__tests__/analysis/file-classifier.test.d.ts.map +0 -1
- package/dist/src/__tests__/analysis/file-classifier.test.js +0 -49
- package/dist/src/__tests__/analysis/file-classifier.test.js.map +0 -1
- package/dist/src/__tests__/analysis/node-similarity.test.d.ts +0 -2
- package/dist/src/__tests__/analysis/node-similarity.test.d.ts.map +0 -1
- package/dist/src/__tests__/analysis/node-similarity.test.js +0 -66
- package/dist/src/__tests__/analysis/node-similarity.test.js.map +0 -1
- package/dist/src/__tests__/cache/augment-cache.test.d.ts +0 -2
- package/dist/src/__tests__/cache/augment-cache.test.d.ts.map +0 -1
- package/dist/src/__tests__/cache/augment-cache.test.js +0 -47
- package/dist/src/__tests__/cache/augment-cache.test.js.map +0 -1
- package/dist/src/__tests__/cli/check-update.test.d.ts +0 -2
- package/dist/src/__tests__/cli/check-update.test.d.ts.map +0 -1
- package/dist/src/__tests__/cli/check-update.test.js +0 -38
- package/dist/src/__tests__/cli/check-update.test.js.map +0 -1
- package/dist/src/__tests__/cli/hooks-install.test.d.ts +0 -2
- package/dist/src/__tests__/cli/hooks-install.test.d.ts.map +0 -1
- package/dist/src/__tests__/cli/hooks-install.test.js +0 -48
- package/dist/src/__tests__/cli/hooks-install.test.js.map +0 -1
- package/dist/src/__tests__/cli/hooks-marker.test.d.ts +0 -2
- package/dist/src/__tests__/cli/hooks-marker.test.d.ts.map +0 -1
- package/dist/src/__tests__/cli/hooks-marker.test.js +0 -115
- package/dist/src/__tests__/cli/hooks-marker.test.js.map +0 -1
- package/dist/src/__tests__/cli/hooks-status.test.d.ts +0 -2
- package/dist/src/__tests__/cli/hooks-status.test.d.ts.map +0 -1
- package/dist/src/__tests__/cli/hooks-status.test.js +0 -36
- package/dist/src/__tests__/cli/hooks-status.test.js.map +0 -1
- package/dist/src/__tests__/export/adjacency-matrix.test.d.ts +0 -2
- package/dist/src/__tests__/export/adjacency-matrix.test.d.ts.map +0 -1
- package/dist/src/__tests__/export/adjacency-matrix.test.js +0 -103
- package/dist/src/__tests__/export/adjacency-matrix.test.js.map +0 -1
- package/dist/src/__tests__/export/csv.test.d.ts +0 -2
- package/dist/src/__tests__/export/csv.test.d.ts.map +0 -1
- package/dist/src/__tests__/export/csv.test.js +0 -34
- package/dist/src/__tests__/export/csv.test.js.map +0 -1
- package/dist/src/__tests__/export/dot.test.d.ts +0 -2
- package/dist/src/__tests__/export/dot.test.d.ts.map +0 -1
- package/dist/src/__tests__/export/dot.test.js +0 -73
- package/dist/src/__tests__/export/dot.test.js.map +0 -1
- package/dist/src/__tests__/export/gexf.test.d.ts +0 -2
- package/dist/src/__tests__/export/gexf.test.d.ts.map +0 -1
- package/dist/src/__tests__/export/gexf.test.js +0 -66
- package/dist/src/__tests__/export/gexf.test.js.map +0 -1
- package/dist/src/__tests__/export/graphml.test.d.ts +0 -2
- package/dist/src/__tests__/export/graphml.test.d.ts.map +0 -1
- package/dist/src/__tests__/export/graphml.test.js +0 -51
- package/dist/src/__tests__/export/graphml.test.js.map +0 -1
- package/dist/src/__tests__/export/mermaid.test.d.ts +0 -2
- package/dist/src/__tests__/export/mermaid.test.d.ts.map +0 -1
- package/dist/src/__tests__/export/mermaid.test.js +0 -78
- package/dist/src/__tests__/export/mermaid.test.js.map +0 -1
- package/dist/src/__tests__/graph/betweenness.test.d.ts +0 -2
- package/dist/src/__tests__/graph/betweenness.test.d.ts.map +0 -1
- package/dist/src/__tests__/graph/betweenness.test.js +0 -77
- package/dist/src/__tests__/graph/betweenness.test.js.map +0 -1
- package/dist/src/__tests__/graph/cycles.test.d.ts +0 -2
- package/dist/src/__tests__/graph/cycles.test.d.ts.map +0 -1
- package/dist/src/__tests__/graph/cycles.test.js +0 -119
- package/dist/src/__tests__/graph/cycles.test.js.map +0 -1
- package/dist/src/__tests__/graph/dead-code.test.d.ts +0 -2
- package/dist/src/__tests__/graph/dead-code.test.d.ts.map +0 -1
- package/dist/src/__tests__/graph/dead-code.test.js +0 -89
- package/dist/src/__tests__/graph/dead-code.test.js.map +0 -1
- package/dist/src/__tests__/graph/dfs.test.d.ts +0 -2
- package/dist/src/__tests__/graph/dfs.test.d.ts.map +0 -1
- package/dist/src/__tests__/graph/dfs.test.js +0 -56
- package/dist/src/__tests__/graph/dfs.test.js.map +0 -1
- package/dist/src/__tests__/graph/diff-summary.test.d.ts +0 -2
- package/dist/src/__tests__/graph/diff-summary.test.d.ts.map +0 -1
- package/dist/src/__tests__/graph/diff-summary.test.js +0 -74
- package/dist/src/__tests__/graph/diff-summary.test.js.map +0 -1
- package/dist/src/__tests__/graph/edge-filter.test.d.ts +0 -2
- package/dist/src/__tests__/graph/edge-filter.test.d.ts.map +0 -1
- package/dist/src/__tests__/graph/edge-filter.test.js +0 -117
- package/dist/src/__tests__/graph/edge-filter.test.js.map +0 -1
- package/dist/src/__tests__/graph/import-chain.test.d.ts +0 -2
- package/dist/src/__tests__/graph/import-chain.test.d.ts.map +0 -1
- package/dist/src/__tests__/graph/import-chain.test.js +0 -101
- package/dist/src/__tests__/graph/import-chain.test.js.map +0 -1
- package/dist/src/__tests__/graph/merge.test.d.ts +0 -2
- package/dist/src/__tests__/graph/merge.test.d.ts.map +0 -1
- package/dist/src/__tests__/graph/merge.test.js +0 -132
- package/dist/src/__tests__/graph/merge.test.js.map +0 -1
- package/dist/src/__tests__/graph/node-search.test.d.ts +0 -2
- package/dist/src/__tests__/graph/node-search.test.d.ts.map +0 -1
- package/dist/src/__tests__/graph/node-search.test.js +0 -127
- package/dist/src/__tests__/graph/node-search.test.js.map +0 -1
- package/dist/src/__tests__/graph/normalize-id.test.d.ts +0 -2
- package/dist/src/__tests__/graph/normalize-id.test.d.ts.map +0 -1
- package/dist/src/__tests__/graph/normalize-id.test.js +0 -88
- package/dist/src/__tests__/graph/normalize-id.test.js.map +0 -1
- package/dist/src/__tests__/graph/pagerank.test.d.ts +0 -2
- package/dist/src/__tests__/graph/pagerank.test.d.ts.map +0 -1
- package/dist/src/__tests__/graph/pagerank.test.js +0 -87
- package/dist/src/__tests__/graph/pagerank.test.js.map +0 -1
- package/dist/src/__tests__/graph/prune.test.d.ts +0 -2
- package/dist/src/__tests__/graph/prune.test.d.ts.map +0 -1
- package/dist/src/__tests__/graph/prune.test.js +0 -98
- package/dist/src/__tests__/graph/prune.test.js.map +0 -1
- package/dist/src/__tests__/graph/regex-search.test.d.ts +0 -2
- package/dist/src/__tests__/graph/regex-search.test.d.ts.map +0 -1
- package/dist/src/__tests__/graph/regex-search.test.js +0 -128
- package/dist/src/__tests__/graph/regex-search.test.js.map +0 -1
- package/dist/src/__tests__/graph/ripple-impact.test.d.ts +0 -2
- package/dist/src/__tests__/graph/ripple-impact.test.d.ts.map +0 -1
- package/dist/src/__tests__/graph/ripple-impact.test.js +0 -64
- package/dist/src/__tests__/graph/ripple-impact.test.js.map +0 -1
- package/dist/src/__tests__/graph/scc.test.d.ts +0 -2
- package/dist/src/__tests__/graph/scc.test.d.ts.map +0 -1
- package/dist/src/__tests__/graph/scc.test.js +0 -77
- package/dist/src/__tests__/graph/scc.test.js.map +0 -1
- package/dist/src/__tests__/graph/statistics.test.d.ts +0 -2
- package/dist/src/__tests__/graph/statistics.test.d.ts.map +0 -1
- package/dist/src/__tests__/graph/statistics.test.js +0 -197
- package/dist/src/__tests__/graph/statistics.test.js.map +0 -1
- package/dist/src/__tests__/graph/subgraph.test.d.ts +0 -2
- package/dist/src/__tests__/graph/subgraph.test.d.ts.map +0 -1
- package/dist/src/__tests__/graph/subgraph.test.js +0 -116
- package/dist/src/__tests__/graph/subgraph.test.js.map +0 -1
- package/dist/src/__tests__/graph/topo-sort.test.d.ts +0 -2
- package/dist/src/__tests__/graph/topo-sort.test.d.ts.map +0 -1
- package/dist/src/__tests__/graph/topo-sort.test.js +0 -101
- package/dist/src/__tests__/graph/topo-sort.test.js.map +0 -1
- package/dist/src/__tests__/graph/wcc.test.d.ts +0 -2
- package/dist/src/__tests__/graph/wcc.test.d.ts.map +0 -1
- package/dist/src/__tests__/graph/wcc.test.js +0 -91
- package/dist/src/__tests__/graph/wcc.test.js.map +0 -1
- package/dist/src/__tests__/groups/grpc-extractor.test.d.ts +0 -2
- package/dist/src/__tests__/groups/grpc-extractor.test.d.ts.map +0 -1
- package/dist/src/__tests__/groups/grpc-extractor.test.js +0 -42
- package/dist/src/__tests__/groups/grpc-extractor.test.js.map +0 -1
- package/dist/src/__tests__/groups/service-boundary.test.d.ts +0 -2
- package/dist/src/__tests__/groups/service-boundary.test.d.ts.map +0 -1
- package/dist/src/__tests__/groups/service-boundary.test.js +0 -75
- package/dist/src/__tests__/groups/service-boundary.test.js.map +0 -1
- package/dist/src/__tests__/groups/topic-extractor.test.d.ts +0 -2
- package/dist/src/__tests__/groups/topic-extractor.test.d.ts.map +0 -1
- package/dist/src/__tests__/groups/topic-extractor.test.js +0 -37
- package/dist/src/__tests__/groups/topic-extractor.test.js.map +0 -1
- package/dist/src/__tests__/ingest/git-clone.test.d.ts +0 -2
- package/dist/src/__tests__/ingest/git-clone.test.d.ts.map +0 -1
- package/dist/src/__tests__/ingest/git-clone.test.js +0 -100
- package/dist/src/__tests__/ingest/git-clone.test.js.map +0 -1
- package/dist/src/__tests__/ingest/query-memory.test.d.ts +0 -2
- package/dist/src/__tests__/ingest/query-memory.test.d.ts.map +0 -1
- package/dist/src/__tests__/ingest/query-memory.test.js +0 -116
- package/dist/src/__tests__/ingest/query-memory.test.js.map +0 -1
- package/dist/src/__tests__/ingest/transcribe.test.d.ts +0 -2
- package/dist/src/__tests__/ingest/transcribe.test.d.ts.map +0 -1
- package/dist/src/__tests__/ingest/transcribe.test.js +0 -50
- package/dist/src/__tests__/ingest/transcribe.test.js.map +0 -1
- package/dist/src/__tests__/ingest/url-ingest.test.d.ts +0 -2
- package/dist/src/__tests__/ingest/url-ingest.test.d.ts.map +0 -1
- package/dist/src/__tests__/ingest/url-ingest.test.js +0 -43
- package/dist/src/__tests__/ingest/url-ingest.test.js.map +0 -1
- package/dist/src/__tests__/mcp-resources/repo-context-resource.test.d.ts +0 -2
- package/dist/src/__tests__/mcp-resources/repo-context-resource.test.d.ts.map +0 -1
- package/dist/src/__tests__/mcp-resources/repo-context-resource.test.js +0 -34
- package/dist/src/__tests__/mcp-resources/repo-context-resource.test.js.map +0 -1
- package/dist/src/__tests__/mcp-resources/repos-resource.test.d.ts +0 -2
- package/dist/src/__tests__/mcp-resources/repos-resource.test.d.ts.map +0 -1
- package/dist/src/__tests__/mcp-resources/repos-resource.test.js +0 -63
- package/dist/src/__tests__/mcp-resources/repos-resource.test.js.map +0 -1
- package/dist/src/__tests__/mcp-resources/wiki-resource.test.d.ts +0 -2
- package/dist/src/__tests__/mcp-resources/wiki-resource.test.d.ts.map +0 -1
- package/dist/src/__tests__/mcp-resources/wiki-resource.test.js +0 -47
- package/dist/src/__tests__/mcp-resources/wiki-resource.test.js.map +0 -1
- package/dist/src/__tests__/mcp-tools/explain.test.d.ts +0 -2
- package/dist/src/__tests__/mcp-tools/explain.test.d.ts.map +0 -1
- package/dist/src/__tests__/mcp-tools/explain.test.js +0 -42
- package/dist/src/__tests__/mcp-tools/explain.test.js.map +0 -1
- package/dist/src/__tests__/mcp-tools/graph-query.test.d.ts +0 -2
- package/dist/src/__tests__/mcp-tools/graph-query.test.d.ts.map +0 -1
- package/dist/src/__tests__/mcp-tools/graph-query.test.js +0 -41
- package/dist/src/__tests__/mcp-tools/graph-query.test.js.map +0 -1
- package/dist/src/__tests__/mcp-tools/group-sync.test.d.ts +0 -2
- package/dist/src/__tests__/mcp-tools/group-sync.test.d.ts.map +0 -1
- package/dist/src/__tests__/mcp-tools/group-sync.test.js +0 -8
- package/dist/src/__tests__/mcp-tools/group-sync.test.js.map +0 -1
- package/dist/src/__tests__/mcp-tools/impact-filtering.test.d.ts +0 -2
- package/dist/src/__tests__/mcp-tools/impact-filtering.test.d.ts.map +0 -1
- package/dist/src/__tests__/mcp-tools/impact-filtering.test.js +0 -45
- package/dist/src/__tests__/mcp-tools/impact-filtering.test.js.map +0 -1
- package/dist/src/__tests__/mcp-tools/impact.risk.test.d.ts +0 -2
- package/dist/src/__tests__/mcp-tools/impact.risk.test.d.ts.map +0 -1
- package/dist/src/__tests__/mcp-tools/impact.risk.test.js +0 -21
- package/dist/src/__tests__/mcp-tools/impact.risk.test.js.map +0 -1
- package/dist/src/__tests__/mcp-tools/list-repos.test.d.ts +0 -2
- package/dist/src/__tests__/mcp-tools/list-repos.test.d.ts.map +0 -1
- package/dist/src/__tests__/mcp-tools/list-repos.test.js +0 -21
- package/dist/src/__tests__/mcp-tools/list-repos.test.js.map +0 -1
- package/dist/src/__tests__/mcp-tools/neighbors.test.d.ts +0 -2
- package/dist/src/__tests__/mcp-tools/neighbors.test.d.ts.map +0 -1
- package/dist/src/__tests__/mcp-tools/neighbors.test.js +0 -44
- package/dist/src/__tests__/mcp-tools/neighbors.test.js.map +0 -1
- package/dist/src/__tests__/mcp-tools/query.test.d.ts +0 -2
- package/dist/src/__tests__/mcp-tools/query.test.d.ts.map +0 -1
- package/dist/src/__tests__/mcp-tools/query.test.js +0 -37
- package/dist/src/__tests__/mcp-tools/query.test.js.map +0 -1
- package/dist/src/__tests__/parsers/language-parsers.test.d.ts +0 -2
- package/dist/src/__tests__/parsers/language-parsers.test.d.ts.map +0 -1
- package/dist/src/__tests__/parsers/language-parsers.test.js +0 -48
- package/dist/src/__tests__/parsers/language-parsers.test.js.map +0 -1
- package/dist/src/__tests__/parsers/named-bindings.test.d.ts +0 -2
- package/dist/src/__tests__/parsers/named-bindings.test.d.ts.map +0 -1
- package/dist/src/__tests__/parsers/named-bindings.test.js +0 -68
- package/dist/src/__tests__/parsers/named-bindings.test.js.map +0 -1
- package/dist/src/__tests__/pipeline/cluster-only.test.d.ts +0 -2
- package/dist/src/__tests__/pipeline/cluster-only.test.d.ts.map +0 -1
- package/dist/src/__tests__/pipeline/cluster-only.test.js +0 -31
- package/dist/src/__tests__/pipeline/cluster-only.test.js.map +0 -1
- package/dist/src/__tests__/pipeline/incremental.test.d.ts +0 -2
- package/dist/src/__tests__/pipeline/incremental.test.d.ts.map +0 -1
- package/dist/src/__tests__/pipeline/incremental.test.js +0 -38
- package/dist/src/__tests__/pipeline/incremental.test.js.map +0 -1
- package/dist/src/__tests__/pipeline/phases/communities.cohesion.test.d.ts +0 -2
- package/dist/src/__tests__/pipeline/phases/communities.cohesion.test.d.ts.map +0 -1
- package/dist/src/__tests__/pipeline/phases/communities.cohesion.test.js +0 -40
- package/dist/src/__tests__/pipeline/phases/communities.cohesion.test.js.map +0 -1
- package/dist/src/__tests__/pipeline/phases/community-split.test.d.ts +0 -2
- package/dist/src/__tests__/pipeline/phases/community-split.test.d.ts.map +0 -1
- package/dist/src/__tests__/pipeline/phases/community-split.test.js +0 -27
- package/dist/src/__tests__/pipeline/phases/community-split.test.js.map +0 -1
- package/dist/src/__tests__/pipeline/phases/framework-detect.test.d.ts +0 -2
- package/dist/src/__tests__/pipeline/phases/framework-detect.test.d.ts.map +0 -1
- package/dist/src/__tests__/pipeline/phases/framework-detect.test.js +0 -56
- package/dist/src/__tests__/pipeline/phases/framework-detect.test.js.map +0 -1
- package/dist/src/__tests__/pipeline/phases/import-resolver.test.d.ts +0 -2
- package/dist/src/__tests__/pipeline/phases/import-resolver.test.d.ts.map +0 -1
- package/dist/src/__tests__/pipeline/phases/import-resolver.test.js +0 -56
- package/dist/src/__tests__/pipeline/phases/import-resolver.test.js.map +0 -1
- package/dist/src/__tests__/pipeline/phases/parse-arrow.test.d.ts +0 -2
- package/dist/src/__tests__/pipeline/phases/parse-arrow.test.d.ts.map +0 -1
- package/dist/src/__tests__/pipeline/phases/parse-arrow.test.js +0 -30
- package/dist/src/__tests__/pipeline/phases/parse-arrow.test.js.map +0 -1
- package/dist/src/__tests__/pipeline/phases/parse-csharp.test.d.ts +0 -2
- package/dist/src/__tests__/pipeline/phases/parse-csharp.test.d.ts.map +0 -1
- package/dist/src/__tests__/pipeline/phases/parse-csharp.test.js +0 -30
- package/dist/src/__tests__/pipeline/phases/parse-csharp.test.js.map +0 -1
- package/dist/src/__tests__/pipeline/phases/scan.monographignore.test.d.ts +0 -2
- package/dist/src/__tests__/pipeline/phases/scan.monographignore.test.d.ts.map +0 -1
- package/dist/src/__tests__/pipeline/phases/scan.monographignore.test.js +0 -46
- package/dist/src/__tests__/pipeline/phases/scan.monographignore.test.js.map +0 -1
- package/dist/src/__tests__/pipeline/phases/scan.negation.test.d.ts +0 -2
- package/dist/src/__tests__/pipeline/phases/scan.negation.test.d.ts.map +0 -1
- package/dist/src/__tests__/pipeline/phases/scan.negation.test.js +0 -35
- package/dist/src/__tests__/pipeline/phases/scan.negation.test.js.map +0 -1
- package/dist/src/__tests__/pipeline/phases/scope-resolution.go.test.d.ts +0 -2
- package/dist/src/__tests__/pipeline/phases/scope-resolution.go.test.d.ts.map +0 -1
- package/dist/src/__tests__/pipeline/phases/scope-resolution.go.test.js +0 -32
- package/dist/src/__tests__/pipeline/phases/scope-resolution.go.test.js.map +0 -1
- package/dist/src/__tests__/pipeline/phases/scope-resolution.java.test.d.ts +0 -2
- package/dist/src/__tests__/pipeline/phases/scope-resolution.java.test.d.ts.map +0 -1
- package/dist/src/__tests__/pipeline/phases/scope-resolution.java.test.js +0 -28
- package/dist/src/__tests__/pipeline/phases/scope-resolution.java.test.js.map +0 -1
- package/dist/src/__tests__/pipeline/phases/scope-resolution.rust.test.d.ts +0 -2
- package/dist/src/__tests__/pipeline/phases/scope-resolution.rust.test.d.ts.map +0 -1
- package/dist/src/__tests__/pipeline/phases/scope-resolution.rust.test.js +0 -29
- package/dist/src/__tests__/pipeline/phases/scope-resolution.rust.test.js.map +0 -1
- package/dist/src/__tests__/pipeline/phases/suggest-questions.test.d.ts +0 -2
- package/dist/src/__tests__/pipeline/phases/suggest-questions.test.d.ts.map +0 -1
- package/dist/src/__tests__/pipeline/phases/suggest-questions.test.js +0 -42
- package/dist/src/__tests__/pipeline/phases/suggest-questions.test.js.map +0 -1
- package/dist/src/__tests__/pipeline/phases/surprises-scoring.test.d.ts +0 -2
- package/dist/src/__tests__/pipeline/phases/surprises-scoring.test.d.ts.map +0 -1
- package/dist/src/__tests__/pipeline/phases/surprises-scoring.test.js +0 -42
- package/dist/src/__tests__/pipeline/phases/surprises-scoring.test.js.map +0 -1
- package/dist/src/__tests__/pipeline/phases/variables-phase.test.d.ts +0 -2
- package/dist/src/__tests__/pipeline/phases/variables-phase.test.d.ts.map +0 -1
- package/dist/src/__tests__/pipeline/phases/variables-phase.test.js +0 -72
- package/dist/src/__tests__/pipeline/phases/variables-phase.test.js.map +0 -1
- package/dist/src/__tests__/pipeline/phases/wildcard-phase.test.d.ts +0 -2
- package/dist/src/__tests__/pipeline/phases/wildcard-phase.test.d.ts.map +0 -1
- package/dist/src/__tests__/pipeline/phases/wildcard-phase.test.js +0 -59
- package/dist/src/__tests__/pipeline/phases/wildcard-phase.test.js.map +0 -1
- package/dist/src/__tests__/pipeline/runner.parallel.test.d.ts +0 -2
- package/dist/src/__tests__/pipeline/runner.parallel.test.d.ts.map +0 -1
- package/dist/src/__tests__/pipeline/runner.parallel.test.js +0 -66
- package/dist/src/__tests__/pipeline/runner.parallel.test.js.map +0 -1
- package/dist/src/__tests__/reporting/graph-report-confidence.test.d.ts +0 -2
- package/dist/src/__tests__/reporting/graph-report-confidence.test.d.ts.map +0 -1
- package/dist/src/__tests__/reporting/graph-report-confidence.test.js +0 -40
- package/dist/src/__tests__/reporting/graph-report-confidence.test.js.map +0 -1
- package/dist/src/__tests__/reporting/graph-report-gaps.test.d.ts +0 -2
- package/dist/src/__tests__/reporting/graph-report-gaps.test.d.ts.map +0 -1
- package/dist/src/__tests__/reporting/graph-report-gaps.test.js +0 -38
- package/dist/src/__tests__/reporting/graph-report-gaps.test.js.map +0 -1
- package/dist/src/__tests__/scope-resolution/evidence-weights.test.d.ts +0 -2
- package/dist/src/__tests__/scope-resolution/evidence-weights.test.d.ts.map +0 -1
- package/dist/src/__tests__/scope-resolution/evidence-weights.test.js +0 -40
- package/dist/src/__tests__/scope-resolution/evidence-weights.test.js.map +0 -1
- package/dist/src/__tests__/search/diacritic.test.d.ts +0 -2
- package/dist/src/__tests__/search/diacritic.test.d.ts.map +0 -1
- package/dist/src/__tests__/search/diacritic.test.js +0 -23
- package/dist/src/__tests__/search/diacritic.test.js.map +0 -1
- package/dist/src/__tests__/security/safe-fetch.test.d.ts +0 -2
- package/dist/src/__tests__/security/safe-fetch.test.d.ts.map +0 -1
- package/dist/src/__tests__/security/safe-fetch.test.js +0 -113
- package/dist/src/__tests__/security/safe-fetch.test.js.map +0 -1
- package/dist/src/__tests__/skills/platform-skills.extra.test.d.ts +0 -2
- package/dist/src/__tests__/skills/platform-skills.extra.test.d.ts.map +0 -1
- package/dist/src/__tests__/skills/platform-skills.extra.test.js +0 -31
- package/dist/src/__tests__/skills/platform-skills.extra.test.js.map +0 -1
- package/dist/src/__tests__/web/api.clusters.test.d.ts +0 -2
- package/dist/src/__tests__/web/api.clusters.test.d.ts.map +0 -1
- package/dist/src/__tests__/web/api.clusters.test.js +0 -59
- package/dist/src/__tests__/web/api.clusters.test.js.map +0 -1
- package/dist/src/__tests__/web/api.file.test.d.ts +0 -2
- package/dist/src/__tests__/web/api.file.test.d.ts.map +0 -1
- package/dist/src/__tests__/web/api.file.test.js +0 -38
- package/dist/src/__tests__/web/api.file.test.js.map +0 -1
- package/dist/src/__tests__/web/api.grep.test.d.ts +0 -2
- package/dist/src/__tests__/web/api.grep.test.d.ts.map +0 -1
- package/dist/src/__tests__/web/api.grep.test.js +0 -43
- package/dist/src/__tests__/web/api.grep.test.js.map +0 -1
- package/dist/src/__tests__/web/api.info.test.d.ts +0 -2
- package/dist/src/__tests__/web/api.info.test.d.ts.map +0 -1
- package/dist/src/__tests__/web/api.info.test.js +0 -17
- package/dist/src/__tests__/web/api.info.test.js.map +0 -1
- package/dist/src/__tests__/web/api.jobs.test.d.ts +0 -2
- package/dist/src/__tests__/web/api.jobs.test.d.ts.map +0 -1
- package/dist/src/__tests__/web/api.jobs.test.js +0 -40
- package/dist/src/__tests__/web/api.jobs.test.js.map +0 -1
- package/dist/src/__tests__/web/api.progress.test.d.ts +0 -2
- package/dist/src/__tests__/web/api.progress.test.d.ts.map +0 -1
- package/dist/src/__tests__/web/api.progress.test.js +0 -23
- package/dist/src/__tests__/web/api.progress.test.js.map +0 -1
- package/dist/src/__tests__/web/api.stream.test.d.ts +0 -2
- package/dist/src/__tests__/web/api.stream.test.d.ts.map +0 -1
- package/dist/src/__tests__/web/api.stream.test.js +0 -33
- package/dist/src/__tests__/web/api.stream.test.js.map +0 -1
- package/dist/src/__tests__/wiki/providers-reasoning.test.d.ts +0 -2
- package/dist/src/__tests__/wiki/providers-reasoning.test.d.ts.map +0 -1
- package/dist/src/__tests__/wiki/providers-reasoning.test.js +0 -41
- package/dist/src/__tests__/wiki/providers-reasoning.test.js.map +0 -1
- package/dist/src/__tests__/wiki/wiki-review-mode.test.d.ts +0 -2
- package/dist/src/__tests__/wiki/wiki-review-mode.test.d.ts.map +0 -1
- package/dist/src/__tests__/wiki/wiki-review-mode.test.js +0 -21
- package/dist/src/__tests__/wiki/wiki-review-mode.test.js.map +0 -1
- package/dist/src/analysis/cycles.d.ts +0 -16
- package/dist/src/analysis/cycles.d.ts.map +0 -1
- package/dist/src/analysis/cycles.js +0 -203
- package/dist/src/analysis/cycles.js.map +0 -1
- package/dist/src/analysis/trace.d.ts +0 -80
- package/dist/src/analysis/trace.d.ts.map +0 -1
- package/dist/src/analysis/trace.js +0 -186
- package/dist/src/analysis/trace.js.map +0 -1
- package/dist/src/analysis/worker-pool.d.ts +0 -17
- package/dist/src/analysis/worker-pool.d.ts.map +0 -1
- package/dist/src/analysis/worker-pool.js +0 -62
- package/dist/src/analysis/worker-pool.js.map +0 -1
- package/dist/src/coverage/runtime.d.ts +0 -36
- package/dist/src/coverage/runtime.d.ts.map +0 -1
- package/dist/src/coverage/runtime.js +0 -187
- package/dist/src/coverage/runtime.js.map +0 -1
- package/dist/src/graph/clone-detector.d.ts +0 -15
- package/dist/src/graph/clone-detector.d.ts.map +0 -1
- package/dist/src/graph/clone-detector.js +0 -132
- package/dist/src/graph/clone-detector.js.map +0 -1
- package/dist/src/graph/shingle-filter.d.ts +0 -6
- package/dist/src/graph/shingle-filter.d.ts.map +0 -1
- package/dist/src/graph/shingle-filter.js +0 -129
- package/dist/src/graph/shingle-filter.js.map +0 -1
- package/dist/src/watch/watch-runner.d.ts +0 -16
- package/dist/src/watch/watch-runner.d.ts.map +0 -1
- package/dist/src/watch/watch-runner.js +0 -49
- package/dist/src/watch/watch-runner.js.map +0 -1
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import Database from 'better-sqlite3';
|
|
3
|
-
import { monographQueryTool } from '../../mcp-tools/query.js';
|
|
4
|
-
function makeDb() {
|
|
5
|
-
const db = new Database(':memory:');
|
|
6
|
-
db.exec(`
|
|
7
|
-
CREATE TABLE nodes (id TEXT PRIMARY KEY, label TEXT NOT NULL, name TEXT NOT NULL,
|
|
8
|
-
norm_label TEXT, file_path TEXT, start_line INTEGER, end_line INTEGER,
|
|
9
|
-
community_id INTEGER, is_exported INTEGER DEFAULT 0, language TEXT, properties TEXT);
|
|
10
|
-
CREATE TABLE edges (id TEXT PRIMARY KEY, source_id TEXT NOT NULL, target_id TEXT NOT NULL,
|
|
11
|
-
relation TEXT NOT NULL, confidence TEXT DEFAULT 'EXTRACTED', confidence_score REAL DEFAULT 1.0,
|
|
12
|
-
properties TEXT);
|
|
13
|
-
`);
|
|
14
|
-
db.prepare(`INSERT INTO nodes VALUES ('n1','Process','PaymentFlow',null,'/pay.ts',1,20,1,1,null,null)`).run();
|
|
15
|
-
db.prepare(`INSERT INTO nodes VALUES ('n2','Function','processPayment',null,'/pay.ts',5,15,1,1,null,null)`).run();
|
|
16
|
-
return db;
|
|
17
|
-
}
|
|
18
|
-
describe('monographQueryTool', () => {
|
|
19
|
-
it('has correct name', () => {
|
|
20
|
-
expect(monographQueryTool.name).toBe('monograph_query');
|
|
21
|
-
});
|
|
22
|
-
it('has query parameter in schema', () => {
|
|
23
|
-
expect(monographQueryTool.inputSchema.properties).toHaveProperty('query');
|
|
24
|
-
});
|
|
25
|
-
it('has repoPath parameter in schema', () => {
|
|
26
|
-
expect(monographQueryTool.inputSchema.properties).toHaveProperty('repoPath');
|
|
27
|
-
});
|
|
28
|
-
it('has includeProcesses parameter', () => {
|
|
29
|
-
expect(monographQueryTool.inputSchema.properties).toHaveProperty('includeProcesses');
|
|
30
|
-
});
|
|
31
|
-
it('returns results array when neither repoPath nor db provided', async () => {
|
|
32
|
-
const result = await monographQueryTool.handler({ query: 'payment' });
|
|
33
|
-
expect(result).toHaveProperty('results');
|
|
34
|
-
expect(Array.isArray(result.results)).toBe(true);
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
//# sourceMappingURL=query.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query.test.js","sourceRoot":"","sources":["../../../../src/__tests__/mcp-tools/query.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,SAAS,MAAM;IACb,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;IACpC,EAAE,CAAC,IAAI,CAAC;;;;;;;GAOP,CAAC,CAAC;IACH,EAAE,CAAC,OAAO,CAAC,2FAA2F,CAAC,CAAC,GAAG,EAAE,CAAC;IAC9G,EAAE,CAAC,OAAO,CAAC,+FAA+F,CAAC,CAAC,GAAG,EAAE,CAAC;IAClH,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAS,CAAC,CAAC;QAC7E,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"language-parsers.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/parsers/language-parsers.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { extractSymbolsForLanguage } from '../../parsers/language-parsers.js';
|
|
3
|
-
describe('Scala extraction', () => {
|
|
4
|
-
it('extracts object and class definitions', () => {
|
|
5
|
-
const src = `object PaymentService { def process(order: Order): Unit = {} }\nclass OrderRepo extends BaseRepo {}`;
|
|
6
|
-
const r = extractSymbolsForLanguage(src, '/pay.scala', 'scala');
|
|
7
|
-
const names = r.map(s => s.name);
|
|
8
|
-
expect(names).toContain('PaymentService');
|
|
9
|
-
expect(names).toContain('OrderRepo');
|
|
10
|
-
});
|
|
11
|
-
});
|
|
12
|
-
describe('Lua extraction', () => {
|
|
13
|
-
it('extracts function definitions', () => {
|
|
14
|
-
const src = `function greet(name)\n return "Hello " .. name\nend\nlocal function helper() end`;
|
|
15
|
-
const r = extractSymbolsForLanguage(src, '/util.lua', 'lua');
|
|
16
|
-
const names = r.map(s => s.name);
|
|
17
|
-
expect(names).toContain('greet');
|
|
18
|
-
expect(names).toContain('helper');
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
describe('Zig extraction', () => {
|
|
22
|
-
it('extracts pub fn declarations', () => {
|
|
23
|
-
const src = `pub fn allocate(size: usize) anyerror![]u8 {}\nfn helper() void {}`;
|
|
24
|
-
const r = extractSymbolsForLanguage(src, '/alloc.zig', 'zig');
|
|
25
|
-
const names = r.map(s => s.name);
|
|
26
|
-
expect(names).toContain('allocate');
|
|
27
|
-
expect(names).toContain('helper');
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
describe('PowerShell extraction', () => {
|
|
31
|
-
it('extracts function declarations', () => {
|
|
32
|
-
const src = `function Get-User { param($id) }\nfunction Set-Config { param($cfg) }`;
|
|
33
|
-
const r = extractSymbolsForLanguage(src, '/util.ps1', 'powershell');
|
|
34
|
-
const names = r.map(s => s.name);
|
|
35
|
-
expect(names).toContain('Get-User');
|
|
36
|
-
expect(names).toContain('Set-Config');
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
describe('Elixir extraction', () => {
|
|
40
|
-
it('extracts defmodule and def', () => {
|
|
41
|
-
const src = `defmodule PayApp.Payments do\n def process(order) do\n :ok\n end\nend`;
|
|
42
|
-
const r = extractSymbolsForLanguage(src, '/payments.ex', 'elixir');
|
|
43
|
-
const names = r.map(s => s.name);
|
|
44
|
-
expect(names).toContain('PayApp.Payments');
|
|
45
|
-
expect(names).toContain('process');
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
//# sourceMappingURL=language-parsers.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"language-parsers.test.js","sourceRoot":"","sources":["../../../../src/__tests__/parsers/language-parsers.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"named-bindings.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/parsers/named-bindings.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { extractNamedBindings } from '../../parsers/named-bindings.js';
|
|
3
|
-
describe('extractNamedBindings', () => {
|
|
4
|
-
it('extracts TypeScript class decorators', () => {
|
|
5
|
-
const source = `
|
|
6
|
-
@Controller('/api')
|
|
7
|
-
export class UserController {
|
|
8
|
-
@Get('/users')
|
|
9
|
-
list() {}
|
|
10
|
-
|
|
11
|
-
@Post('/users')
|
|
12
|
-
create() {}
|
|
13
|
-
}`;
|
|
14
|
-
const bindings = extractNamedBindings(source, '/app/user.controller.ts', 'typescript');
|
|
15
|
-
const names = bindings.map(b => b.decoratorName);
|
|
16
|
-
expect(names).toContain('Controller');
|
|
17
|
-
expect(names).toContain('Get');
|
|
18
|
-
expect(names).toContain('Post');
|
|
19
|
-
});
|
|
20
|
-
it('extracts Python function decorators', () => {
|
|
21
|
-
const source = `
|
|
22
|
-
@app.route('/users', methods=['GET'])
|
|
23
|
-
def list_users():
|
|
24
|
-
pass
|
|
25
|
-
|
|
26
|
-
@login_required
|
|
27
|
-
def profile():
|
|
28
|
-
pass`;
|
|
29
|
-
const bindings = extractNamedBindings(source, '/app/views.py', 'python');
|
|
30
|
-
const names = bindings.map(b => b.decoratorName);
|
|
31
|
-
expect(names).toContain('app.route');
|
|
32
|
-
expect(names).toContain('login_required');
|
|
33
|
-
});
|
|
34
|
-
it('extracts Java annotations', () => {
|
|
35
|
-
const source = `
|
|
36
|
-
@RestController
|
|
37
|
-
@RequestMapping("/api")
|
|
38
|
-
public class UserApi {
|
|
39
|
-
@GetMapping("/users")
|
|
40
|
-
public List<User> list() { return null; }
|
|
41
|
-
}`;
|
|
42
|
-
const bindings = extractNamedBindings(source, '/src/UserApi.java', 'java');
|
|
43
|
-
const names = bindings.map(b => b.decoratorName);
|
|
44
|
-
expect(names).toContain('RestController');
|
|
45
|
-
expect(names).toContain('RequestMapping');
|
|
46
|
-
expect(names).toContain('GetMapping');
|
|
47
|
-
});
|
|
48
|
-
it('returns empty for source with no decorators', () => {
|
|
49
|
-
const source = 'function plain() { return 1; }';
|
|
50
|
-
const bindings = extractNamedBindings(source, '/app/plain.ts', 'typescript');
|
|
51
|
-
expect(bindings).toEqual([]);
|
|
52
|
-
});
|
|
53
|
-
it('includes line number in result', () => {
|
|
54
|
-
const source = '\n\n@Injectable()\nexport class Service {}';
|
|
55
|
-
const bindings = extractNamedBindings(source, '/app/svc.ts', 'typescript');
|
|
56
|
-
const inj = bindings.find(b => b.decoratorName === 'Injectable');
|
|
57
|
-
expect(inj).toBeDefined();
|
|
58
|
-
expect(inj.line).toBe(3);
|
|
59
|
-
});
|
|
60
|
-
it('extracts decorator arguments', () => {
|
|
61
|
-
const source = `@Module({ imports: [AuthModule] })\nexport class AppModule {}`;
|
|
62
|
-
const bindings = extractNamedBindings(source, '/app.module.ts', 'typescript');
|
|
63
|
-
const mod = bindings.find(b => b.decoratorName === 'Module');
|
|
64
|
-
expect(mod).toBeDefined();
|
|
65
|
-
expect(mod.hasArguments).toBe(true);
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
//# sourceMappingURL=named-bindings.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"named-bindings.test.js","sourceRoot":"","sources":["../../../../src/__tests__/parsers/named-bindings.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cluster-only.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/pipeline/cluster-only.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import Database from 'better-sqlite3';
|
|
3
|
-
import { runClusterOnly } from '../../pipeline/cluster-only.js';
|
|
4
|
-
function makeDb() {
|
|
5
|
-
const db = new Database(':memory:');
|
|
6
|
-
db.exec(`
|
|
7
|
-
CREATE TABLE nodes (id TEXT PRIMARY KEY, name TEXT, label TEXT, file_path TEXT, start_line INTEGER, end_line INTEGER, community_id INTEGER, norm_label TEXT, is_exported INTEGER, language TEXT, properties TEXT);
|
|
8
|
-
CREATE TABLE edges (id TEXT PRIMARY KEY, source_id TEXT, target_id TEXT, relation TEXT, confidence TEXT, confidence_score REAL);
|
|
9
|
-
INSERT INTO nodes VALUES ('n1', 'A', 'Class', '/a.ts', 1, 10, null, 'a', 1, 'typescript', null);
|
|
10
|
-
INSERT INTO nodes VALUES ('n2', 'B', 'Class', '/b.ts', 1, 10, null, 'b', 1, 'typescript', null);
|
|
11
|
-
INSERT INTO nodes VALUES ('n3', 'C', 'Function', '/c.ts', 1, 5, null, 'c', 1, 'typescript', null);
|
|
12
|
-
INSERT INTO edges VALUES ('e1', 'n1', 'n2', 'CALLS', 'EXTRACTED', 1.0);
|
|
13
|
-
INSERT INTO edges VALUES ('e2', 'n2', 'n3', 'CALLS', 'EXTRACTED', 1.0);
|
|
14
|
-
`);
|
|
15
|
-
return db;
|
|
16
|
-
}
|
|
17
|
-
describe('runClusterOnly', () => {
|
|
18
|
-
it('assigns community_id to nodes based on graph structure', async () => {
|
|
19
|
-
const db = makeDb();
|
|
20
|
-
await runClusterOnly(db);
|
|
21
|
-
const updated = db.prepare('SELECT community_id FROM nodes').all();
|
|
22
|
-
// At least some nodes should have community_id set
|
|
23
|
-
expect(updated.some(n => n.community_id !== null)).toBe(true);
|
|
24
|
-
});
|
|
25
|
-
it('returns community count', async () => {
|
|
26
|
-
const db = makeDb();
|
|
27
|
-
const result = await runClusterOnly(db);
|
|
28
|
-
expect(result.communityCount).toBeGreaterThanOrEqual(1);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
//# sourceMappingURL=cluster-only.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cluster-only.test.js","sourceRoot":"","sources":["../../../../src/__tests__/pipeline/cluster-only.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,SAAS,MAAM;IACb,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;IACpC,EAAE,CAAC,IAAI,CAAC;;;;;;;;GAQP,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QACpB,MAAM,cAAc,CAAC,EAAE,CAAC,CAAC;QACzB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,GAAG,EAAuC,CAAC;QACxG,mDAAmD;QACnD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"incremental.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/pipeline/incremental.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import Database from 'better-sqlite3';
|
|
3
|
-
import { runIncrementalAst } from '../../pipeline/runner.js';
|
|
4
|
-
function makeDb() {
|
|
5
|
-
const db = new Database(':memory:');
|
|
6
|
-
db.exec(`
|
|
7
|
-
CREATE TABLE nodes (id TEXT PRIMARY KEY, label TEXT NOT NULL, name TEXT NOT NULL,
|
|
8
|
-
norm_label TEXT, file_path TEXT, start_line INTEGER, end_line INTEGER,
|
|
9
|
-
community_id INTEGER, is_exported INTEGER DEFAULT 0, language TEXT, properties TEXT);
|
|
10
|
-
CREATE TABLE edges (id TEXT PRIMARY KEY, source_id TEXT NOT NULL, target_id TEXT NOT NULL,
|
|
11
|
-
relation TEXT NOT NULL, confidence TEXT DEFAULT 'EXTRACTED', confidence_score REAL DEFAULT 1.0,
|
|
12
|
-
properties TEXT);
|
|
13
|
-
`);
|
|
14
|
-
db.prepare(`INSERT INTO nodes VALUES ('existing','Function','old',null,'/x.ts',1,3,null,1,null,null)`).run();
|
|
15
|
-
db.prepare(`INSERT INTO edges VALUES ('inf1','existing','existing','CALLS','INFERRED',0.5,null)`).run();
|
|
16
|
-
return db;
|
|
17
|
-
}
|
|
18
|
-
describe('runIncrementalAst', () => {
|
|
19
|
-
it('is exported from runner', () => {
|
|
20
|
-
expect(typeof runIncrementalAst).toBe('function');
|
|
21
|
-
});
|
|
22
|
-
it('preserves INFERRED edges when running code-only update', async () => {
|
|
23
|
-
const db = makeDb();
|
|
24
|
-
const beforeEdges = db.prepare(`SELECT id FROM edges WHERE confidence = 'INFERRED'`).all();
|
|
25
|
-
expect(beforeEdges).toHaveLength(1);
|
|
26
|
-
await runIncrementalAst(db, [], { preserveInferred: true });
|
|
27
|
-
const afterEdges = db.prepare(`SELECT id FROM edges WHERE confidence = 'INFERRED'`).all();
|
|
28
|
-
expect(afterEdges).toHaveLength(1);
|
|
29
|
-
});
|
|
30
|
-
it('removes EXTRACTED edges when running code-only update', async () => {
|
|
31
|
-
const db = makeDb();
|
|
32
|
-
db.prepare(`INSERT INTO edges VALUES ('ext1','existing','existing','CALLS','EXTRACTED',0.9,null)`).run();
|
|
33
|
-
await runIncrementalAst(db, [], { preserveInferred: true });
|
|
34
|
-
const afterExtracted = db.prepare(`SELECT id FROM edges WHERE confidence = 'EXTRACTED'`).all();
|
|
35
|
-
expect(afterExtracted).toHaveLength(0);
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
//# sourceMappingURL=incremental.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"incremental.test.js","sourceRoot":"","sources":["../../../../src/__tests__/pipeline/incremental.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,SAAS,MAAM;IACb,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;IACpC,EAAE,CAAC,IAAI,CAAC;;;;;;;GAOP,CAAC,CAAC;IACH,EAAE,CAAC,OAAO,CAAC,0FAA0F,CAAC,CAAC,GAAG,EAAE,CAAC;IAC7G,EAAE,CAAC,OAAO,CAAC,qFAAqF,CAAC,CAAC,GAAG,EAAE,CAAC;IACxG,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QACpB,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC,GAAG,EAAE,CAAC;QAC3F,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,iBAAiB,CAAC,EAAS,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1F,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QACpB,EAAE,CAAC,OAAO,CAAC,sFAAsF,CAAC,CAAC,GAAG,EAAE,CAAC;QACzG,MAAM,iBAAiB,CAAC,EAAS,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/F,MAAM,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"communities.cohesion.test.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/pipeline/phases/communities.cohesion.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { computeCohesion } from '../../../pipeline/phases/communities.js';
|
|
3
|
-
describe('computeCohesion', () => {
|
|
4
|
-
it('returns 1.0 for fully connected community', () => {
|
|
5
|
-
// 3 nodes, 3 edges (fully connected: 3 possible edges)
|
|
6
|
-
const memberships = new Map([['a', 0], ['b', 0], ['c', 0]]);
|
|
7
|
-
const edges = [
|
|
8
|
-
{ sourceId: 'a', targetId: 'b' },
|
|
9
|
-
{ sourceId: 'b', targetId: 'c' },
|
|
10
|
-
{ sourceId: 'a', targetId: 'c' },
|
|
11
|
-
];
|
|
12
|
-
const score = computeCohesion(0, memberships, edges);
|
|
13
|
-
expect(score).toBeCloseTo(1.0);
|
|
14
|
-
});
|
|
15
|
-
it('returns 0 for community with no internal edges', () => {
|
|
16
|
-
const memberships = new Map([['a', 0], ['b', 0], ['c', 1], ['d', 1]]);
|
|
17
|
-
const edges = [
|
|
18
|
-
{ sourceId: 'a', targetId: 'c' }, // cross-community
|
|
19
|
-
];
|
|
20
|
-
const score = computeCohesion(0, memberships, edges);
|
|
21
|
-
expect(score).toBe(0);
|
|
22
|
-
});
|
|
23
|
-
it('returns value between 0 and 1 for partial connectivity', () => {
|
|
24
|
-
const memberships = new Map([['a', 0], ['b', 0], ['c', 0], ['d', 0]]);
|
|
25
|
-
const edges = [
|
|
26
|
-
{ sourceId: 'a', targetId: 'b' },
|
|
27
|
-
{ sourceId: 'c', targetId: 'd' },
|
|
28
|
-
// 2 out of 12 possible edges (directed: 4*(4-1)=12)
|
|
29
|
-
];
|
|
30
|
-
const score = computeCohesion(0, memberships, edges);
|
|
31
|
-
expect(score).toBeGreaterThan(0);
|
|
32
|
-
expect(score).toBeLessThanOrEqual(1);
|
|
33
|
-
});
|
|
34
|
-
it('returns 1 for single-node community', () => {
|
|
35
|
-
const memberships = new Map([['a', 0]]);
|
|
36
|
-
const score = computeCohesion(0, memberships, []);
|
|
37
|
-
expect(score).toBe(1);
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
//# sourceMappingURL=communities.cohesion.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"communities.cohesion.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/pipeline/phases/communities.cohesion.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE1E,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,uDAAuD;QACvD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG;YACZ,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE;YAChC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE;YAChC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE;SACjC,CAAC;QACF,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG;YACZ,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,kBAAkB;SACrD,CAAC;QACF,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG;YACZ,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE;YAChC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE;YAChC,oDAAoD;SACrD,CAAC;QACF,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"community-split.test.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/pipeline/phases/community-split.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { splitOversizedCommunity } from '../../../pipeline/phases/communities.js';
|
|
3
|
-
describe('splitOversizedCommunity', () => {
|
|
4
|
-
it('splits a community with 30 members into smaller groups', () => {
|
|
5
|
-
const members = Array.from({ length: 30 }, (_, i) => `node${i}`);
|
|
6
|
-
const result = splitOversizedCommunity(members, 10);
|
|
7
|
-
expect(result.length).toBeGreaterThan(1);
|
|
8
|
-
expect(result.every(g => g.length <= 10)).toBe(true);
|
|
9
|
-
});
|
|
10
|
-
it('does not split a small community', () => {
|
|
11
|
-
const members = ['a', 'b', 'c'];
|
|
12
|
-
const result = splitOversizedCommunity(members, 10);
|
|
13
|
-
expect(result).toHaveLength(1);
|
|
14
|
-
});
|
|
15
|
-
it('preserves all member IDs', () => {
|
|
16
|
-
const members = Array.from({ length: 25 }, (_, i) => `n${i}`);
|
|
17
|
-
const result = splitOversizedCommunity(members, 10);
|
|
18
|
-
const allNodes = result.flat();
|
|
19
|
-
expect(allNodes.sort()).toEqual([...members].sort());
|
|
20
|
-
});
|
|
21
|
-
it('respects maxGroupSize', () => {
|
|
22
|
-
const members = Array.from({ length: 50 }, (_, i) => `n${i}`);
|
|
23
|
-
const result = splitOversizedCommunity(members, 15);
|
|
24
|
-
expect(result.every(g => g.length <= 15)).toBe(true);
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
//# sourceMappingURL=community-split.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"community-split.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/pipeline/phases/community-split.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAElF,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"framework-detect.test.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/pipeline/phases/framework-detect.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
2
|
-
import { mkdtempSync, writeFileSync, rmSync } from 'fs';
|
|
3
|
-
import { join } from 'path';
|
|
4
|
-
import { tmpdir } from 'os';
|
|
5
|
-
import { detectFrameworks } from '../../../pipeline/phases/framework-detect.js';
|
|
6
|
-
describe('detectFrameworks', () => {
|
|
7
|
-
let tmpDir;
|
|
8
|
-
beforeEach(() => { tmpDir = mkdtempSync(join(tmpdir(), 'fw-detect-')); });
|
|
9
|
-
afterEach(() => { rmSync(tmpDir, { recursive: true, force: true }); });
|
|
10
|
-
it('detects React from package.json dependencies', () => {
|
|
11
|
-
writeFileSync(join(tmpDir, 'package.json'), JSON.stringify({
|
|
12
|
-
dependencies: { react: '^18.0.0', 'react-dom': '^18.0.0' },
|
|
13
|
-
}));
|
|
14
|
-
const result = detectFrameworks(tmpDir);
|
|
15
|
-
expect(result.frameworks).toContain('react');
|
|
16
|
-
expect(result.primaryLanguage).toBe('javascript');
|
|
17
|
-
});
|
|
18
|
-
it('detects Express from package.json', () => {
|
|
19
|
-
writeFileSync(join(tmpDir, 'package.json'), JSON.stringify({
|
|
20
|
-
dependencies: { express: '^4.18.0' },
|
|
21
|
-
}));
|
|
22
|
-
const result = detectFrameworks(tmpDir);
|
|
23
|
-
expect(result.frameworks).toContain('express');
|
|
24
|
-
});
|
|
25
|
-
it('detects Django from requirements.txt', () => {
|
|
26
|
-
writeFileSync(join(tmpDir, 'requirements.txt'), 'Django==4.2\npsycopg2-binary\n');
|
|
27
|
-
const result = detectFrameworks(tmpDir);
|
|
28
|
-
expect(result.frameworks).toContain('django');
|
|
29
|
-
expect(result.primaryLanguage).toBe('python');
|
|
30
|
-
});
|
|
31
|
-
it('detects Spring from pom.xml', () => {
|
|
32
|
-
writeFileSync(join(tmpDir, 'pom.xml'), '<project><dependencies><dependency><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies></project>');
|
|
33
|
-
const result = detectFrameworks(tmpDir);
|
|
34
|
-
expect(result.frameworks).toContain('spring');
|
|
35
|
-
expect(result.primaryLanguage).toBe('java');
|
|
36
|
-
});
|
|
37
|
-
it('detects Vue from package.json', () => {
|
|
38
|
-
writeFileSync(join(tmpDir, 'package.json'), JSON.stringify({ dependencies: { vue: '^3.0.0' } }));
|
|
39
|
-
const result = detectFrameworks(tmpDir);
|
|
40
|
-
expect(result.frameworks).toContain('vue');
|
|
41
|
-
});
|
|
42
|
-
it('returns empty arrays when no framework files exist', () => {
|
|
43
|
-
const result = detectFrameworks(tmpDir);
|
|
44
|
-
expect(result.frameworks).toEqual([]);
|
|
45
|
-
expect(result.primaryLanguage).toBeNull();
|
|
46
|
-
});
|
|
47
|
-
it('detects multiple frameworks', () => {
|
|
48
|
-
writeFileSync(join(tmpDir, 'package.json'), JSON.stringify({
|
|
49
|
-
dependencies: { react: '^18', express: '^4' },
|
|
50
|
-
}));
|
|
51
|
-
const result = detectFrameworks(tmpDir);
|
|
52
|
-
expect(result.frameworks).toContain('react');
|
|
53
|
-
expect(result.frameworks).toContain('express');
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
//# sourceMappingURL=framework-detect.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"framework-detect.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/pipeline/phases/framework-detect.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAEhF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,MAAc,CAAC;IAEnB,UAAU,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,SAAS,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvE,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;YACzD,YAAY,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE;SAC3D,CAAC,CAAC,CAAC;QACJ,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;YACzD,YAAY,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;SACrC,CAAC,CAAC,CAAC;QACJ,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,gCAAgC,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EACnC,2HAA2H,CAAC,CAAC;QAC/H,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QACjG,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;YACzD,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE;SAC9C,CAAC,CAAC,CAAC;QACJ,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"import-resolver.test.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/pipeline/phases/import-resolver.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
2
|
-
import { mkdtempSync, writeFileSync, mkdirSync, rmSync } from 'fs';
|
|
3
|
-
import { join } from 'path';
|
|
4
|
-
import { tmpdir } from 'os';
|
|
5
|
-
import { detectWorkspacePackages, resolveWorkspaceImport } from '../../../pipeline/phases/import-resolver.js';
|
|
6
|
-
describe('detectWorkspacePackages', () => {
|
|
7
|
-
let tmpDir;
|
|
8
|
-
beforeEach(() => { tmpDir = mkdtempSync(join(tmpdir(), 'monorepo-test-')); });
|
|
9
|
-
afterEach(() => { rmSync(tmpDir, { recursive: true, force: true }); });
|
|
10
|
-
it('detects npm workspace packages', () => {
|
|
11
|
-
writeFileSync(join(tmpDir, 'package.json'), JSON.stringify({
|
|
12
|
-
workspaces: ['packages/*'],
|
|
13
|
-
}));
|
|
14
|
-
mkdirSync(join(tmpDir, 'packages', 'core'), { recursive: true });
|
|
15
|
-
mkdirSync(join(tmpDir, 'packages', 'utils'), { recursive: true });
|
|
16
|
-
writeFileSync(join(tmpDir, 'packages', 'core', 'package.json'), JSON.stringify({ name: '@myapp/core' }));
|
|
17
|
-
writeFileSync(join(tmpDir, 'packages', 'utils', 'package.json'), JSON.stringify({ name: '@myapp/utils' }));
|
|
18
|
-
const packages = detectWorkspacePackages(tmpDir);
|
|
19
|
-
const names = packages.map(p => p.name);
|
|
20
|
-
expect(names).toContain('@myapp/core');
|
|
21
|
-
expect(names).toContain('@myapp/utils');
|
|
22
|
-
});
|
|
23
|
-
it('returns empty array when no workspace config', () => {
|
|
24
|
-
const packages = detectWorkspacePackages(tmpDir);
|
|
25
|
-
expect(packages).toEqual([]);
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
describe('resolveWorkspaceImport', () => {
|
|
29
|
-
it('resolves a workspace package name to its local path', () => {
|
|
30
|
-
const packages = [
|
|
31
|
-
{ name: '@myapp/core', path: '/repo/packages/core' },
|
|
32
|
-
{ name: '@myapp/utils', path: '/repo/packages/utils' },
|
|
33
|
-
];
|
|
34
|
-
const result = resolveWorkspaceImport('@myapp/core', packages);
|
|
35
|
-
expect(result).toBe('/repo/packages/core');
|
|
36
|
-
});
|
|
37
|
-
it('returns null for a non-workspace import', () => {
|
|
38
|
-
const packages = [
|
|
39
|
-
{ name: '@myapp/core', path: '/repo/packages/core' },
|
|
40
|
-
];
|
|
41
|
-
const result = resolveWorkspaceImport('lodash', packages);
|
|
42
|
-
expect(result).toBeNull();
|
|
43
|
-
});
|
|
44
|
-
it('returns null for empty packages list', () => {
|
|
45
|
-
const result = resolveWorkspaceImport('@myapp/core', []);
|
|
46
|
-
expect(result).toBeNull();
|
|
47
|
-
});
|
|
48
|
-
it('handles scoped packages with subpath (@scope/pkg/subpath)', () => {
|
|
49
|
-
const packages = [
|
|
50
|
-
{ name: '@myapp/core', path: '/repo/packages/core' },
|
|
51
|
-
];
|
|
52
|
-
const result = resolveWorkspaceImport('@myapp/core/utils', packages);
|
|
53
|
-
expect(result).toBe('/repo/packages/core');
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
//# sourceMappingURL=import-resolver.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"import-resolver.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/pipeline/phases/import-resolver.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-arrow.test.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/pipeline/phases/parse-arrow.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { extractArrowFunctions } from '../../../pipeline/phases/parse.js';
|
|
3
|
-
const ARROW_SOURCE = `
|
|
4
|
-
export const handleRequest = async (req, res) => {
|
|
5
|
-
res.send('ok');
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
const helper = (x) => x * 2;
|
|
9
|
-
export const transform = (items) => items.map(helper);
|
|
10
|
-
`;
|
|
11
|
-
describe('parse phase arrow functions', () => {
|
|
12
|
-
it('extracts named arrow functions as Function nodes', () => {
|
|
13
|
-
const nodes = extractArrowFunctions(ARROW_SOURCE, '/tmp/handler.ts');
|
|
14
|
-
const names = nodes.map(n => n.name);
|
|
15
|
-
expect(names).toContain('handleRequest');
|
|
16
|
-
expect(names).toContain('helper');
|
|
17
|
-
expect(names).toContain('transform');
|
|
18
|
-
});
|
|
19
|
-
it('marks exported arrow functions as exported', () => {
|
|
20
|
-
const nodes = extractArrowFunctions(ARROW_SOURCE, '/tmp/handler.ts');
|
|
21
|
-
const handleRequest = nodes.find(n => n.name === 'handleRequest');
|
|
22
|
-
expect(handleRequest?.isExported).toBe(true);
|
|
23
|
-
});
|
|
24
|
-
it('marks non-exported arrow functions as not exported', () => {
|
|
25
|
-
const nodes = extractArrowFunctions(ARROW_SOURCE, '/tmp/handler.ts');
|
|
26
|
-
const helper = nodes.find(n => n.name === 'helper');
|
|
27
|
-
expect(helper?.isExported).toBe(false);
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
//# sourceMappingURL=parse-arrow.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-arrow.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/pipeline/phases/parse-arrow.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,MAAM,YAAY,GAAG;;;;;;;CAOpB,CAAC;AAEF,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,KAAK,GAAG,qBAAqB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,KAAK,GAAG,qBAAqB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;QAClE,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,KAAK,GAAG,qBAAqB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-csharp.test.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/pipeline/phases/parse-csharp.test.ts"],"names":[],"mappings":""}
|