@lzehrung/codegraph 3.0.1 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -17
- package/codegraph-skill/codegraph/SKILL.md +6 -2
- package/dist/agent/artifact.d.ts.map +1 -1
- package/dist/agent/artifact.js +4 -9
- package/dist/agent/artifact.js.map +1 -1
- package/dist/agent/call-hierarchy.d.ts +4 -2
- package/dist/agent/call-hierarchy.d.ts.map +1 -1
- package/dist/agent/call-hierarchy.js +20 -29
- package/dist/agent/call-hierarchy.js.map +1 -1
- package/dist/agent/explain.d.ts.map +1 -1
- package/dist/agent/explain.js +24 -18
- package/dist/agent/explain.js.map +1 -1
- package/dist/agent/explore.d.ts.map +1 -1
- package/dist/agent/explore.js +2 -11
- package/dist/agent/explore.js.map +1 -1
- package/dist/agent/file-view.d.ts.map +1 -1
- package/dist/agent/file-view.js +4 -12
- package/dist/agent/file-view.js.map +1 -1
- package/dist/agent/normalize.d.ts +0 -3
- package/dist/agent/normalize.d.ts.map +1 -1
- package/dist/agent/normalize.js +1 -7
- package/dist/agent/normalize.js.map +1 -1
- package/dist/agent/orient.d.ts.map +1 -1
- package/dist/agent/orient.js +2 -6
- package/dist/agent/orient.js.map +1 -1
- package/dist/agent/packet.d.ts.map +1 -1
- package/dist/agent/packet.js +2 -5
- package/dist/agent/packet.js.map +1 -1
- package/dist/agent/query-index/content.d.ts.map +1 -1
- package/dist/agent/query-index/content.js +2 -6
- package/dist/agent/query-index/content.js.map +1 -1
- package/dist/agent/query-index/update.d.ts.map +1 -1
- package/dist/agent/query-index/update.js +8 -45
- package/dist/agent/query-index/update.js.map +1 -1
- package/dist/agent/query-index/worker-pool.d.ts.map +1 -1
- package/dist/agent/query-index/worker-pool.js +2 -1
- package/dist/agent/query-index/worker-pool.js.map +1 -1
- package/dist/agent/refactor-plan.d.ts +2 -2
- package/dist/agent/refactor-plan.d.ts.map +1 -1
- package/dist/agent/refactor-plan.js +11 -57
- package/dist/agent/refactor-plan.js.map +1 -1
- package/dist/agent/rename-preview.d.ts.map +1 -1
- package/dist/agent/rename-preview.js +166 -23
- package/dist/agent/rename-preview.js.map +1 -1
- package/dist/agent/search.d.ts +13 -0
- package/dist/agent/search.d.ts.map +1 -1
- package/dist/agent/search.js +17 -26
- package/dist/agent/search.js.map +1 -1
- package/dist/agent/semantic-symbols.d.ts +1 -1
- package/dist/agent/semantic-symbols.d.ts.map +1 -1
- package/dist/agent/semantic-symbols.js +2 -5
- package/dist/agent/semantic-symbols.js.map +1 -1
- package/dist/agent/semantic.d.ts +5 -0
- package/dist/agent/semantic.d.ts.map +1 -1
- package/dist/agent/semantic.js +12 -1
- package/dist/agent/semantic.js.map +1 -1
- package/dist/agent/session.d.ts +9 -0
- package/dist/agent/session.d.ts.map +1 -1
- package/dist/agent/session.js +59 -41
- package/dist/agent/session.js.map +1 -1
- package/dist/agent/type-hierarchy.d.ts +4 -2
- package/dist/agent/type-hierarchy.d.ts.map +1 -1
- package/dist/agent/type-hierarchy.js +19 -31
- package/dist/agent/type-hierarchy.js.map +1 -1
- package/dist/agent/workspace-symbols.d.ts +1 -1
- package/dist/agent/workspace-symbols.d.ts.map +1 -1
- package/dist/agent/workspace-symbols.js +7 -15
- package/dist/agent/workspace-symbols.js.map +1 -1
- package/dist/analysis-summary.d.ts +1 -4
- package/dist/analysis-summary.d.ts.map +1 -1
- package/dist/analysis-summary.js +58 -19
- package/dist/analysis-summary.js.map +1 -1
- package/dist/bin/cli.js +41060 -27641
- package/dist/bin/query-index-worker.js +268 -241
- package/dist/bootstrap/tree-sitter-languages.d.ts +2 -0
- package/dist/bootstrap/tree-sitter-languages.d.ts.map +1 -1
- package/dist/bootstrap/tree-sitter-languages.js +6 -19
- package/dist/bootstrap/tree-sitter-languages.js.map +1 -1
- package/dist/chunking/chunk-matches.d.ts.map +1 -1
- package/dist/chunking/chunk-matches.js +6 -42
- package/dist/chunking/chunk-matches.js.map +1 -1
- package/dist/chunking/chunk-split.d.ts +7 -0
- package/dist/chunking/chunk-split.d.ts.map +1 -1
- package/dist/chunking/chunk-split.js +3 -3
- package/dist/chunking/chunk-split.js.map +1 -1
- package/dist/chunking/chunk-text-file.js +2 -30
- package/dist/chunking/chunk-text-file.js.map +1 -1
- package/dist/cli/affected.d.ts.map +1 -1
- package/dist/cli/affected.js +1 -9
- package/dist/cli/affected.js.map +1 -1
- package/dist/cli/call-hierarchy.js +3 -6
- package/dist/cli/call-hierarchy.js.map +1 -1
- package/dist/cli/chunk.d.ts.map +1 -1
- package/dist/cli/chunk.js +4 -11
- package/dist/cli/chunk.js.map +1 -1
- package/dist/cli/command-table.d.ts.map +1 -1
- package/dist/cli/command-table.js +7 -0
- package/dist/cli/command-table.js.map +1 -1
- package/dist/cli/context.d.ts +1 -0
- package/dist/cli/context.d.ts.map +1 -1
- package/dist/cli/context.js +1 -1
- package/dist/cli/context.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +1 -11
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/duplicates.d.ts +5 -0
- package/dist/cli/duplicates.d.ts.map +1 -1
- package/dist/cli/duplicates.js +15 -2
- package/dist/cli/duplicates.js.map +1 -1
- package/dist/cli/graph.d.ts +4 -12
- package/dist/cli/graph.d.ts.map +1 -1
- package/dist/cli/graph.js +17 -8
- package/dist/cli/graph.js.map +1 -1
- package/dist/cli/help.d.ts +4 -4
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +17 -9
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/index.d.ts +2 -12
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/links.d.ts.map +1 -1
- package/dist/cli/links.js +4 -10
- package/dist/cli/links.js.map +1 -1
- package/dist/cli/mcp.d.ts.map +1 -1
- package/dist/cli/mcp.js +5 -0
- package/dist/cli/mcp.js.map +1 -1
- package/dist/cli/module-locals.d.ts +8 -0
- package/dist/cli/module-locals.d.ts.map +1 -0
- package/dist/cli/module-locals.js +9 -0
- package/dist/cli/module-locals.js.map +1 -0
- package/dist/cli/navigation.d.ts +2 -0
- package/dist/cli/navigation.d.ts.map +1 -1
- package/dist/cli/navigation.js +3 -5
- package/dist/cli/navigation.js.map +1 -1
- package/dist/cli/options.d.ts.map +1 -1
- package/dist/cli/options.js +6 -1
- package/dist/cli/options.js.map +1 -1
- package/dist/cli/pretty.d.ts +1 -0
- package/dist/cli/pretty.d.ts.map +1 -1
- package/dist/cli/pretty.js +6 -8
- package/dist/cli/pretty.js.map +1 -1
- package/dist/cli/progress.d.ts.map +1 -1
- package/dist/cli/progress.js +42 -16
- package/dist/cli/progress.js.map +1 -1
- package/dist/cli/refactor-plan.js +2 -5
- package/dist/cli/refactor-plan.js.map +1 -1
- package/dist/cli/rename-preview.js +2 -5
- package/dist/cli/rename-preview.js.map +1 -1
- package/dist/cli/review.d.ts +6 -16
- package/dist/cli/review.d.ts.map +1 -1
- package/dist/cli/review.js +2 -0
- package/dist/cli/review.js.map +1 -1
- package/dist/cli/server.d.ts.map +1 -1
- package/dist/cli/server.js +9 -10
- package/dist/cli/server.js.map +1 -1
- package/dist/cli/type-hierarchy.js +8 -8
- package/dist/cli/type-hierarchy.js.map +1 -1
- package/dist/cli/viewer.js +1 -1
- package/dist/cli/viewer.js.map +1 -1
- package/dist/document-links/asciidoc.d.ts.map +1 -1
- package/dist/document-links/asciidoc.js +4 -16
- package/dist/document-links/asciidoc.js.map +1 -1
- package/dist/document-links/check.d.ts.map +1 -1
- package/dist/document-links/check.js +1 -3
- package/dist/document-links/check.js.map +1 -1
- package/dist/document-links/html.d.ts.map +1 -1
- package/dist/document-links/html.js +6 -44
- package/dist/document-links/html.js.map +1 -1
- package/dist/document-links/markdown.d.ts.map +1 -1
- package/dist/document-links/markdown.js +4 -13
- package/dist/document-links/markdown.js.map +1 -1
- package/dist/document-links/rst.d.ts.map +1 -1
- package/dist/document-links/rst.js +7 -31
- package/dist/document-links/rst.js.map +1 -1
- package/dist/document-links/sfc.d.ts.map +1 -1
- package/dist/document-links/sfc.js +2 -5
- package/dist/document-links/sfc.js.map +1 -1
- package/dist/document-links/shared.d.ts +2 -0
- package/dist/document-links/shared.d.ts.map +1 -1
- package/dist/document-links/shared.js +13 -0
- package/dist/document-links/shared.js.map +1 -1
- package/dist/drift/artifact.d.ts.map +1 -1
- package/dist/drift/artifact.js +4 -27
- package/dist/drift/artifact.js.map +1 -1
- package/dist/drift/git.d.ts.map +1 -1
- package/dist/drift/git.js +10 -2
- package/dist/drift/git.js.map +1 -1
- package/dist/drift/graph-edges.d.ts +4 -0
- package/dist/drift/graph-edges.d.ts.map +1 -0
- package/dist/drift/graph-edges.js +15 -0
- package/dist/drift/graph-edges.js.map +1 -0
- package/dist/drift/snapshot.d.ts.map +1 -1
- package/dist/drift/snapshot.js +2 -17
- package/dist/drift/snapshot.js.map +1 -1
- package/dist/duplicates/candidates.d.ts +61 -0
- package/dist/duplicates/candidates.d.ts.map +1 -0
- package/dist/duplicates/candidates.js +873 -0
- package/dist/duplicates/candidates.js.map +1 -0
- package/dist/duplicates/progress.d.ts +17 -0
- package/dist/duplicates/progress.d.ts.map +1 -0
- package/dist/duplicates/progress.js +57 -0
- package/dist/duplicates/progress.js.map +1 -0
- package/dist/duplicates/scoring.d.ts +9 -40
- package/dist/duplicates/scoring.d.ts.map +1 -1
- package/dist/duplicates/scoring.js +34 -414
- package/dist/duplicates/scoring.js.map +1 -1
- package/dist/duplicates/types.d.ts +30 -1
- package/dist/duplicates/types.d.ts.map +1 -1
- package/dist/duplicates/unit-cache.d.ts +11 -1
- package/dist/duplicates/unit-cache.d.ts.map +1 -1
- package/dist/duplicates/unit-cache.js +20 -2
- package/dist/duplicates/unit-cache.js.map +1 -1
- package/dist/duplicates/units.d.ts +4 -2
- package/dist/duplicates/units.d.ts.map +1 -1
- package/dist/duplicates/units.js +47 -25
- package/dist/duplicates/units.js.map +1 -1
- package/dist/duplicates.d.ts +1 -0
- package/dist/duplicates.d.ts.map +1 -1
- package/dist/duplicates.js +116 -62
- package/dist/duplicates.js.map +1 -1
- package/dist/graph-builder.d.ts +1 -1
- package/dist/graph-builder.d.ts.map +1 -1
- package/dist/graph-builder.js +3 -2
- package/dist/graph-builder.js.map +1 -1
- package/dist/graph-edge-collector.d.ts +3 -1
- package/dist/graph-edge-collector.d.ts.map +1 -1
- package/dist/graph-edge-collector.js +38 -6
- package/dist/graph-edge-collector.js.map +1 -1
- package/dist/graphs/angularjs.d.ts.map +1 -1
- package/dist/graphs/angularjs.js +2 -9
- package/dist/graphs/angularjs.js.map +1 -1
- package/dist/graphs/edge-resolution.d.ts +4 -0
- package/dist/graphs/edge-resolution.d.ts.map +1 -1
- package/dist/graphs/edge-resolution.js +2 -0
- package/dist/graphs/edge-resolution.js.map +1 -1
- package/dist/graphs/external/manifests.d.ts.map +1 -1
- package/dist/graphs/external/manifests.js +1 -6
- package/dist/graphs/external/manifests.js.map +1 -1
- package/dist/graphs/specifiers.d.ts.map +1 -1
- package/dist/graphs/specifiers.js +47 -26
- package/dist/graphs/specifiers.js.map +1 -1
- package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts +2 -0
- package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts.map +1 -1
- package/dist/graphs/symbol-graph-detailed/edge-passes.js +9 -3
- package/dist/graphs/symbol-graph-detailed/edge-passes.js.map +1 -1
- package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts +3 -3
- package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts.map +1 -1
- package/dist/graphs/symbol-graph-detailed/receiver-calls.js +2 -26
- package/dist/graphs/symbol-graph-detailed/receiver-calls.js.map +1 -1
- package/dist/graphs/symbol-graph-detailed.d.ts.map +1 -1
- package/dist/graphs/symbol-graph-detailed.js +38 -1
- package/dist/graphs/symbol-graph-detailed.js.map +1 -1
- package/dist/impact/analyzer.d.ts.map +1 -1
- package/dist/impact/analyzer.js +23 -17
- package/dist/impact/analyzer.js.map +1 -1
- package/dist/impact/budgets.d.ts.map +1 -1
- package/dist/impact/budgets.js +3 -9
- package/dist/impact/budgets.js.map +1 -1
- package/dist/impact/call-compatibility.d.ts.map +1 -1
- package/dist/impact/call-compatibility.js +3 -12
- package/dist/impact/call-compatibility.js.map +1 -1
- package/dist/impact/context.d.ts +6 -0
- package/dist/impact/context.d.ts.map +1 -1
- package/dist/impact/context.js +2 -2
- package/dist/impact/context.js.map +1 -1
- package/dist/impact/direct.d.ts.map +1 -1
- package/dist/impact/direct.js +2 -6
- package/dist/impact/direct.js.map +1 -1
- package/dist/impact/map.d.ts +3 -1
- package/dist/impact/map.d.ts.map +1 -1
- package/dist/impact/map.js +12 -5
- package/dist/impact/map.js.map +1 -1
- package/dist/impact/providers/base.js +1 -1
- package/dist/impact/providers/base.js.map +1 -1
- package/dist/impact/reference-cache.d.ts.map +1 -1
- package/dist/impact/reference-cache.js +1 -24
- package/dist/impact/reference-cache.js.map +1 -1
- package/dist/impact/report-shared.d.ts +2 -1
- package/dist/impact/report-shared.d.ts.map +1 -1
- package/dist/impact/report-shared.js +10 -0
- package/dist/impact/report-shared.js.map +1 -1
- package/dist/impact/report-suggestions.d.ts.map +1 -1
- package/dist/impact/report-suggestions.js +2 -8
- package/dist/impact/report-suggestions.js.map +1 -1
- package/dist/impact/report.d.ts.map +1 -1
- package/dist/impact/report.js +2 -8
- package/dist/impact/report.js.map +1 -1
- package/dist/impact/streaming.d.ts.map +1 -1
- package/dist/impact/streaming.js +3 -8
- package/dist/impact/streaming.js.map +1 -1
- package/dist/indexer/build-cache/manifest.d.ts.map +1 -1
- package/dist/indexer/build-cache/manifest.js +10 -108
- package/dist/indexer/build-cache/manifest.js.map +1 -1
- package/dist/indexer/build-cache/module-cache.d.ts +6 -1
- package/dist/indexer/build-cache/module-cache.d.ts.map +1 -1
- package/dist/indexer/build-cache/module-cache.js +25 -2
- package/dist/indexer/build-cache/module-cache.js.map +1 -1
- package/dist/indexer/build-cache/options.d.ts +38 -1
- package/dist/indexer/build-cache/options.d.ts.map +1 -1
- package/dist/indexer/build-cache/options.js +38 -1
- package/dist/indexer/build-cache/options.js.map +1 -1
- package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
- package/dist/indexer/build-cache/project-snapshot.js +48 -99
- package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
- package/dist/indexer/build-cache/reports.d.ts +1 -0
- package/dist/indexer/build-cache/reports.d.ts.map +1 -1
- package/dist/indexer/build-cache/reports.js +10 -0
- package/dist/indexer/build-cache/reports.js.map +1 -1
- package/dist/indexer/build-index.d.ts +2 -0
- package/dist/indexer/build-index.d.ts.map +1 -1
- package/dist/indexer/build-index.js +187 -57
- package/dist/indexer/build-index.js.map +1 -1
- package/dist/indexer/build-workers.d.ts +7 -1
- package/dist/indexer/build-workers.d.ts.map +1 -1
- package/dist/indexer/build-workers.js +12 -0
- package/dist/indexer/build-workers.js.map +1 -1
- package/dist/indexer/call-hierarchy.d.ts.map +1 -1
- package/dist/indexer/call-hierarchy.js +5 -17
- package/dist/indexer/call-hierarchy.js.map +1 -1
- package/dist/indexer/compilation-units.d.ts +32 -20
- package/dist/indexer/compilation-units.d.ts.map +1 -1
- package/dist/indexer/compilation-units.js +139 -145
- package/dist/indexer/compilation-units.js.map +1 -1
- package/dist/indexer/cpp-callables.d.ts.map +1 -1
- package/dist/indexer/cpp-callables.js +2 -7
- package/dist/indexer/cpp-callables.js.map +1 -1
- package/dist/indexer/import-types.d.ts +5 -0
- package/dist/indexer/import-types.d.ts.map +1 -1
- package/dist/indexer/import-types.js.map +1 -1
- package/dist/indexer/imports/binding-ranges.d.ts +5 -12
- package/dist/indexer/imports/binding-ranges.d.ts.map +1 -1
- package/dist/indexer/imports/binding-ranges.js +13 -19
- package/dist/indexer/imports/binding-ranges.js.map +1 -1
- package/dist/indexer/imports/context.d.ts +6 -0
- package/dist/indexer/imports/context.d.ts.map +1 -1
- package/dist/indexer/imports/import-binding-tables.d.ts +28 -13
- package/dist/indexer/imports/import-binding-tables.d.ts.map +1 -1
- package/dist/indexer/imports/import-binding-tables.js +179 -178
- package/dist/indexer/imports/import-binding-tables.js.map +1 -1
- package/dist/indexer/imports/js-text-imports.d.ts +0 -1
- package/dist/indexer/imports/js-text-imports.d.ts.map +1 -1
- package/dist/indexer/imports/js-text-imports.js +0 -176
- package/dist/indexer/imports/js-text-imports.js.map +1 -1
- package/dist/indexer/imports/language-specific.d.ts.map +1 -1
- package/dist/indexer/imports/language-specific.js +4 -8
- package/dist/indexer/imports/language-specific.js.map +1 -1
- package/dist/indexer/imports/python.d.ts +0 -1
- package/dist/indexer/imports/python.d.ts.map +1 -1
- package/dist/indexer/imports/python.js +1 -29
- package/dist/indexer/imports/python.js.map +1 -1
- package/dist/indexer/imports/text-import-extractors.d.ts +2 -9
- package/dist/indexer/imports/text-import-extractors.d.ts.map +1 -1
- package/dist/indexer/imports/text-import-extractors.js +0 -284
- package/dist/indexer/imports/text-import-extractors.js.map +1 -1
- package/dist/indexer/imports.d.ts +15 -0
- package/dist/indexer/imports.d.ts.map +1 -1
- package/dist/indexer/imports.js +82 -44
- package/dist/indexer/imports.js.map +1 -1
- package/dist/indexer/incremental-plan.d.ts +0 -1
- package/dist/indexer/incremental-plan.d.ts.map +1 -1
- package/dist/indexer/incremental-plan.js +6 -12
- package/dist/indexer/incremental-plan.js.map +1 -1
- package/dist/indexer/name-lookup-policies/implicit-self.d.ts.map +1 -1
- package/dist/indexer/name-lookup-policies/implicit-self.js +25 -4
- package/dist/indexer/name-lookup-policies/implicit-self.js.map +1 -1
- package/dist/indexer/name-resolution-types.d.ts +5 -0
- package/dist/indexer/name-resolution-types.d.ts.map +1 -1
- package/dist/indexer/name-resolution.d.ts.map +1 -1
- package/dist/indexer/name-resolution.js +2 -0
- package/dist/indexer/name-resolution.js.map +1 -1
- package/dist/indexer/navigation-cpp.d.ts.map +1 -1
- package/dist/indexer/navigation-cpp.js +3 -5
- package/dist/indexer/navigation-cpp.js.map +1 -1
- package/dist/indexer/navigation-goto.d.ts +49 -3
- package/dist/indexer/navigation-goto.d.ts.map +1 -1
- package/dist/indexer/navigation-goto.js +500 -106
- package/dist/indexer/navigation-goto.js.map +1 -1
- package/dist/indexer/navigation-local.d.ts +7 -0
- package/dist/indexer/navigation-local.d.ts.map +1 -1
- package/dist/indexer/navigation-local.js +22 -2
- package/dist/indexer/navigation-local.js.map +1 -1
- package/dist/indexer/navigation-php.d.ts +0 -1
- package/dist/indexer/navigation-php.d.ts.map +1 -1
- package/dist/indexer/navigation-php.js +1 -7
- package/dist/indexer/navigation-php.js.map +1 -1
- package/dist/indexer/navigation-references.d.ts +1 -0
- package/dist/indexer/navigation-references.d.ts.map +1 -1
- package/dist/indexer/navigation-references.js +134 -23
- package/dist/indexer/navigation-references.js.map +1 -1
- package/dist/indexer/navigation-resolve.d.ts +22 -0
- package/dist/indexer/navigation-resolve.d.ts.map +1 -1
- package/dist/indexer/navigation-resolve.js +73 -8
- package/dist/indexer/navigation-resolve.js.map +1 -1
- package/dist/indexer/navigation.d.ts +4 -1
- package/dist/indexer/navigation.d.ts.map +1 -1
- package/dist/indexer/navigation.js +398 -95
- package/dist/indexer/navigation.js.map +1 -1
- package/dist/indexer/python-property-decorator.d.ts +11 -0
- package/dist/indexer/python-property-decorator.d.ts.map +1 -0
- package/dist/indexer/python-property-decorator.js +30 -0
- package/dist/indexer/python-property-decorator.js.map +1 -0
- package/dist/indexer/shared-owner-identity.d.ts +3 -1
- package/dist/indexer/shared-owner-identity.d.ts.map +1 -1
- package/dist/indexer/shared-owner-identity.js +40 -12
- package/dist/indexer/shared-owner-identity.js.map +1 -1
- package/dist/indexer/shared.d.ts +10 -0
- package/dist/indexer/shared.d.ts.map +1 -1
- package/dist/indexer/shared.js +8 -0
- package/dist/indexer/shared.js.map +1 -1
- package/dist/indexer/star-import-precedence.d.ts +5 -1
- package/dist/indexer/star-import-precedence.d.ts.map +1 -1
- package/dist/indexer/star-import-precedence.js +12 -19
- package/dist/indexer/star-import-precedence.js.map +1 -1
- package/dist/indexer/type-hierarchy.d.ts.map +1 -1
- package/dist/indexer/type-hierarchy.js +8 -9
- package/dist/indexer/type-hierarchy.js.map +1 -1
- package/dist/indexer/types.d.ts +49 -1
- package/dist/indexer/types.d.ts.map +1 -1
- package/dist/indexer/types.js.map +1 -1
- package/dist/indexer/workspace-symbols.d.ts.map +1 -1
- package/dist/indexer/workspace-symbols.js +3 -13
- package/dist/indexer/workspace-symbols.js.map +1 -1
- package/dist/installer/locks.d.ts +1 -0
- package/dist/installer/locks.d.ts.map +1 -1
- package/dist/installer/locks.js +4 -8
- package/dist/installer/locks.js.map +1 -1
- package/dist/installer/registry.d.ts.map +1 -1
- package/dist/installer/registry.js +9 -15
- package/dist/installer/registry.js.map +1 -1
- package/dist/languages/callable-arity.d.ts.map +1 -1
- package/dist/languages/callable-arity.js +1 -38
- package/dist/languages/callable-arity.js.map +1 -1
- package/dist/languages/definitions/csharp.d.ts.map +1 -1
- package/dist/languages/definitions/csharp.js +5 -13
- package/dist/languages/definitions/csharp.js.map +1 -1
- package/dist/languages/definitions/java.d.ts.map +1 -1
- package/dist/languages/definitions/java.js +4 -13
- package/dist/languages/definitions/java.js.map +1 -1
- package/dist/languages/definitions/kotlin.d.ts.map +1 -1
- package/dist/languages/definitions/kotlin.js +4 -8
- package/dist/languages/definitions/kotlin.js.map +1 -1
- package/dist/languages/definitions/python.d.ts.map +1 -1
- package/dist/languages/definitions/python.js +5 -3
- package/dist/languages/definitions/python.js.map +1 -1
- package/dist/languages/import-statement-parsers.d.ts +0 -30
- package/dist/languages/import-statement-parsers.d.ts.map +1 -1
- package/dist/languages/import-statement-parsers.js +1 -81
- package/dist/languages/import-statement-parsers.js.map +1 -1
- package/dist/languages/sfc.d.ts.map +1 -1
- package/dist/languages/sfc.js +8 -43
- package/dist/languages/sfc.js.map +1 -1
- package/dist/lifecycle/manifest.d.ts.map +1 -1
- package/dist/lifecycle/manifest.js +11 -29
- package/dist/lifecycle/manifest.js.map +1 -1
- package/dist/mcp/cancellation.d.ts +6 -0
- package/dist/mcp/cancellation.d.ts.map +1 -0
- package/dist/mcp/cancellation.js +11 -0
- package/dist/mcp/cancellation.js.map +1 -0
- package/dist/mcp/handlers.d.ts +54 -3
- package/dist/mcp/handlers.d.ts.map +1 -1
- package/dist/mcp/handlers.js +186 -42
- package/dist/mcp/handlers.js.map +1 -1
- package/dist/mcp/http-transport.d.ts.map +1 -1
- package/dist/mcp/http-transport.js +9 -2
- package/dist/mcp/http-transport.js.map +1 -1
- package/dist/mcp/index-readiness.d.ts +114 -0
- package/dist/mcp/index-readiness.d.ts.map +1 -0
- package/dist/mcp/index-readiness.js +264 -0
- package/dist/mcp/index-readiness.js.map +1 -0
- package/dist/mcp/project-watcher.d.ts +125 -0
- package/dist/mcp/project-watcher.d.ts.map +1 -0
- package/dist/mcp/project-watcher.js +643 -0
- package/dist/mcp/project-watcher.js.map +1 -0
- package/dist/mcp/protocol.d.ts.map +1 -1
- package/dist/mcp/protocol.js +23 -10
- package/dist/mcp/protocol.js.map +1 -1
- package/dist/mcp/server.d.ts +2 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +11 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/stale-install.d.ts +13 -0
- package/dist/mcp/stale-install.d.ts.map +1 -0
- package/dist/mcp/stale-install.js +30 -0
- package/dist/mcp/stale-install.js.map +1 -0
- package/dist/native/byte-index.d.ts +1 -0
- package/dist/native/byte-index.d.ts.map +1 -1
- package/dist/native/byte-index.js +1 -1
- package/dist/native/byte-index.js.map +1 -1
- package/dist/native/contracts.d.ts +1 -0
- package/dist/native/contracts.d.ts.map +1 -1
- package/dist/native/native-backend-report.d.ts +2 -1
- package/dist/native/native-backend-report.d.ts.map +1 -1
- package/dist/native/native-backend-report.js +23 -0
- package/dist/native/native-backend-report.js.map +1 -1
- package/dist/native/tree-shape.d.ts +5 -7
- package/dist/native/tree-shape.d.ts.map +1 -1
- package/dist/native/tree-shape.js +11 -10
- package/dist/native/tree-shape.js.map +1 -1
- package/dist/presentation/bounds.d.ts +2 -0
- package/dist/presentation/bounds.d.ts.map +1 -1
- package/dist/presentation/bounds.js +8 -0
- package/dist/presentation/bounds.js.map +1 -1
- package/dist/review/candidates.d.ts.map +1 -1
- package/dist/review/candidates.js +4 -25
- package/dist/review/candidates.js.map +1 -1
- package/dist/review/deleted.js +1 -1
- package/dist/review/deleted.js.map +1 -1
- package/dist/review/report.d.ts.map +1 -1
- package/dist/review/report.js +4 -2
- package/dist/review/report.js.map +1 -1
- package/dist/review/summaries.d.ts.map +1 -1
- package/dist/review/summaries.js +14 -35
- package/dist/review/summaries.js.map +1 -1
- package/dist/review.d.ts +6 -0
- package/dist/review.d.ts.map +1 -1
- package/dist/review.js +5 -6
- package/dist/review.js.map +1 -1
- package/dist/scss/navigation.d.ts +13 -0
- package/dist/scss/navigation.d.ts.map +1 -0
- package/dist/scss/navigation.js +150 -0
- package/dist/scss/navigation.js.map +1 -0
- package/dist/scss/resolution.d.ts +190 -0
- package/dist/scss/resolution.d.ts.map +1 -0
- package/dist/scss/resolution.js +1802 -0
- package/dist/scss/resolution.js.map +1 -0
- package/dist/scss/syntax.d.ts +181 -0
- package/dist/scss/syntax.d.ts.map +1 -0
- package/dist/scss/syntax.js +1436 -0
- package/dist/scss/syntax.js.map +1 -0
- package/dist/sql/classify-sql-file.d.ts +7 -0
- package/dist/sql/classify-sql-file.d.ts.map +1 -1
- package/dist/sql/classify-sql-file.js +9 -0
- package/dist/sql/classify-sql-file.js.map +1 -1
- package/dist/sql/extract-facts.d.ts.map +1 -1
- package/dist/sql/extract-facts.js +517 -77
- package/dist/sql/extract-facts.js.map +1 -1
- package/dist/sql/lex.d.ts +100 -1
- package/dist/sql/lex.d.ts.map +1 -1
- package/dist/sql/lex.js +473 -11
- package/dist/sql/lex.js.map +1 -1
- package/dist/sql/lookup.d.ts +17 -0
- package/dist/sql/lookup.d.ts.map +1 -1
- package/dist/sql/lookup.js +21 -0
- package/dist/sql/lookup.js.map +1 -1
- package/dist/sql/navigation.d.ts +28 -1
- package/dist/sql/navigation.d.ts.map +1 -1
- package/dist/sql/navigation.js +474 -84
- package/dist/sql/navigation.js.map +1 -1
- package/dist/sql/object-mentions.d.ts +24 -0
- package/dist/sql/object-mentions.d.ts.map +1 -0
- package/dist/sql/object-mentions.js +233 -0
- package/dist/sql/object-mentions.js.map +1 -0
- package/dist/sql/review.d.ts +3 -0
- package/dist/sql/review.d.ts.map +1 -1
- package/dist/sql/review.js +15 -14
- package/dist/sql/review.js.map +1 -1
- package/dist/sql/routine-mentions.d.ts +61 -0
- package/dist/sql/routine-mentions.d.ts.map +1 -0
- package/dist/sql/routine-mentions.js +868 -0
- package/dist/sql/routine-mentions.js.map +1 -0
- package/dist/sql/source-graph.d.ts +18 -3
- package/dist/sql/source-graph.d.ts.map +1 -1
- package/dist/sql/source-graph.js +109 -32
- package/dist/sql/source-graph.js.map +1 -1
- package/dist/sqlite/raw-query-worker-pool.d.ts.map +1 -1
- package/dist/sqlite/raw-query-worker-pool.js +2 -0
- package/dist/sqlite/raw-query-worker-pool.js.map +1 -1
- package/dist/sqlite/types.d.ts +6 -5
- package/dist/sqlite/types.d.ts.map +1 -1
- package/dist/sqlite/write.d.ts.map +1 -1
- package/dist/sqlite/write.js.map +1 -1
- package/dist/sqlite-driver.d.ts +0 -1
- package/dist/sqlite-driver.d.ts.map +1 -1
- package/dist/sqlite-driver.js +0 -11
- package/dist/sqlite-driver.js.map +1 -1
- package/dist/terraform/navigation.d.ts.map +1 -1
- package/dist/terraform/navigation.js +1 -3
- package/dist/terraform/navigation.js.map +1 -1
- package/dist/terraform/syntax.d.ts.map +1 -1
- package/dist/terraform/syntax.js +1 -4
- package/dist/terraform/syntax.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/util/ast.d.ts +5 -0
- package/dist/util/ast.d.ts.map +1 -1
- package/dist/util/ast.js +10 -0
- package/dist/util/ast.js.map +1 -1
- package/dist/util/atomic-file.d.ts +22 -0
- package/dist/util/atomic-file.d.ts.map +1 -0
- package/dist/util/atomic-file.js +106 -0
- package/dist/util/atomic-file.js.map +1 -0
- package/dist/util/collections.d.ts +5 -0
- package/dist/util/collections.d.ts.map +1 -1
- package/dist/util/collections.js +26 -0
- package/dist/util/collections.js.map +1 -1
- package/dist/util/concurrency.d.ts +8 -0
- package/dist/util/concurrency.d.ts.map +1 -1
- package/dist/util/concurrency.js +16 -0
- package/dist/util/concurrency.js.map +1 -1
- package/dist/util/confined-file.d.ts.map +1 -1
- package/dist/util/confined-file.js +1 -3
- package/dist/util/confined-file.js.map +1 -1
- package/dist/util/csharp-tree.d.ts +65 -0
- package/dist/util/csharp-tree.d.ts.map +1 -0
- package/dist/util/csharp-tree.js +266 -0
- package/dist/util/csharp-tree.js.map +1 -0
- package/dist/util/errors.d.ts +1 -0
- package/dist/util/errors.d.ts.map +1 -1
- package/dist/util/errors.js +3 -0
- package/dist/util/errors.js.map +1 -1
- package/dist/util/graph-edges.d.ts +2 -0
- package/dist/util/graph-edges.d.ts.map +1 -1
- package/dist/util/graph-edges.js +11 -0
- package/dist/util/graph-edges.js.map +1 -1
- package/dist/util/guards.d.ts +1 -0
- package/dist/util/guards.d.ts.map +1 -1
- package/dist/util/guards.js +6 -0
- package/dist/util/guards.js.map +1 -1
- package/dist/util/identifiers.d.ts +0 -24
- package/dist/util/identifiers.d.ts.map +1 -1
- package/dist/util/identifiers.js +0 -24
- package/dist/util/identifiers.js.map +1 -1
- package/dist/util/jvm-tree.d.ts +58 -0
- package/dist/util/jvm-tree.d.ts.map +1 -0
- package/dist/util/jvm-tree.js +153 -0
- package/dist/util/jvm-tree.js.map +1 -0
- package/dist/util/package-exports.d.ts +0 -22
- package/dist/util/package-exports.d.ts.map +1 -1
- package/dist/util/package-exports.js +25 -5
- package/dist/util/package-exports.js.map +1 -1
- package/dist/util/paths.d.ts +1 -0
- package/dist/util/paths.d.ts.map +1 -1
- package/dist/util/paths.js +10 -4
- package/dist/util/paths.js.map +1 -1
- package/dist/util/resolution/csharp.d.ts +20 -8
- package/dist/util/resolution/csharp.d.ts.map +1 -1
- package/dist/util/resolution/csharp.js +126 -127
- package/dist/util/resolution/csharp.js.map +1 -1
- package/dist/util/resolution/files.d.ts +6 -0
- package/dist/util/resolution/files.d.ts.map +1 -1
- package/dist/util/resolution/files.js +74 -21
- package/dist/util/resolution/files.js.map +1 -1
- package/dist/util/resolution/jvm.d.ts +21 -1
- package/dist/util/resolution/jvm.d.ts.map +1 -1
- package/dist/util/resolution/jvm.js +168 -100
- package/dist/util/resolution/jvm.js.map +1 -1
- package/dist/util/resolution/project-symbols.d.ts +1 -1
- package/dist/util/resolution/project-symbols.d.ts.map +1 -1
- package/dist/util/resolution/project-symbols.js.map +1 -1
- package/dist/util/resolution/specifier-targets.d.ts +4 -0
- package/dist/util/resolution/specifier-targets.d.ts.map +1 -1
- package/dist/util/resolution/specifier-targets.js +11 -3
- package/dist/util/resolution/specifier-targets.js.map +1 -1
- package/dist/util/resolution.d.ts.map +1 -1
- package/dist/util/resolution.js +21 -7
- package/dist/util/resolution.js.map +1 -1
- package/dist/util/syntax-tree.d.ts +16 -0
- package/dist/util/syntax-tree.d.ts.map +1 -0
- package/dist/util/syntax-tree.js +34 -0
- package/dist/util/syntax-tree.js.map +1 -0
- package/dist/util/text-scanning.d.ts +6 -0
- package/dist/util/text-scanning.d.ts.map +1 -0
- package/dist/util/text-scanning.js +35 -0
- package/dist/util/text-scanning.js.map +1 -0
- package/dist/util/trivia-tables.d.ts +13 -8
- package/dist/util/trivia-tables.d.ts.map +1 -1
- package/dist/util/trivia-tables.js +13 -72
- package/dist/util/trivia-tables.js.map +1 -1
- package/dist/util/trivia.d.ts +10 -3
- package/dist/util/trivia.d.ts.map +1 -1
- package/dist/util/trivia.js +209 -79
- package/dist/util/trivia.js.map +1 -1
- package/dist/util/windows-process-drain.d.ts.map +1 -1
- package/dist/util/windows-process-drain.js.map +1 -1
- package/dist/util/worker-threads.d.ts +16 -0
- package/dist/util/worker-threads.d.ts.map +1 -1
- package/dist/util/worker-threads.js +118 -0
- package/dist/util/worker-threads.js.map +1 -1
- package/dist/worker/native-worker-pool.d.ts.map +1 -1
- package/dist/worker/native-worker-pool.js +2 -1
- package/dist/worker/native-worker-pool.js.map +1 -1
- package/docs/mcp.md +82 -8
- package/package.json +7 -7
package/dist/mcp/handlers.d.ts
CHANGED
|
@@ -30,9 +30,26 @@ export type CodegraphMcpHandlerOptions = {
|
|
|
30
30
|
export type CodegraphMcpServerOptions = CodegraphMcpHandlerOptions & {
|
|
31
31
|
/**
|
|
32
32
|
* Defaults to `"base"` when Codegraph creates the session itself; defaults to `"off"`
|
|
33
|
-
* when `session` is supplied explicitly. Pass `"off"` to always start lazily.
|
|
33
|
+
* when `session` is supplied explicitly. Pass `"off"` to always start lazily. `"base"` builds the project
|
|
34
|
+
* index, the symbol graph, and the search index in the background, `"symbols"` also the detailed symbol graph.
|
|
35
|
+
* The server answers `initialize` and `tools/list` at once, whichever mode runs.
|
|
34
36
|
*/
|
|
35
37
|
warmup?: CodegraphMcpWarmupMode;
|
|
38
|
+
/**
|
|
39
|
+
* Watches the project for file changes and refreshes the index in the background. Defaults to `true` when
|
|
40
|
+
* Codegraph creates the session itself; has no effect when `session` is supplied. Pass `false` to leave
|
|
41
|
+
* freshness to the check that every tool call runs.
|
|
42
|
+
*/
|
|
43
|
+
watch?: boolean;
|
|
44
|
+
/** Milliseconds of quiet after the last file event before a background refresh starts. Defaults to 500. */
|
|
45
|
+
watchDebounceMs?: number;
|
|
46
|
+
/** Minimum milliseconds between background refresh starts. Defaults to 5 seconds. */
|
|
47
|
+
watchMinRefreshIntervalMs?: number;
|
|
48
|
+
/**
|
|
49
|
+
* Pauses the watcher after this many milliseconds without a tool call; the next call resumes it. Use 0 to
|
|
50
|
+
* never pause. Defaults to 30 minutes.
|
|
51
|
+
*/
|
|
52
|
+
watchIdleMs?: number;
|
|
36
53
|
host?: string;
|
|
37
54
|
port?: number;
|
|
38
55
|
/** Stdio-only idle exit timeout in ms. Use 0 to disable. Defaults to 30 minutes. */
|
|
@@ -49,6 +66,15 @@ export type CodegraphMcpServerOptions = CodegraphMcpHandlerOptions & {
|
|
|
49
66
|
httpBodyTimeoutMs?: number;
|
|
50
67
|
/** Maximum time to execute one MCP tool call in ms. Use 0 to disable. Defaults to 5 minutes. */
|
|
51
68
|
mcpToolTimeoutMs?: number;
|
|
69
|
+
/**
|
|
70
|
+
* Longest time in ms that `search`, `explore`, `orient`, `get_file` with `includeGraphContext`, `review`, `packet_get`,
|
|
71
|
+
* `workspace_symbols`, and `impact` wait for an index build that is running. Past it, the call answers `{ "status": "index_building" }`
|
|
72
|
+
* with the build's progress and a retry hint instead of blocking until the client gives up; the build continues,
|
|
73
|
+
* and a retry waits for what is left of it. Every other tool waits without a limit. Use 0 to wait without a limit
|
|
74
|
+
* in these eight as well. Defaults to 15 seconds, well below the 30 seconds that MCP clients commonly allow for a
|
|
75
|
+
* request, because a call also runs its own work once its builds end.
|
|
76
|
+
*/
|
|
77
|
+
mcpIndexWaitMs?: number;
|
|
52
78
|
onHttpListen?: ((info: CodegraphMcpHttpServerInfo) => void) | undefined;
|
|
53
79
|
runtimeIdentity?: CodegraphRuntimeIdentity;
|
|
54
80
|
};
|
|
@@ -271,11 +297,36 @@ type WithAbortSignal<T extends {
|
|
|
271
297
|
export type CodegraphMcpHandlers = WithAbortSignal<CodegraphMcpHandlerDefinitions> & {
|
|
272
298
|
dispose(): void;
|
|
273
299
|
};
|
|
274
|
-
type
|
|
300
|
+
export type CodegraphMcpResources = {
|
|
275
301
|
handlers: CodegraphMcpHandlers;
|
|
276
302
|
session: AgentSession;
|
|
303
|
+
/**
|
|
304
|
+
* Stops the file watcher and cancels its timers. Safe to call twice; does nothing without a watcher. The promise
|
|
305
|
+
* settles once a background refresh that was running, and every read of the file list that had started, have ended.
|
|
306
|
+
* Await it before `session.invalidate()`: until then they keep writing the cache and the session's file signatures.
|
|
307
|
+
*/
|
|
308
|
+
closeWatcher: () => Promise<void>;
|
|
309
|
+
/**
|
|
310
|
+
* Starts the startup warmup in the background, once. A server calls it when its transport is ready to serve, so that
|
|
311
|
+
* a failed listen or start never begins a build. Without a call, the first tool call that needs the index starts the
|
|
312
|
+
* build instead.
|
|
313
|
+
*/
|
|
314
|
+
startWarmup: () => void;
|
|
315
|
+
/**
|
|
316
|
+
* Settles when no load that the server started runs, at once when none was started, and never rejects: a warmup
|
|
317
|
+
* failure is logged. That covers the loads of the startup warmup and of the wait of every budgeted call, including a
|
|
318
|
+
* call that stopped waiting and a load that ran beside one that failed. Await it, with `closeWatcher`, before
|
|
319
|
+
* `session.invalidate()`: the loads keep writing the cache until they end.
|
|
320
|
+
*/
|
|
321
|
+
buildsSettled: () => Promise<void>;
|
|
277
322
|
};
|
|
278
|
-
|
|
323
|
+
/**
|
|
324
|
+
* Creates the session, its handlers, and the file watcher. It builds nothing: the index builds in the background once
|
|
325
|
+
* `startWarmup` runs, or at the first tool call that needs it. `search`, `explore`, `orient`, `get_file` with
|
|
326
|
+
* `includeGraphContext`, `review`, `packet_get`, `workspace_symbols`, and `impact` wait for the loads they read within
|
|
327
|
+
* `mcpIndexWaitMs`; see `index-readiness.ts`. Every other handler waits for the index without a limit.
|
|
328
|
+
*/
|
|
329
|
+
export declare function createCodegraphMcpResources(options: CodegraphMcpServerOptions): CodegraphMcpResources;
|
|
279
330
|
export declare function createCodegraphMcpHandlers(options: CodegraphMcpHandlerOptions): CodegraphMcpHandlers;
|
|
280
331
|
export {};
|
|
281
332
|
//# sourceMappingURL=handlers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/mcp/handlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/mcp/handlers.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/handlers.js
CHANGED
|
@@ -17,15 +17,18 @@ import { requireSemanticSymbol, resolveSemanticSymbol } from "../agent/semantic-
|
|
|
17
17
|
import { getDependencies, getReverseDependencies, getShortestPath } from "../graphs/queries.js";
|
|
18
18
|
import { findReferences, goToDefinition } from "../indexer/navigation.js";
|
|
19
19
|
import { parseQualifiedSymbolPath } from "../indexer/symbols.js";
|
|
20
|
+
import { resolveCacheLocation } from "../indexer/build-cache/location.js";
|
|
20
21
|
import { analyzeImpactFromDiff } from "../impact/index.js";
|
|
21
22
|
import { DEFAULT_BOUNDED_IMPACT_BUDGETS } from "../impact/budgets.js";
|
|
22
23
|
import { buildReviewReport } from "../review.js";
|
|
24
|
+
import { collectReviewChanges } from "../review/changes.js";
|
|
23
25
|
import { boundReviewReportForTransport } from "../review/types.js";
|
|
24
26
|
import { SQLITE_ARTIFACT_FILE_SIGNATURES_METADATA_KEY, queryGraphSqliteRaw } from "../sqlite.js";
|
|
25
27
|
import { boundList, countOmitted } from "../presentation/bounds.js";
|
|
26
28
|
import { isPlainRecord } from "../util/guards.js";
|
|
27
29
|
import { toProjectDisplayPath } from "../util/paths.js";
|
|
28
|
-
import {
|
|
30
|
+
import { isMissingPathError } from "../util/errors.js";
|
|
31
|
+
import { assertNoPrebuiltSessionWithBuildOptions, checkSessionFreshness, createAgentSession, listAgentSessionFiles, } from "../agent/session.js";
|
|
29
32
|
import { mapLimit } from "../util/concurrency.js";
|
|
30
33
|
import { assertRealPathCandidateWithinRoot, resolveProjectFile } from "../util/confined-file.js";
|
|
31
34
|
import { SymbolKind } from "../indexer/types.js";
|
|
@@ -34,54 +37,181 @@ import { assertMcpSqliteQueryResourceBounded, DEFAULT_SQLITE_BYTE_LIMIT, normali
|
|
|
34
37
|
import { DEFAULT_CALL_HIERARCHY_LIMIT, MAX_CALL_HIERARCHY_LIMIT, DEFAULT_MCP_COLLECTION_LIMIT, DEFAULT_TYPE_HIERARCHY_LIMIT, MAX_TYPE_HIERARCHY_LIMIT, MAX_MCP_COLLECTION_LIMIT, } from "./tools.js";
|
|
35
38
|
import {} from "../runtime-identity.js";
|
|
36
39
|
import { assertWritableDirectoryRealPathWithinRoot, resolveArtifactSqlitePathCandidate } from "./security.js";
|
|
40
|
+
import { assertMcpWatchMs, createWatchController } from "./project-watcher.js";
|
|
41
|
+
import { assertMcpIndexWait, createMcpBuildProgress, createMcpIndexReadiness, DEFAULT_MCP_INDEX_WAIT_MS, exploreNeeds, searchNeeds, } from "./index-readiness.js";
|
|
37
42
|
const MAX_MCP_FRESHNESS_CHANGED_FILES = 25;
|
|
38
43
|
const MAX_MCP_FRESHNESS_RETRIES = 3;
|
|
39
44
|
const SQLITE_ARTIFACT_STAT_CONCURRENCY = 64;
|
|
40
45
|
function assertMcpSessionOptions(options) {
|
|
41
46
|
assertNoPrebuiltSessionWithBuildOptions(options, "MCP server options");
|
|
42
47
|
}
|
|
43
|
-
function createCodegraphMcpSession(options, root) {
|
|
48
|
+
function createCodegraphMcpSession(options, root, buildProgress) {
|
|
44
49
|
assertMcpSessionOptions(options);
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
if (options.session)
|
|
51
|
+
return options.session;
|
|
52
|
+
// A session that Codegraph creates reports its builds to `buildProgress` as well as to the caller's own callback, so
|
|
53
|
+
// that a tool call that outwaits its budget can say what the build is doing.
|
|
54
|
+
const onProgress = options.buildOptions?.onProgress;
|
|
55
|
+
const buildOptions = buildProgress
|
|
56
|
+
? {
|
|
57
|
+
...options.buildOptions,
|
|
58
|
+
onProgress: (update) => {
|
|
59
|
+
buildProgress.record(update);
|
|
60
|
+
onProgress?.(update);
|
|
61
|
+
},
|
|
62
|
+
}
|
|
63
|
+
: options.buildOptions;
|
|
64
|
+
return createAgentSession({
|
|
65
|
+
root,
|
|
66
|
+
...(buildOptions ? { buildOptions } : {}),
|
|
67
|
+
freshness: { policy: "auto" },
|
|
68
|
+
});
|
|
51
69
|
}
|
|
52
|
-
|
|
70
|
+
/**
|
|
71
|
+
* Where the session writes its disk cache, for the watcher to ignore. A setting that cannot be resolved fails the
|
|
72
|
+
* session's own first use of the cache with the same error, so the watcher has nothing to ignore until then.
|
|
73
|
+
*/
|
|
74
|
+
function resolveWatchedCacheDirectory(root, buildOptions) {
|
|
75
|
+
try {
|
|
76
|
+
return resolveCacheLocation(root, buildOptions).path;
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function resolveStartupWarmupMode(warmup, sessionProvidedExplicitly) {
|
|
53
83
|
// An explicitly supplied session signals the caller already manages its lifecycle (tests,
|
|
54
84
|
// multi-server sharing); only warm it when they ask. A session Codegraph creates itself -
|
|
55
85
|
// the plain `codegraph mcp serve` / library-default path - warms by default so the first
|
|
56
86
|
// real tool call is not the one paying for cold discovery and building.
|
|
57
|
-
|
|
87
|
+
return warmup ?? (sessionProvidedExplicitly ? "off" : "base");
|
|
88
|
+
}
|
|
89
|
+
/** What `refresh_index` rebuilds before it answers: nothing, the project index, or also the detailed symbol graph. */
|
|
90
|
+
function rebuildSession(session, mode) {
|
|
58
91
|
if (mode === "off")
|
|
59
92
|
return undefined;
|
|
60
93
|
if (mode === "symbols")
|
|
61
94
|
return session.loadProject();
|
|
62
95
|
return session.loadProject({ symbolGraph: "skip" });
|
|
63
96
|
}
|
|
64
|
-
|
|
97
|
+
/**
|
|
98
|
+
* What the startup warmup loads in the background: the project index, the symbol graph that hybrid searches read, and
|
|
99
|
+
* the search index; `"symbols"` also the detailed symbol graph.
|
|
100
|
+
*/
|
|
101
|
+
function warmupNeeds(mode) {
|
|
102
|
+
if (mode === "off")
|
|
103
|
+
return [];
|
|
104
|
+
if (mode === "symbols")
|
|
105
|
+
return ["symbolGraph", "queryIndex", "detailedGraph"];
|
|
106
|
+
return ["symbolGraph", "queryIndex"];
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Makes `search`, `explore`, `orient`, `workspace_symbols`, `impact`, `get_file` with `includeGraphContext`, and
|
|
110
|
+
* `packet_get` wait for the session loads they read, within the server's budget, before their handler runs. `review`
|
|
111
|
+
* waits in its own handler, which asks git first. Every other handler is left as it is and waits for the index without
|
|
112
|
+
* a limit.
|
|
113
|
+
*/
|
|
114
|
+
function withIndexBudget(handlers, readiness, session) {
|
|
115
|
+
const budgeted = (tool, handler, needsOf, followUpOf) => async (request, signal) => {
|
|
116
|
+
const needs = needsOf(request);
|
|
117
|
+
if (needs)
|
|
118
|
+
await readiness.waitFor(tool, needs, signal, followUpOf?.(request));
|
|
119
|
+
return await handler(request, signal);
|
|
120
|
+
};
|
|
121
|
+
return {
|
|
122
|
+
...handlers,
|
|
123
|
+
search: budgeted("search", handlers.search, searchNeeds),
|
|
124
|
+
explore: budgeted("explore", handlers.explore, exploreNeeds),
|
|
125
|
+
orient: budgeted("orient", handlers.orient, () => ["index"]),
|
|
126
|
+
workspace_symbols: budgeted("workspace_symbols", handlers.workspace_symbols, () => ["index"]),
|
|
127
|
+
impact: budgeted("impact", handlers.impact, () => ["index"]),
|
|
128
|
+
// Only a graph context reads the index; the bytes of a file come from disk.
|
|
129
|
+
get_file: budgeted("get_file", handlers.get_file, (request) => request.includeGraphContext ? ["index"] : undefined),
|
|
130
|
+
// A `review:` target builds its own report from git and reads no session build. Any other target reads the detailed
|
|
131
|
+
// symbol graph, and also the duplicate analysis of its duplicate context, except a SQL object, which has none, and
|
|
132
|
+
// a target that does not resolve, which fails at once. What the target resolves to is known once the detailed
|
|
133
|
+
// symbol graph is loaded, so that decision follows it.
|
|
134
|
+
packet_get: budgeted("packet_get", handlers.packet_get, (request) => (request.target.startsWith("review:") ? [] : ["detailedGraph"]), (request) => request.target.startsWith("review:")
|
|
135
|
+
? undefined
|
|
136
|
+
: async () => {
|
|
137
|
+
const { kind } = await resolveCodegraphTargetWithSession(session, { target: request.target });
|
|
138
|
+
return kind === "sql_object" || kind === "not_found" ? [] : ["duplicates"];
|
|
139
|
+
}),
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Reports every tool call to the watcher, so its idle timer counts calls and a paused watcher resumes on the
|
|
144
|
+
* next one. This wraps the handler set instead of `checkMcpFreshness` because tools such as `workspace_symbols`,
|
|
145
|
+
* `calls`, and `get_file` reach the session's freshness check through their own `*WithSession` helpers.
|
|
146
|
+
*/
|
|
147
|
+
function withToolActivity(handlers, noteActivity) {
|
|
148
|
+
return new Proxy(handlers, {
|
|
149
|
+
get(target, property, receiver) {
|
|
150
|
+
const value = Reflect.get(target, property, receiver);
|
|
151
|
+
if (typeof value !== "function" || property === "dispose")
|
|
152
|
+
return value;
|
|
153
|
+
return (...args) => {
|
|
154
|
+
noteActivity();
|
|
155
|
+
return Reflect.apply(value, target, args);
|
|
156
|
+
};
|
|
157
|
+
},
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Creates the session, its handlers, and the file watcher. It builds nothing: the index builds in the background once
|
|
162
|
+
* `startWarmup` runs, or at the first tool call that needs it. `search`, `explore`, `orient`, `get_file` with
|
|
163
|
+
* `includeGraphContext`, `review`, `packet_get`, `workspace_symbols`, and `impact` wait for the loads they read within
|
|
164
|
+
* `mcpIndexWaitMs`; see `index-readiness.ts`. Every other handler waits for the index without a limit.
|
|
165
|
+
*/
|
|
166
|
+
export function createCodegraphMcpResources(options) {
|
|
65
167
|
const root = path.resolve(options.root);
|
|
66
168
|
const sessionProvidedExplicitly = options.session !== undefined;
|
|
67
|
-
const
|
|
68
|
-
await startCodegraphMcpWarmup(session, options.warmup, sessionProvidedExplicitly);
|
|
69
|
-
const { warmup, host, port, onHttpListen, ...handlerOptions } = options;
|
|
70
|
-
void warmup;
|
|
169
|
+
const { warmup, host, port, onHttpListen, watch, watchDebounceMs, watchMinRefreshIntervalMs, watchIdleMs, mcpIndexWaitMs, ...handlerOptions } = options;
|
|
71
170
|
void host;
|
|
72
171
|
void port;
|
|
73
172
|
void onHttpListen;
|
|
173
|
+
assertMcpWatchMs("watchDebounceMs", watchDebounceMs);
|
|
174
|
+
assertMcpWatchMs("watchMinRefreshIntervalMs", watchMinRefreshIntervalMs);
|
|
175
|
+
assertMcpWatchMs("watchIdleMs", watchIdleMs);
|
|
176
|
+
const indexWaitMs = assertMcpIndexWait(mcpIndexWaitMs ?? DEFAULT_MCP_INDEX_WAIT_MS);
|
|
177
|
+
const buildProgress = createMcpBuildProgress();
|
|
178
|
+
const session = createCodegraphMcpSession(options, root, buildProgress);
|
|
179
|
+
const readiness = createMcpIndexReadiness(session, {
|
|
180
|
+
waitMs: indexWaitMs,
|
|
181
|
+
warmup: warmupNeeds(resolveStartupWarmupMode(warmup, sessionProvidedExplicitly)),
|
|
182
|
+
progress: buildProgress,
|
|
183
|
+
});
|
|
184
|
+
const { handlers, runExclusive } = createCodegraphMcpHandlersForSession({ ...handlerOptions, root }, session, readiness);
|
|
185
|
+
// Only a session that Codegraph created is watched; a caller that passes its own session manages freshness.
|
|
186
|
+
// Lazy startup (`warmup: "off"`) stays lazy: the watches open on the first tool call.
|
|
187
|
+
const watcher = sessionProvidedExplicitly || watch === false
|
|
188
|
+
? undefined
|
|
189
|
+
: createWatchController(session, {
|
|
190
|
+
root,
|
|
191
|
+
runExclusive,
|
|
192
|
+
cacheDirectory: resolveWatchedCacheDirectory(root, options.buildOptions),
|
|
193
|
+
debounceMs: watchDebounceMs,
|
|
194
|
+
minRefreshIntervalMs: watchMinRefreshIntervalMs,
|
|
195
|
+
idleMs: watchIdleMs,
|
|
196
|
+
startPaused: warmup === "off",
|
|
197
|
+
});
|
|
74
198
|
return {
|
|
75
|
-
handlers:
|
|
199
|
+
handlers: watcher ? withToolActivity(handlers, watcher.noteActivity) : handlers,
|
|
76
200
|
session,
|
|
201
|
+
closeWatcher: () => watcher?.close() ?? Promise.resolve(),
|
|
202
|
+
startWarmup: readiness.startWarmup,
|
|
203
|
+
buildsSettled: readiness.buildsSettled,
|
|
77
204
|
};
|
|
78
205
|
}
|
|
79
206
|
export function createCodegraphMcpHandlers(options) {
|
|
80
207
|
const root = path.resolve(options.root);
|
|
81
208
|
const session = createCodegraphMcpSession(options, root);
|
|
82
|
-
return createCodegraphMcpHandlersForSession(options, session);
|
|
209
|
+
return createCodegraphMcpHandlersForSession(options, session).handlers;
|
|
83
210
|
}
|
|
84
|
-
function createCodegraphMcpHandlersForSession(options, session
|
|
211
|
+
function createCodegraphMcpHandlersForSession(options, session,
|
|
212
|
+
// The budget of the eight tools that wait within `mcpIndexWaitMs`. Without it the handlers build what they need
|
|
213
|
+
// themselves and wait for as long as that takes.
|
|
214
|
+
readiness) {
|
|
85
215
|
const root = path.resolve(options.root);
|
|
86
216
|
const readOnly = options.readOnly ?? true;
|
|
87
217
|
const realRoot = fs.realpath(root);
|
|
@@ -95,6 +225,9 @@ function createCodegraphMcpHandlersForSession(options, session) {
|
|
|
95
225
|
let sqliteCanRefresh = configuredSqliteCanRefresh;
|
|
96
226
|
let refreshPromise;
|
|
97
227
|
let refreshEpoch = 0;
|
|
228
|
+
// One turn at a time for everything that rebuilds the session's index or writes artifacts: `refresh_index`,
|
|
229
|
+
// `artifact_build`, the SQLite rebuild for `query_sqlite`, and the watcher's background refresh. Two of them in
|
|
230
|
+
// flight would leave the file signatures of whichever build ended last, whatever snapshot the session serves.
|
|
98
231
|
let artifactWritePromise;
|
|
99
232
|
const withArtifactWriteLock = async (operation) => {
|
|
100
233
|
const previous = artifactWritePromise;
|
|
@@ -128,17 +261,12 @@ function createCodegraphMcpHandlersForSession(options, session) {
|
|
|
128
261
|
reason,
|
|
129
262
|
};
|
|
130
263
|
};
|
|
131
|
-
const checkMcpFreshness = async () => {
|
|
132
|
-
if (session.checkFreshness)
|
|
133
|
-
return await session.checkFreshness();
|
|
134
|
-
return { state: "fresh" };
|
|
135
|
-
};
|
|
136
264
|
const withFreshness = async (run) => {
|
|
137
265
|
for (let attempt = 0; attempt < MAX_MCP_FRESHNESS_RETRIES; attempt += 1) {
|
|
138
266
|
if (refreshPromise)
|
|
139
267
|
await refreshPromise;
|
|
140
268
|
const epoch = refreshEpoch;
|
|
141
|
-
const freshness = await
|
|
269
|
+
const freshness = await checkSessionFreshness(session);
|
|
142
270
|
const result = await run();
|
|
143
271
|
if (epoch === refreshEpoch && !refreshPromise)
|
|
144
272
|
return { ...result, freshness };
|
|
@@ -262,7 +390,7 @@ function createCodegraphMcpHandlersForSession(options, session) {
|
|
|
262
390
|
signatures.set(relative(file), { path: file, size: stat.size, mtimeMs: stat.mtimeMs });
|
|
263
391
|
}
|
|
264
392
|
catch (error) {
|
|
265
|
-
if (
|
|
393
|
+
if (isMissingPathError(error)) {
|
|
266
394
|
return;
|
|
267
395
|
}
|
|
268
396
|
throw error;
|
|
@@ -560,24 +688,36 @@ function createCodegraphMcpHandlersForSession(options, session) {
|
|
|
560
688
|
...DEFAULT_BOUNDED_IMPACT_BUDGETS,
|
|
561
689
|
}));
|
|
562
690
|
}),
|
|
563
|
-
review: async (request
|
|
564
|
-
const
|
|
691
|
+
review: async (request, signal) => {
|
|
692
|
+
const reviewOptions = {
|
|
565
693
|
...options.buildOptions,
|
|
566
694
|
gitBase: request.base,
|
|
567
695
|
gitHead: request.head,
|
|
568
696
|
...(request.reviewDepth !== undefined ? { reviewDepth: request.reviewDepth } : {}),
|
|
569
|
-
}
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
...(
|
|
697
|
+
};
|
|
698
|
+
// The one diff of this call: the report below is built from it. A range without a changed file reads no index,
|
|
699
|
+
// so git alone answers it, without waiting for a build that runs.
|
|
700
|
+
const changes = await collectReviewChanges(root, reviewOptions);
|
|
701
|
+
if (!changes.changedFiles.size) {
|
|
702
|
+
const report = await buildReviewReport(root, reviewOptions, { changes });
|
|
703
|
+
return { ...boundReviewReportForTransport(report), freshness: { state: "fresh" } };
|
|
704
|
+
}
|
|
705
|
+
await readiness?.waitFor("review", ["index", "duplicates"], signal);
|
|
706
|
+
return await withFreshness(async () => {
|
|
707
|
+
const report = await buildReviewReport(root, reviewOptions, {
|
|
708
|
+
changes,
|
|
709
|
+
...(session.loadProject
|
|
710
|
+
? {
|
|
711
|
+
loadIndex: async () => (await session.loadProject({ symbolGraph: "skip" })).index,
|
|
712
|
+
}
|
|
713
|
+
: {}),
|
|
714
|
+
...(session.loadDuplicateAnalysis ? { loadDuplicateAnalysis: session.loadDuplicateAnalysis } : {}),
|
|
715
|
+
});
|
|
716
|
+
// MCP is a bounded transport (finding #45); library callers that need the
|
|
717
|
+
// complete, unbounded report should call `buildReviewReport` directly.
|
|
718
|
+
return boundReviewReportForTransport(report);
|
|
576
719
|
});
|
|
577
|
-
|
|
578
|
-
// complete, unbounded report should call `buildReviewReport` directly.
|
|
579
|
-
return boundReviewReportForTransport(report);
|
|
580
|
-
}),
|
|
720
|
+
},
|
|
581
721
|
};
|
|
582
722
|
const artifactHandlers = {
|
|
583
723
|
query_sqlite: async (request, executionOptions) => {
|
|
@@ -592,7 +732,7 @@ function createCodegraphMcpHandlersForSession(options, session) {
|
|
|
592
732
|
let realSqlitePath = await assertRealPathCandidateWithinRoot(await realRoot, sqlitePath, "SQLite artifact");
|
|
593
733
|
let artifactFreshness = await checkSqliteArtifactFreshness(realSqlitePath);
|
|
594
734
|
if (artifactFreshness.state !== "fresh") {
|
|
595
|
-
const sessionFreshness = await
|
|
735
|
+
const sessionFreshness = await checkSessionFreshness(session);
|
|
596
736
|
// An unchecked (manual) session cannot prove its snapshot matches disk, so rebuilding
|
|
597
737
|
// the artifact from it is as unsafe as rebuilding from a known-stale one.
|
|
598
738
|
if (sessionFreshness.state === "stale" || sessionFreshness.state === "unchecked") {
|
|
@@ -619,7 +759,7 @@ function createCodegraphMcpHandlersForSession(options, session) {
|
|
|
619
759
|
sqlitePath = configuredSqlitePath;
|
|
620
760
|
sqliteOutDir = configuredSqliteOutDir;
|
|
621
761
|
sqliteCanRefresh = configuredSqliteCanRefresh;
|
|
622
|
-
await
|
|
762
|
+
await rebuildSession(session, warmup);
|
|
623
763
|
})();
|
|
624
764
|
refreshPromise = refresh;
|
|
625
765
|
try {
|
|
@@ -635,7 +775,7 @@ function createCodegraphMcpHandlersForSession(options, session) {
|
|
|
635
775
|
if (readOnly) {
|
|
636
776
|
throw new Error("artifact_build is disabled in read-only MCP mode.");
|
|
637
777
|
}
|
|
638
|
-
const freshness = await
|
|
778
|
+
const freshness = await checkSessionFreshness(session);
|
|
639
779
|
if (freshness.state === "stale") {
|
|
640
780
|
const changed = freshness.changedFiles.length ? ` Changed files: ${freshness.changedFiles.join(", ")}.` : "";
|
|
641
781
|
const omitted = freshness.omittedChangedFileCount
|
|
@@ -669,11 +809,15 @@ function createCodegraphMcpHandlersForSession(options, session) {
|
|
|
669
809
|
session.invalidate();
|
|
670
810
|
},
|
|
671
811
|
};
|
|
672
|
-
|
|
812
|
+
const handlers = {
|
|
673
813
|
...searchHandlers,
|
|
674
814
|
...navigationHandlers,
|
|
675
815
|
...reviewHandlers,
|
|
676
816
|
...artifactHandlers,
|
|
677
817
|
};
|
|
818
|
+
return {
|
|
819
|
+
handlers: readiness ? withIndexBudget(handlers, readiness, session) : handlers,
|
|
820
|
+
runExclusive: withArtifactWriteLock,
|
|
821
|
+
};
|
|
678
822
|
}
|
|
679
823
|
//# sourceMappingURL=handlers.js.map
|