codesift-mcp 0.15.3 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/auto-prune.d.ts +16 -0
- package/dist/cli/auto-prune.d.ts.map +1 -0
- package/dist/cli/auto-prune.js +87 -0
- package/dist/cli/auto-prune.js.map +1 -0
- package/dist/cli/commands-admin.d.ts.map +1 -1
- package/dist/cli/commands-admin.js +11 -0
- package/dist/cli/commands-admin.js.map +1 -1
- package/dist/cli/commands-daemon.d.ts.map +1 -1
- package/dist/cli/commands-daemon.js +9 -0
- package/dist/cli/commands-daemon.js.map +1 -1
- package/dist/cli/commands-index.d.ts.map +1 -1
- package/dist/cli/commands-index.js +8 -0
- package/dist/cli/commands-index.js.map +1 -1
- package/dist/cli/embed-child.js +5 -1
- package/dist/cli/embed-child.js.map +1 -1
- package/dist/cli/help.js +1 -1
- package/dist/cli/hooks/pre-tool-use.d.ts.map +1 -1
- package/dist/cli/hooks/pre-tool-use.js +11 -5
- package/dist/cli/hooks/pre-tool-use.js.map +1 -1
- package/dist/cli/hooks/shared.d.ts +1 -1
- package/dist/cli/hooks/shared.d.ts.map +1 -1
- package/dist/cli/hooks/shared.js +34 -2
- package/dist/cli/hooks/shared.js.map +1 -1
- package/dist/cli/orphan-guard.d.ts +22 -0
- package/dist/cli/orphan-guard.d.ts.map +1 -1
- package/dist/cli/orphan-guard.js +30 -0
- package/dist/cli/orphan-guard.js.map +1 -1
- package/dist/cli/service.d.ts +43 -0
- package/dist/cli/service.d.ts.map +1 -1
- package/dist/cli/service.js +84 -4
- package/dist/cli/service.js.map +1 -1
- package/dist/cli/setup/codex-project-auto.d.ts +27 -0
- package/dist/cli/setup/codex-project-auto.d.ts.map +1 -0
- package/dist/cli/setup/codex-project-auto.js +98 -0
- package/dist/cli/setup/codex-project-auto.js.map +1 -0
- package/dist/cli/setup/codex.d.ts.map +1 -1
- package/dist/cli/setup/codex.js +101 -6
- package/dist/cli/setup/codex.js.map +1 -1
- package/dist/cli/setup/cursor.d.ts.map +1 -1
- package/dist/cli/setup/cursor.js +9 -1
- package/dist/cli/setup/cursor.js.map +1 -1
- package/dist/cli/setup/gemini.d.ts.map +1 -1
- package/dist/cli/setup/gemini.js +21 -0
- package/dist/cli/setup/gemini.js.map +1 -1
- package/dist/cli/setup/mcp.d.ts +37 -1
- package/dist/cli/setup/mcp.d.ts.map +1 -1
- package/dist/cli/setup/mcp.js +57 -4
- package/dist/cli/setup/mcp.js.map +1 -1
- package/dist/cli/setup/types.d.ts +19 -1
- package/dist/cli/setup/types.d.ts.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +30 -6
- package/dist/config.js.map +1 -1
- package/dist/formatters-core.d.ts +2 -0
- package/dist/formatters-core.d.ts.map +1 -1
- package/dist/formatters-core.js +18 -3
- package/dist/formatters-core.js.map +1 -1
- package/dist/formatters-shortening.d.ts.map +1 -1
- package/dist/formatters-shortening.js +8 -2
- package/dist/formatters-shortening.js.map +1 -1
- package/dist/instructions.d.ts +17 -0
- package/dist/instructions.d.ts.map +1 -1
- package/dist/instructions.js +35 -0
- package/dist/instructions.js.map +1 -1
- package/dist/lsp/lsp-servers.d.ts.map +1 -1
- package/dist/lsp/lsp-servers.js +4 -1
- package/dist/lsp/lsp-servers.js.map +1 -1
- package/dist/parser/parse-cache.d.ts.map +1 -1
- package/dist/parser/parse-cache.js +36 -1
- package/dist/parser/parse-cache.js.map +1 -1
- package/dist/register-tool-groups/analysis.d.ts.map +1 -1
- package/dist/register-tool-groups/analysis.js +10 -1
- package/dist/register-tool-groups/analysis.js.map +1 -1
- package/dist/register-tool-groups/core/index.d.ts.map +1 -1
- package/dist/register-tool-groups/core/index.js +26 -3
- package/dist/register-tool-groups/core/index.js.map +1 -1
- package/dist/register-tool-groups/core/meta.d.ts.map +1 -1
- package/dist/register-tool-groups/core/meta.js +23 -1
- package/dist/register-tool-groups/core/meta.js.map +1 -1
- package/dist/register-tool-groups/core/search.d.ts +15 -0
- package/dist/register-tool-groups/core/search.d.ts.map +1 -1
- package/dist/register-tool-groups/core/search.js +60 -2
- package/dist/register-tool-groups/core/search.js.map +1 -1
- package/dist/register-tool-groups/core/symbols.d.ts.map +1 -1
- package/dist/register-tool-groups/core/symbols.js +13 -2
- package/dist/register-tool-groups/core/symbols.js.map +1 -1
- package/dist/register-tool-groups/meta.d.ts.map +1 -1
- package/dist/register-tool-groups/meta.js +23 -0
- package/dist/register-tool-groups/meta.js.map +1 -1
- package/dist/register-tools/discovery.d.ts +22 -5
- package/dist/register-tools/discovery.d.ts.map +1 -1
- package/dist/register-tools/discovery.js +95 -9
- package/dist/register-tools/discovery.js.map +1 -1
- package/dist/register-tools/runtime.d.ts +9 -1
- package/dist/register-tools/runtime.d.ts.map +1 -1
- package/dist/register-tools/runtime.js +19 -2
- package/dist/register-tools/runtime.js.map +1 -1
- package/dist/register-tools.d.ts +4 -2
- package/dist/register-tools.d.ts.map +1 -1
- package/dist/register-tools.js +20 -8
- package/dist/register-tools.js.map +1 -1
- package/dist/search/bm25-store.d.ts +6 -0
- package/dist/search/bm25-store.d.ts.map +1 -0
- package/dist/search/bm25-store.js +164 -0
- package/dist/search/bm25-store.js.map +1 -0
- package/dist/search/bm25.d.ts +30 -0
- package/dist/search/bm25.d.ts.map +1 -1
- package/dist/search/bm25.js +159 -34
- package/dist/search/bm25.js.map +1 -1
- package/dist/search/embed-gate.d.ts +17 -0
- package/dist/search/embed-gate.d.ts.map +1 -0
- package/dist/search/embed-gate.js +64 -0
- package/dist/search/embed-gate.js.map +1 -0
- package/dist/search/semantic.d.ts.map +1 -1
- package/dist/search/semantic.js +5 -2
- package/dist/search/semantic.js.map +1 -1
- package/dist/server-helpers/health-vitals.d.ts +45 -0
- package/dist/server-helpers/health-vitals.d.ts.map +1 -0
- package/dist/server-helpers/health-vitals.js +77 -0
- package/dist/server-helpers/health-vitals.js.map +1 -0
- package/dist/server-helpers/repo-resolution.d.ts.map +1 -1
- package/dist/server-helpers/repo-resolution.js +23 -3
- package/dist/server-helpers/repo-resolution.js.map +1 -1
- package/dist/server-helpers/request-context.d.ts +34 -4
- package/dist/server-helpers/request-context.d.ts.map +1 -1
- package/dist/server-helpers/request-context.js +4 -0
- package/dist/server-helpers/request-context.js.map +1 -1
- package/dist/server-helpers/response-hints.d.ts +1 -4
- package/dist/server-helpers/response-hints.d.ts.map +1 -1
- package/dist/server-helpers/response-hints.js +44 -1
- package/dist/server-helpers/response-hints.js.map +1 -1
- package/dist/server-helpers.d.ts.map +1 -1
- package/dist/server-helpers.js +20 -0
- package/dist/server-helpers.js.map +1 -1
- package/dist/server.d.ts +10 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +165 -8
- package/dist/server.js.map +1 -1
- package/dist/storage/_shared.d.ts +1 -1
- package/dist/storage/_shared.d.ts.map +1 -1
- package/dist/storage/_shared.js +41 -3
- package/dist/storage/_shared.js.map +1 -1
- package/dist/storage/index-migration.d.ts.map +1 -1
- package/dist/storage/index-migration.js +6 -2
- package/dist/storage/index-migration.js.map +1 -1
- package/dist/storage/index-store.d.ts +29 -0
- package/dist/storage/index-store.d.ts.map +1 -1
- package/dist/storage/index-store.js +112 -0
- package/dist/storage/index-store.js.map +1 -1
- package/dist/storage/registry.d.ts +14 -0
- package/dist/storage/registry.d.ts.map +1 -1
- package/dist/storage/registry.js +46 -7
- package/dist/storage/registry.js.map +1 -1
- package/dist/storage/sqlite/accessors.d.ts +17 -0
- package/dist/storage/sqlite/accessors.d.ts.map +1 -1
- package/dist/storage/sqlite/accessors.js +20 -0
- package/dist/storage/sqlite/accessors.js.map +1 -1
- package/dist/storage/sqlite/connection.d.ts +20 -0
- package/dist/storage/sqlite/connection.d.ts.map +1 -1
- package/dist/storage/sqlite/connection.js +61 -0
- package/dist/storage/sqlite/connection.js.map +1 -1
- package/dist/storage/sqlite/index-io.d.ts +5 -0
- package/dist/storage/sqlite/index-io.d.ts.map +1 -1
- package/dist/storage/sqlite/index-io.js +98 -9
- package/dist/storage/sqlite/index-io.js.map +1 -1
- package/dist/storage/sqlite/meta.d.ts +7 -0
- package/dist/storage/sqlite/meta.d.ts.map +1 -1
- package/dist/storage/sqlite/meta.js.map +1 -1
- package/dist/storage/sqlite/queries.d.ts +66 -0
- package/dist/storage/sqlite/queries.d.ts.map +1 -0
- package/dist/storage/sqlite/queries.js +196 -0
- package/dist/storage/sqlite/queries.js.map +1 -0
- package/dist/storage/sqlite/schema.d.ts +2 -2
- package/dist/storage/sqlite/schema.d.ts.map +1 -1
- package/dist/storage/sqlite/schema.js +36 -0
- package/dist/storage/sqlite/schema.js.map +1 -1
- package/dist/storage/sqlite-index-store.d.ts +3 -1
- package/dist/storage/sqlite-index-store.d.ts.map +1 -1
- package/dist/storage/sqlite-index-store.js +4 -1
- package/dist/storage/sqlite-index-store.js.map +1 -1
- package/dist/storage/telemetry/uploader.js +1 -1
- package/dist/storage/telemetry/uploader.js.map +1 -1
- package/dist/storage/usage-tracker.d.ts.map +1 -1
- package/dist/storage/usage-tracker.js +54 -2
- package/dist/storage/usage-tracker.js.map +1 -1
- package/dist/tools/boundary-tools.js +2 -2
- package/dist/tools/boundary-tools.js.map +1 -1
- package/dist/tools/community-tools.d.ts +7 -0
- package/dist/tools/community-tools.d.ts.map +1 -1
- package/dist/tools/community-tools.js +31 -14
- package/dist/tools/community-tools.js.map +1 -1
- package/dist/tools/complexity-tools.d.ts.map +1 -1
- package/dist/tools/complexity-tools.js +65 -45
- package/dist/tools/complexity-tools.js.map +1 -1
- package/dist/tools/conversation-index-tools.js +2 -2
- package/dist/tools/conversation-index-tools.js.map +1 -1
- package/dist/tools/conversation-search-tools.js +2 -2
- package/dist/tools/conversation-search-tools.js.map +1 -1
- package/dist/tools/coupling-tools.d.ts +2 -2
- package/dist/tools/coupling-tools.d.ts.map +1 -1
- package/dist/tools/coupling-tools.js +8 -13
- package/dist/tools/coupling-tools.js.map +1 -1
- package/dist/tools/diff-tools.d.ts.map +1 -1
- package/dist/tools/diff-tools.js +11 -14
- package/dist/tools/diff-tools.js.map +1 -1
- package/dist/tools/git-exec.d.ts +42 -0
- package/dist/tools/git-exec.d.ts.map +1 -0
- package/dist/tools/git-exec.js +53 -0
- package/dist/tools/git-exec.js.map +1 -0
- package/dist/tools/git-tree-guard.d.ts +23 -0
- package/dist/tools/git-tree-guard.d.ts.map +1 -0
- package/dist/tools/git-tree-guard.js +33 -0
- package/dist/tools/git-tree-guard.js.map +1 -0
- package/dist/tools/graph-tools.d.ts.map +1 -1
- package/dist/tools/graph-tools.js +5 -2
- package/dist/tools/graph-tools.js.map +1 -1
- package/dist/tools/hotspot-tools.d.ts +25 -0
- package/dist/tools/hotspot-tools.d.ts.map +1 -1
- package/dist/tools/hotspot-tools.js +24 -3
- package/dist/tools/hotspot-tools.js.map +1 -1
- package/dist/tools/impact-tools.d.ts.map +1 -1
- package/dist/tools/impact-tools.js +8 -9
- package/dist/tools/impact-tools.js.map +1 -1
- package/dist/tools/index-tools/file-indexer.d.ts +6 -0
- package/dist/tools/index-tools/file-indexer.d.ts.map +1 -1
- package/dist/tools/index-tools/file-indexer.js +184 -18
- package/dist/tools/index-tools/file-indexer.js.map +1 -1
- package/dist/tools/index-tools/folder-indexer.d.ts.map +1 -1
- package/dist/tools/index-tools/folder-indexer.js +59 -7
- package/dist/tools/index-tools/folder-indexer.js.map +1 -1
- package/dist/tools/index-tools/load-gate.d.ts +15 -0
- package/dist/tools/index-tools/load-gate.d.ts.map +1 -0
- package/dist/tools/index-tools/load-gate.js +57 -0
- package/dist/tools/index-tools/load-gate.js.map +1 -0
- package/dist/tools/index-tools/overload-guard.d.ts +16 -0
- package/dist/tools/index-tools/overload-guard.d.ts.map +1 -0
- package/dist/tools/index-tools/overload-guard.js +68 -0
- package/dist/tools/index-tools/overload-guard.js.map +1 -0
- package/dist/tools/index-tools/parse.d.ts +9 -0
- package/dist/tools/index-tools/parse.d.ts.map +1 -1
- package/dist/tools/index-tools/parse.js +9 -2
- package/dist/tools/index-tools/parse.js.map +1 -1
- package/dist/tools/index-tools/registry.d.ts +25 -1
- package/dist/tools/index-tools/registry.d.ts.map +1 -1
- package/dist/tools/index-tools/registry.js +149 -8
- package/dist/tools/index-tools/registry.js.map +1 -1
- package/dist/tools/index-tools/state.d.ts +46 -0
- package/dist/tools/index-tools/state.d.ts.map +1 -1
- package/dist/tools/index-tools/state.js +132 -0
- package/dist/tools/index-tools/state.js.map +1 -1
- package/dist/tools/index-tools/watcher.d.ts.map +1 -1
- package/dist/tools/index-tools/watcher.js +13 -5
- package/dist/tools/index-tools/watcher.js.map +1 -1
- package/dist/tools/index-tools/worktree-seed.d.ts +42 -1
- package/dist/tools/index-tools/worktree-seed.d.ts.map +1 -1
- package/dist/tools/index-tools/worktree-seed.js +165 -24
- package/dist/tools/index-tools/worktree-seed.js.map +1 -1
- package/dist/tools/index-tools.d.ts +2 -2
- package/dist/tools/index-tools.d.ts.map +1 -1
- package/dist/tools/index-tools.js +2 -2
- package/dist/tools/index-tools.js.map +1 -1
- package/dist/tools/journal-generator-helpers.d.ts.map +1 -1
- package/dist/tools/journal-generator-helpers.js +3 -1
- package/dist/tools/journal-generator-helpers.js.map +1 -1
- package/dist/tools/nest-guard-tools.d.ts +8 -0
- package/dist/tools/nest-guard-tools.d.ts.map +1 -1
- package/dist/tools/nest-guard-tools.js +7 -1
- package/dist/tools/nest-guard-tools.js.map +1 -1
- package/dist/tools/nest-pipeline-tools.d.ts.map +1 -1
- package/dist/tools/nest-pipeline-tools.js +5 -1
- package/dist/tools/nest-pipeline-tools.js.map +1 -1
- package/dist/tools/outline-tools.d.ts +4 -1
- package/dist/tools/outline-tools.d.ts.map +1 -1
- package/dist/tools/outline-tools.js +41 -4
- package/dist/tools/outline-tools.js.map +1 -1
- package/dist/tools/patterns/execution.d.ts.map +1 -1
- package/dist/tools/patterns/execution.js +28 -10
- package/dist/tools/patterns/execution.js.map +1 -1
- package/dist/tools/review-diff/checks/coupling.js +1 -1
- package/dist/tools/review-diff/checks/coupling.js.map +1 -1
- package/dist/tools/review-diff/constants.d.ts +9 -0
- package/dist/tools/review-diff/constants.d.ts.map +1 -1
- package/dist/tools/review-diff/constants.js +9 -0
- package/dist/tools/review-diff/constants.js.map +1 -1
- package/dist/tools/review-diff/orchestrator.d.ts.map +1 -1
- package/dist/tools/review-diff/orchestrator.js +35 -2
- package/dist/tools/review-diff/orchestrator.js.map +1 -1
- package/dist/tools/review-diff/types.d.ts +5 -0
- package/dist/tools/review-diff/types.d.ts.map +1 -1
- package/dist/tools/route-tools/file-sources.d.ts.map +1 -1
- package/dist/tools/route-tools/file-sources.js +8 -1
- package/dist/tools/route-tools/file-sources.js.map +1 -1
- package/dist/tools/route-tools/hono.d.ts.map +1 -1
- package/dist/tools/route-tools/hono.js +18 -4
- package/dist/tools/route-tools/hono.js.map +1 -1
- package/dist/tools/route-tools/laravel.js +1 -1
- package/dist/tools/route-tools/laravel.js.map +1 -1
- package/dist/tools/route-tools/mermaid-call-chain.d.ts.map +1 -1
- package/dist/tools/route-tools/mermaid-call-chain.js +9 -1
- package/dist/tools/route-tools/mermaid-call-chain.js.map +1 -1
- package/dist/tools/route-tools/nest.js +2 -2
- package/dist/tools/route-tools/nest.js.map +1 -1
- package/dist/tools/route-tools/next-trace.d.ts.map +1 -1
- package/dist/tools/route-tools/next-trace.js +16 -1
- package/dist/tools/route-tools/next-trace.js.map +1 -1
- package/dist/tools/route-tools/next.d.ts.map +1 -1
- package/dist/tools/route-tools/next.js +10 -3
- package/dist/tools/route-tools/next.js.map +1 -1
- package/dist/tools/route-tools/route-mermaid.d.ts.map +1 -1
- package/dist/tools/route-tools/route-mermaid.js +7 -1
- package/dist/tools/route-tools/route-mermaid.js.map +1 -1
- package/dist/tools/route-tools/spring-kotlin.d.ts.map +1 -1
- package/dist/tools/route-tools/spring-kotlin.js +4 -1
- package/dist/tools/route-tools/spring-kotlin.js.map +1 -1
- package/dist/tools/route-tools/trace-route.d.ts.map +1 -1
- package/dist/tools/route-tools/trace-route.js +12 -4
- package/dist/tools/route-tools/trace-route.js.map +1 -1
- package/dist/tools/route-tools/yii2.d.ts.map +1 -1
- package/dist/tools/route-tools/yii2.js +14 -9
- package/dist/tools/route-tools/yii2.js.map +1 -1
- package/dist/tools/secret-detectors.d.ts +10 -1
- package/dist/tools/secret-detectors.d.ts.map +1 -1
- package/dist/tools/secret-detectors.js +16 -2
- package/dist/tools/secret-detectors.js.map +1 -1
- package/dist/tools/secret-file-scanner.d.ts +3 -1
- package/dist/tools/secret-file-scanner.d.ts.map +1 -1
- package/dist/tools/secret-file-scanner.js +4 -2
- package/dist/tools/secret-file-scanner.js.map +1 -1
- package/dist/tools/secret-tools.d.ts +7 -0
- package/dist/tools/secret-tools.d.ts.map +1 -1
- package/dist/tools/secret-tools.js +62 -5
- package/dist/tools/secret-tools.js.map +1 -1
- package/dist/tools/status-tools.d.ts +20 -0
- package/dist/tools/status-tools.d.ts.map +1 -1
- package/dist/tools/status-tools.js +46 -0
- package/dist/tools/status-tools.js.map +1 -1
- package/dist/tools/symbol-analysis-tools.d.ts.map +1 -1
- package/dist/tools/symbol-analysis-tools.js +27 -2
- package/dist/tools/symbol-analysis-tools.js.map +1 -1
- package/dist/tools/symbol-reference-tools.d.ts +17 -0
- package/dist/tools/symbol-reference-tools.d.ts.map +1 -1
- package/dist/tools/symbol-reference-tools.js +23 -4
- package/dist/tools/symbol-reference-tools.js.map +1 -1
- package/dist/tools/symbol-tool-internals.d.ts +10 -0
- package/dist/tools/symbol-tool-internals.d.ts.map +1 -1
- package/dist/tools/symbol-tool-internals.js +16 -1
- package/dist/tools/symbol-tool-internals.js.map +1 -1
- package/dist/tools/test-impact-tools.d.ts +3 -0
- package/dist/tools/test-impact-tools.d.ts.map +1 -1
- package/dist/tools/test-impact-tools.js +26 -4
- package/dist/tools/test-impact-tools.js.map +1 -1
- package/dist/tools/wiki-overview-sources.d.ts.map +1 -1
- package/dist/tools/wiki-overview-sources.js +3 -0
- package/dist/tools/wiki-overview-sources.js.map +1 -1
- package/dist/utils/import-graph/collect.d.ts +2 -3
- package/dist/utils/import-graph/collect.d.ts.map +1 -1
- package/dist/utils/import-graph/collect.js +73 -8
- package/dist/utils/import-graph/collect.js.map +1 -1
- package/dist/utils/import-graph/edge-accumulator.d.ts.map +1 -1
- package/dist/utils/import-graph/edge-accumulator.js +5 -0
- package/dist/utils/import-graph/edge-accumulator.js.map +1 -1
- package/dist/utils/import-graph/edge-cache.d.ts +15 -0
- package/dist/utils/import-graph/edge-cache.d.ts.map +1 -0
- package/dist/utils/import-graph/edge-cache.js +98 -0
- package/dist/utils/import-graph/edge-cache.js.map +1 -0
- package/dist/utils/import-graph/language-imports.d.ts +2 -2
- package/dist/utils/import-graph/language-imports.d.ts.map +1 -1
- package/dist/utils/import-graph/language-imports.js.map +1 -1
- package/dist/utils/import-graph/path-map.d.ts +2 -2
- package/dist/utils/import-graph/path-map.d.ts.map +1 -1
- package/dist/utils/import-graph/path-map.js.map +1 -1
- package/dist/utils/import-graph/python-php-edge-collectors.d.ts +11 -4
- package/dist/utils/import-graph/python-php-edge-collectors.d.ts.map +1 -1
- package/dist/utils/import-graph/python-php-edge-collectors.js +22 -5
- package/dist/utils/import-graph/python-php-edge-collectors.js.map +1 -1
- package/dist/utils/import-graph/source-edge-collector.d.ts +2 -3
- package/dist/utils/import-graph/source-edge-collector.d.ts.map +1 -1
- package/dist/utils/import-graph/source-edge-collector.js +7 -2
- package/dist/utils/import-graph/source-edge-collector.js.map +1 -1
- package/dist/utils/import-graph/types.d.ts +36 -1
- package/dist/utils/import-graph/types.d.ts.map +1 -1
- package/dist/utils/import-graph/typescript-edge-collector.d.ts +2 -3
- package/dist/utils/import-graph/typescript-edge-collector.d.ts.map +1 -1
- package/dist/utils/import-graph/typescript-edge-collector.js +6 -2
- package/dist/utils/import-graph/typescript-edge-collector.js.map +1 -1
- package/dist/utils/import-graph/workspace-alias.d.ts +2 -2
- package/dist/utils/import-graph/workspace-alias.d.ts.map +1 -1
- package/dist/utils/import-graph/workspace-alias.js.map +1 -1
- package/dist/utils/language-detect.d.ts +2 -4
- package/dist/utils/language-detect.d.ts.map +1 -1
- package/dist/utils/language-detect.js +26 -4
- package/dist/utils/language-detect.js.map +1 -1
- package/dist/utils/python-imports.d.ts +20 -0
- package/dist/utils/python-imports.d.ts.map +1 -1
- package/dist/utils/python-imports.js +52 -0
- package/dist/utils/python-imports.js.map +1 -1
- package/dist/utils/ts-imports.d.ts +16 -0
- package/dist/utils/ts-imports.d.ts.map +1 -1
- package/dist/utils/ts-imports.js +65 -3
- package/dist/utils/ts-imports.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complexity-tools.js","sourceRoot":"","sources":["../../src/tools/complexity-tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"complexity-tools.js","sourceRoot":"","sources":["../../src/tools/complexity-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { join, relative, basename } from "node:path";
|
|
|
3
3
|
import { extractConversationSymbols } from "../parser/symbol-extractor.js";
|
|
4
4
|
import { saveIndex, getIndexPath } from "../storage/index-store.js";
|
|
5
5
|
import { registerRepo } from "../storage/registry.js";
|
|
6
|
-
import {
|
|
6
|
+
import { buildBM25IndexYielding } from "../search/bm25.js";
|
|
7
7
|
import { loadConfig } from "../config.js";
|
|
8
8
|
import { embedSymbols } from "./index-tools.js";
|
|
9
9
|
import { setConversationBM25Index } from "./conversation-cache.js";
|
|
@@ -75,7 +75,7 @@ async function scanConversationFiles(rootPath, repoName) {
|
|
|
75
75
|
}
|
|
76
76
|
async function persistConversationIndex(rootPath, repoName, indexPath, scan, options) {
|
|
77
77
|
const config = loadConfig();
|
|
78
|
-
const bm25 =
|
|
78
|
+
const bm25 = await buildBM25IndexYielding(scan.symbols);
|
|
79
79
|
setConversationBM25Index(repoName, bm25);
|
|
80
80
|
const codeIndex = {
|
|
81
81
|
repo: repoName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-index-tools.js","sourceRoot":"","sources":["../../src/tools/conversation-index-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"conversation-index-tools.js","sourceRoot":"","sources":["../../src/tools/conversation-index-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { basename } from "node:path";
|
|
2
2
|
import { loadIndex, getIndexPath } from "../storage/index-store.js";
|
|
3
|
-
import {
|
|
3
|
+
import { buildBM25IndexYielding, searchBM25, applyCutoff } from "../search/bm25.js";
|
|
4
4
|
import { loadConfig } from "../config.js";
|
|
5
5
|
import { getConversationBM25Index, loadConversationEmbeddingsCached, setConversationBM25Index, } from "./conversation-cache.js";
|
|
6
6
|
import { getClaudeConversationProjectPath, resolveConversationProjectPath, } from "./conversation-paths.js";
|
|
@@ -47,7 +47,7 @@ async function loadConversationIndex(rootPath) {
|
|
|
47
47
|
try {
|
|
48
48
|
codeIndex = await loadIndex(indexPath);
|
|
49
49
|
if (codeIndex && codeIndex.symbols.length > 0) {
|
|
50
|
-
bm25 =
|
|
50
|
+
bm25 = await buildBM25IndexYielding(codeIndex.symbols);
|
|
51
51
|
setConversationBM25Index(repoName, bm25);
|
|
52
52
|
}
|
|
53
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-search-tools.js","sourceRoot":"","sources":["../../src/tools/conversation-search-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"conversation-search-tools.js","sourceRoot":"","sources":["../../src/tools/conversation-search-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,10 +36,10 @@ export declare function computeCoChangePairs(repoRoot: string, options?: {
|
|
|
36
36
|
since_days?: number;
|
|
37
37
|
min_support?: number;
|
|
38
38
|
max_files_per_commit?: number;
|
|
39
|
-
}): {
|
|
39
|
+
}): Promise<{
|
|
40
40
|
pairs: CoChangePair[];
|
|
41
41
|
total_commits: number;
|
|
42
|
-
}
|
|
42
|
+
}>;
|
|
43
43
|
export declare function coChangeAnalysis(repo: string, options?: {
|
|
44
44
|
since_days?: number;
|
|
45
45
|
min_support?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coupling-tools.d.ts","sourceRoot":"","sources":["../../src/tools/coupling-tools.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAMD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;IACrB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,OAAO,CAAC,iBAAiB,CAAC,CAiG5B;AAUD,
|
|
1
|
+
{"version":3,"file":"coupling-tools.d.ts","sourceRoot":"","sources":["../../src/tools/coupling-tools.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAMD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;IACrB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,OAAO,CAAC,iBAAiB,CAAC,CAiG5B;AAUD,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IACR,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,GACA,OAAO,CAAC;IAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,CAgG3D;AAMD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IACR,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,cAAc,CAAC,CAqCzB"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { getIndexSummary } from "./index-tools.js";
|
|
2
|
+
import { runGit } from "./git-exec.js";
|
|
3
3
|
import { collectImportEdges } from "../utils/import-graph.js";
|
|
4
4
|
// ---------------------------------------------------------------------------
|
|
5
5
|
// fan_in_fan_out
|
|
6
6
|
// ---------------------------------------------------------------------------
|
|
7
7
|
export async function fanInFanOut(repo, options) {
|
|
8
|
-
const index = await
|
|
8
|
+
const index = await getIndexSummary(repo);
|
|
9
9
|
if (!index) {
|
|
10
10
|
throw new Error(`Repository "${repo}" not found. Index it first with index_folder.`);
|
|
11
11
|
}
|
|
@@ -98,7 +98,7 @@ export async function fanInFanOut(repo, options) {
|
|
|
98
98
|
const DEFAULT_SINCE_DAYS = 180;
|
|
99
99
|
const DEFAULT_MIN_SUPPORT = 3;
|
|
100
100
|
const DEFAULT_MAX_FILES_PER_COMMIT = 50;
|
|
101
|
-
export function computeCoChangePairs(repoRoot, options) {
|
|
101
|
+
export async function computeCoChangePairs(repoRoot, options) {
|
|
102
102
|
const sinceDays = options?.since_days ?? DEFAULT_SINCE_DAYS;
|
|
103
103
|
const minSupport = options?.min_support ?? DEFAULT_MIN_SUPPORT;
|
|
104
104
|
const maxFilesPerCommit = options?.max_files_per_commit ?? DEFAULT_MAX_FILES_PER_COMMIT;
|
|
@@ -107,19 +107,14 @@ export function computeCoChangePairs(repoRoot, options) {
|
|
|
107
107
|
// timeout: 30s (was 15s) — large repos need more time to walk history.
|
|
108
108
|
let raw;
|
|
109
109
|
try {
|
|
110
|
-
raw =
|
|
110
|
+
raw = await runGit([
|
|
111
111
|
"log",
|
|
112
112
|
"--name-only",
|
|
113
113
|
"--no-merges",
|
|
114
114
|
"--diff-filter=AMRC",
|
|
115
115
|
`--since=${sinceDays} days ago`,
|
|
116
116
|
"--pretty=format:COMMIT %H",
|
|
117
|
-
], {
|
|
118
|
-
cwd: repoRoot,
|
|
119
|
-
encoding: "utf-8",
|
|
120
|
-
timeout: 30000,
|
|
121
|
-
maxBuffer: 256 * 1024 * 1024, // 256MB
|
|
122
|
-
});
|
|
117
|
+
], { cwd: repoRoot, timeout: 30000, maxBuffer: 256 * 1024 * 1024 });
|
|
123
118
|
}
|
|
124
119
|
catch (err) {
|
|
125
120
|
const msg = err instanceof Error ? err.message : String(err);
|
|
@@ -192,7 +187,7 @@ export function computeCoChangePairs(repoRoot, options) {
|
|
|
192
187
|
// co_change_analysis
|
|
193
188
|
// ---------------------------------------------------------------------------
|
|
194
189
|
export async function coChangeAnalysis(repo, options) {
|
|
195
|
-
const index = await
|
|
190
|
+
const index = await getIndexSummary(repo);
|
|
196
191
|
if (!index) {
|
|
197
192
|
throw new Error(`Repository "${repo}" not found. Index it first with index_folder.`);
|
|
198
193
|
}
|
|
@@ -203,7 +198,7 @@ export async function coChangeAnalysis(repo, options) {
|
|
|
203
198
|
const coChangeOpts = { since_days: sinceDays };
|
|
204
199
|
if (options?.min_support != null)
|
|
205
200
|
coChangeOpts.min_support = options.min_support;
|
|
206
|
-
const { pairs: allPairs, total_commits } = computeCoChangePairs(index.root, coChangeOpts);
|
|
201
|
+
const { pairs: allPairs, total_commits } = await computeCoChangePairs(index.root, coChangeOpts);
|
|
207
202
|
// Filter by jaccard threshold and focus path
|
|
208
203
|
let filtered = allPairs.filter((p) => p.jaccard >= minJaccard);
|
|
209
204
|
if (focusPath) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coupling-tools.js","sourceRoot":"","sources":["../../src/tools/coupling-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"coupling-tools.js","sourceRoot":"","sources":["../../src/tools/coupling-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-tools.d.ts","sourceRoot":"","sources":["../../src/tools/diff-tools.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"diff-tools.d.ts","sourceRoot":"","sources":["../../src/tools/diff-tools.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAmGD;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC,CAuC5B;AAID;;;GAGG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GACnC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAuD/B"}
|
package/dist/tools/diff-tools.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { execFileSync } from "node:child_process";
|
|
2
1
|
import { getCodeIndex } from "./index-tools.js";
|
|
2
|
+
import { runGit } from "./git-exec.js";
|
|
3
3
|
import { buildGitDiffArgs } from "../utils/git-validation.js";
|
|
4
|
+
import { assertGitTreeMatches } from "./git-tree-guard.js";
|
|
4
5
|
/**
|
|
5
6
|
* Parse unified diff output to extract changed file paths and line ranges.
|
|
6
7
|
*/
|
|
@@ -68,18 +69,14 @@ function symbolOverlapsHunks(symbol, hunks) {
|
|
|
68
69
|
/**
|
|
69
70
|
* Run git diff and return the raw output.
|
|
70
71
|
*/
|
|
71
|
-
function runGitDiff(repoRoot, since, until, nameOnly) {
|
|
72
|
-
// SEC-002:
|
|
72
|
+
async function runGitDiff(repoRoot, since, until, nameOnly) {
|
|
73
|
+
// SEC-002: array form, never a shell string — the injection guard survives the move to the
|
|
74
|
+
// async runGit (which blocks nothing; see git-exec.ts for why that mattered).
|
|
73
75
|
// buildGitDiffArgs validates refs and translates the WORKING/STAGED pseudo-refs
|
|
74
76
|
// (uncommitted diffs) that a bare `${since}..${until}` would feed git as unknown revisions.
|
|
75
77
|
const args = buildGitDiffArgs(since, until, nameOnly);
|
|
76
78
|
try {
|
|
77
|
-
return
|
|
78
|
-
cwd: repoRoot,
|
|
79
|
-
encoding: "utf-8",
|
|
80
|
-
timeout: 10_000,
|
|
81
|
-
maxBuffer: 10 * 1024 * 1024,
|
|
82
|
-
});
|
|
79
|
+
return await runGit(args, { cwd: repoRoot, timeout: 10_000, maxBuffer: 10 * 1024 * 1024 });
|
|
83
80
|
}
|
|
84
81
|
catch (err) {
|
|
85
82
|
const message = err instanceof Error ? err.message : String(err);
|
|
@@ -96,8 +93,9 @@ export async function diffOutline(repo, since, until) {
|
|
|
96
93
|
if (!index) {
|
|
97
94
|
throw new Error(`Repository not found: ${repo}`);
|
|
98
95
|
}
|
|
96
|
+
assertGitTreeMatches(repo, index.root);
|
|
99
97
|
const untilRef = until ?? "HEAD";
|
|
100
|
-
const diffOutput = runGitDiff(index.root, since, untilRef, false);
|
|
98
|
+
const diffOutput = await runGitDiff(index.root, since, untilRef, false);
|
|
101
99
|
const { hunks, newFiles, deletedFiles } = parseDiffHunks(diffOutput);
|
|
102
100
|
const newFileSet = new Set(newFiles);
|
|
103
101
|
const deletedFileSet = new Set(deletedFiles);
|
|
@@ -134,8 +132,9 @@ export async function changedSymbols(repo, since, until, options) {
|
|
|
134
132
|
if (!index) {
|
|
135
133
|
throw new Error(`Repository not found: ${repo}`);
|
|
136
134
|
}
|
|
135
|
+
assertGitTreeMatches(repo, index.root);
|
|
137
136
|
const untilRef = until ?? "HEAD";
|
|
138
|
-
const output = runGitDiff(index.root, since, untilRef, true);
|
|
137
|
+
const output = await runGitDiff(index.root, since, untilRef, true);
|
|
139
138
|
const changedFiles = output
|
|
140
139
|
.split("\n")
|
|
141
140
|
.map((line) => line.trim())
|
|
@@ -164,9 +163,7 @@ export async function changedSymbols(repo, since, until, options) {
|
|
|
164
163
|
if (options?.include_diff) {
|
|
165
164
|
for (const entry of result) {
|
|
166
165
|
try {
|
|
167
|
-
const raw =
|
|
168
|
-
"diff", `${since}..${untilRef}`, "--", entry.file,
|
|
169
|
-
], { cwd: index.root, maxBuffer: 50_000 }).toString("utf-8");
|
|
166
|
+
const raw = await runGit(["diff", `${since}..${untilRef}`, "--", entry.file], { cwd: index.root, timeout: 10_000, maxBuffer: 50_000 });
|
|
170
167
|
entry.diff = raw.length > MAX_DIFF_CHARS
|
|
171
168
|
? raw.slice(0, MAX_DIFF_CHARS) + "\n... (truncated)"
|
|
172
169
|
: raw;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-tools.js","sourceRoot":"","sources":["../../src/tools/diff-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"diff-tools.js","sourceRoot":"","sources":["../../src/tools/diff-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAoB3D;;GAEG;AACH,SAAS,cAAc,CAAC,UAAkB;IACxC,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,+CAA+C;QAC/C,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACf,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvB,SAAS,GAAG,KAAK,CAAC;gBAClB,aAAa,GAAG,KAAK,CAAC;YACxB,CAAC;YACD,SAAS;QACX,CAAC;QAED,kBAAkB;QAClB,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACrC,SAAS,GAAG,IAAI,CAAC;YACjB,IAAI,WAAW,EAAE,CAAC;gBAChB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7B,CAAC;YACD,SAAS;QACX,CAAC;QAED,sBAAsB;QACtB,IAAI,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACzC,aAAa,GAAG,IAAI,CAAC;YACrB,IAAI,WAAW,EAAE,CAAC;gBAChB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjC,CAAC;YACD,SAAS;QACX,CAAC;QAED,kDAAkD;QAClD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE,CAAC;YACzE,MAAM,SAAS,GAAG,wCAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtE,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnB,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7C,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9E,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,MAAkB,EAAE,KAAiB;IAChE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;YAAE,SAAS;QAExC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACpD,8CAA8C;QAC9C,IAAI,MAAM,CAAC,UAAU,IAAI,OAAO,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CACvB,QAAgB,EAAE,KAAa,EAAE,KAAa,EAAE,QAAiB;IAEjE,2FAA2F;IAC3F,8EAA8E;IAC9E,gFAAgF;IAChF,4FAA4F;IAC5F,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;IAC7F,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAY,EACZ,KAAa,EACb,KAAc;IAEd,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,QAAQ,GAAG,KAAK,IAAI,MAAM,CAAC;IACjC,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAErE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAiB,EAAE,CAAC;IAElC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAChC,mCAAmC;QACnC,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,SAAS;QACX,CAAC;QAED,oEAAoE;QACpE,0BAA0B;QAC1B,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAE3C,iDAAiD;QACjD,IAAI,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK;QACL,QAAQ;QACR,OAAO,EAAE,YAAY;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAY,EACZ,KAAa,EACb,KAAc,EACd,OAAoC;IAEpC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,QAAQ,GAAG,KAAK,IAAI,MAAM,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAEnE,MAAM,YAAY,GAAG,MAAM;SACxB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAErC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IAE7C,wBAAwB;IACxB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;IAClD,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAE5C,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAyB,EAAE,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,MAAM,CACtB,CAAC,MAAM,EAAE,GAAG,KAAK,KAAK,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EACnD,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CACxD,CAAC;gBACF,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,GAAG,cAAc;oBACtC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,mBAAmB;oBACpD,CAAC,CAAC,GAAG,CAAC;YACV,CAAC;YAAC,MAAM,CAAC;gBACP,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run `git` WITHOUT blocking the event loop.
|
|
3
|
+
*
|
|
4
|
+
* Every git call on a tool request path used `execFileSync`, which stops the whole process until
|
|
5
|
+
* the child exits. Under stdio that was invisible — one server per client, so a slow `git log` only
|
|
6
|
+
* delayed the client that asked for it. The shared HTTP daemon is one process for every client on
|
|
7
|
+
* the machine, so the same call freezes ALL of them.
|
|
8
|
+
*
|
|
9
|
+
* Measured on the live daemon 2026-08-29, sampling the main thread during a stall: 10% of
|
|
10
|
+
* main-thread time inside `node::SyncProcessRunner::Spawn`, 9% of it parked in `kevent` waiting for
|
|
11
|
+
* the child. Clients saw `/health` time out and reported a dead server; the daemon recovered on its
|
|
12
|
+
* own the moment the child exited, which is the signature of a blocking call rather than a hang.
|
|
13
|
+
* The worst offender allowed the child 30 SECONDS (`git log --name-only` over months of history).
|
|
14
|
+
*
|
|
15
|
+
* Array form, never a shell string — the injection guard the previous call sites carried as
|
|
16
|
+
* SEC-002/R-1 and which must survive this change.
|
|
17
|
+
*/
|
|
18
|
+
export interface RunGitOptions {
|
|
19
|
+
cwd: string;
|
|
20
|
+
/** Milliseconds before the child is killed. Same values the sync calls used. */
|
|
21
|
+
timeout: number;
|
|
22
|
+
/** Node's default is 1 MB, which overflows on large repositories. */
|
|
23
|
+
maxBuffer?: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* stdout as a string, or a throw carrying git's own message.
|
|
27
|
+
*
|
|
28
|
+
* The message shape is preserved deliberately: callers match on `ENOBUFS`/`maxBuffer` to tell
|
|
29
|
+
* "history too large" from "git failed", and one of them degrades gracefully on exactly that.
|
|
30
|
+
*/
|
|
31
|
+
export declare function runGit(args: string[], options: RunGitOptions): Promise<string>;
|
|
32
|
+
/**
|
|
33
|
+
* Was this a killed child rather than a failing git — and if so, say so.
|
|
34
|
+
*
|
|
35
|
+
* Separated from `runGit` so the classification can be tested without racing a real timeout: a test
|
|
36
|
+
* that sets `timeout: 1` and hopes the child is still alive passes alone and fails under load,
|
|
37
|
+
* which makes it a coin toss rather than a contract.
|
|
38
|
+
*
|
|
39
|
+
* Returns the message to throw, or null when this was a genuine git failure.
|
|
40
|
+
*/
|
|
41
|
+
export declare function describeGitTimeout(err: unknown, args: string[], options: RunGitOptions): string | null;
|
|
42
|
+
//# sourceMappingURL=git-exec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-exec.d.ts","sourceRoot":"","sources":["../../src/tools/git-exec.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBpF;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,aAAa,GACrB,MAAM,GAAG,IAAI,CAQf"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { execFile } from "node:child_process";
|
|
2
|
+
import { promisify } from "node:util";
|
|
3
|
+
const execFileAsync = promisify(execFile);
|
|
4
|
+
/**
|
|
5
|
+
* stdout as a string, or a throw carrying git's own message.
|
|
6
|
+
*
|
|
7
|
+
* The message shape is preserved deliberately: callers match on `ENOBUFS`/`maxBuffer` to tell
|
|
8
|
+
* "history too large" from "git failed", and one of them degrades gracefully on exactly that.
|
|
9
|
+
*/
|
|
10
|
+
export async function runGit(args, options) {
|
|
11
|
+
try {
|
|
12
|
+
const { stdout } = await execFileAsync("git", args, {
|
|
13
|
+
cwd: options.cwd,
|
|
14
|
+
encoding: "utf-8",
|
|
15
|
+
timeout: options.timeout,
|
|
16
|
+
...(options.maxBuffer !== undefined ? { maxBuffer: options.maxBuffer } : {}),
|
|
17
|
+
});
|
|
18
|
+
return stdout;
|
|
19
|
+
}
|
|
20
|
+
catch (err) {
|
|
21
|
+
// A KILLED child and a FAILING git look identical from the caller's side: both arrive as
|
|
22
|
+
// "Command failed: git …" and, when git wrote nothing to stderr, with no further detail.
|
|
23
|
+
// Measured 2026-08-30: `review_diff` reported `Git diff failed: Command failed: git diff
|
|
24
|
+
// --name-only HEAD~1..HEAD` on a repository where that exact command succeeds from a shell in
|
|
25
|
+
// 0.1 s — it had simply exceeded its ceiling on a loaded machine, and the message sent me
|
|
26
|
+
// looking for a git fault that did not exist.
|
|
27
|
+
//
|
|
28
|
+
// Timeouts and failures need different responses (raise the ceiling / narrow the range, versus
|
|
29
|
+
// fix the refs), so they must not read the same.
|
|
30
|
+
const timedOut = describeGitTimeout(err, args, options);
|
|
31
|
+
if (timedOut)
|
|
32
|
+
throw new Error(timedOut);
|
|
33
|
+
throw err;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Was this a killed child rather than a failing git — and if so, say so.
|
|
38
|
+
*
|
|
39
|
+
* Separated from `runGit` so the classification can be tested without racing a real timeout: a test
|
|
40
|
+
* that sets `timeout: 1` and hopes the child is still alive passes alone and fails under load,
|
|
41
|
+
* which makes it a coin toss rather than a contract.
|
|
42
|
+
*
|
|
43
|
+
* Returns the message to throw, or null when this was a genuine git failure.
|
|
44
|
+
*/
|
|
45
|
+
export function describeGitTimeout(err, args, options) {
|
|
46
|
+
const killed = err?.killed === true;
|
|
47
|
+
const signal = err?.signal;
|
|
48
|
+
if (!killed && signal !== "SIGTERM")
|
|
49
|
+
return null;
|
|
50
|
+
return (`git ${args[0] ?? ""} exceeded its ${options.timeout} ms limit in ${options.cwd}` +
|
|
51
|
+
`${signal ? ` (killed by ${signal})` : ""} — the command did not fail, it ran out of time`);
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=git-exec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-exec.js","sourceRoot":"","sources":["../../src/tools/git-exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AA2B1C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAc,EAAE,OAAsB;IACjE,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE;YAClD,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7E,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,yFAAyF;QACzF,yFAAyF;QACzF,yFAAyF;QACzF,8FAA8F;QAC9F,0FAA0F;QAC1F,8CAA8C;QAC9C,EAAE;QACF,+FAA+F;QAC/F,iDAAiD;QACjD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAY,EACZ,IAAc,EACd,OAAsB;IAEtB,MAAM,MAAM,GAAI,GAAmC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,MAAM,MAAM,GAAI,GAAyC,EAAE,MAAM,CAAC;IAClE,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACjD,OAAO,CACL,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,iBAAiB,OAAO,CAAC,OAAO,gBAAgB,OAAO,CAAC,GAAG,EAAE;QACjF,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,iDAAiD,CAC3F,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Refuse to answer a GIT question about a different working tree than the caller named.
|
|
3
|
+
*
|
|
4
|
+
* `resolveExplicitRepoInput` maps an absolute path to any registered repo that is an ANCESTOR of
|
|
5
|
+
* it, longest root winning. For an unregistered linked worktree that is the parent checkout — so
|
|
6
|
+
* the git-diff family ran `git` in the parent and answered confidently about files the caller had
|
|
7
|
+
* never touched. Measured on a real worktree: `diff_outline("<worktree>", "HEAD~1", "HEAD")`
|
|
8
|
+
* returned the PARENT's diff, listing a file committed on main, while the worktree's own commit
|
|
9
|
+
* did not appear. It did not fail — it answered, and the answer looked plausible.
|
|
10
|
+
*
|
|
11
|
+
* Telemetry, post-fix window, path-as-repo vs name-as-repo: diff_outline 11.3% vs 2.4%,
|
|
12
|
+
* impact_analysis 11.3% vs 5.8%, review_diff 11.3% vs 3.1%, changed_symbols 10.1% vs 3.9% — four
|
|
13
|
+
* tools within 1.2 points of each other, which is the signature of one shared resolver rather than
|
|
14
|
+
* four bugs. Those were the cases where git errored outright; the silent ones never showed up as
|
|
15
|
+
* errors at all.
|
|
16
|
+
*
|
|
17
|
+
* Only fires when the caller passed a PATH. A registry name carries no claim about which directory
|
|
18
|
+
* the caller is in, so there is nothing to contradict — and H19 already covers the read tools,
|
|
19
|
+
* where a parent's answer is at least a usable approximation. For a git range it is not: the refs
|
|
20
|
+
* belong to a different tree.
|
|
21
|
+
*/
|
|
22
|
+
export declare function assertGitTreeMatches(repo: string, indexRoot: string): void;
|
|
23
|
+
//# sourceMappingURL=git-tree-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-tree-guard.d.ts","sourceRoot":"","sources":["../../src/tools/git-tree-guard.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAQ1E"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { isAbsolute } from "node:path";
|
|
2
|
+
import { canonicalPath } from "../utils/worktree.js";
|
|
3
|
+
/**
|
|
4
|
+
* Refuse to answer a GIT question about a different working tree than the caller named.
|
|
5
|
+
*
|
|
6
|
+
* `resolveExplicitRepoInput` maps an absolute path to any registered repo that is an ANCESTOR of
|
|
7
|
+
* it, longest root winning. For an unregistered linked worktree that is the parent checkout — so
|
|
8
|
+
* the git-diff family ran `git` in the parent and answered confidently about files the caller had
|
|
9
|
+
* never touched. Measured on a real worktree: `diff_outline("<worktree>", "HEAD~1", "HEAD")`
|
|
10
|
+
* returned the PARENT's diff, listing a file committed on main, while the worktree's own commit
|
|
11
|
+
* did not appear. It did not fail — it answered, and the answer looked plausible.
|
|
12
|
+
*
|
|
13
|
+
* Telemetry, post-fix window, path-as-repo vs name-as-repo: diff_outline 11.3% vs 2.4%,
|
|
14
|
+
* impact_analysis 11.3% vs 5.8%, review_diff 11.3% vs 3.1%, changed_symbols 10.1% vs 3.9% — four
|
|
15
|
+
* tools within 1.2 points of each other, which is the signature of one shared resolver rather than
|
|
16
|
+
* four bugs. Those were the cases where git errored outright; the silent ones never showed up as
|
|
17
|
+
* errors at all.
|
|
18
|
+
*
|
|
19
|
+
* Only fires when the caller passed a PATH. A registry name carries no claim about which directory
|
|
20
|
+
* the caller is in, so there is nothing to contradict — and H19 already covers the read tools,
|
|
21
|
+
* where a parent's answer is at least a usable approximation. For a git range it is not: the refs
|
|
22
|
+
* belong to a different tree.
|
|
23
|
+
*/
|
|
24
|
+
export function assertGitTreeMatches(repo, indexRoot) {
|
|
25
|
+
if (!isAbsolute(repo))
|
|
26
|
+
return;
|
|
27
|
+
if (canonicalPath(repo) === canonicalPath(indexRoot))
|
|
28
|
+
return;
|
|
29
|
+
throw new Error(`"${repo}" is not indexed — it resolved to "${indexRoot}", a DIFFERENT working tree, `
|
|
30
|
+
+ "so any git range would describe that tree's commits and not yours. "
|
|
31
|
+
+ `Index this one first: index_folder(path="${repo}").`);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=git-tree-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-tree-guard.js","sourceRoot":"","sources":["../../src/tools/git-tree-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,SAAiB;IAClE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO;IAC9B,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC,SAAS,CAAC;QAAE,OAAO;IAC7D,MAAM,IAAI,KAAK,CACb,IAAI,IAAI,sCAAsC,SAAS,+BAA+B;UACpF,qEAAqE;UACrE,4CAA4C,IAAI,KAAK,CACxD,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-tools.d.ts","sourceRoot":"","sources":["../../src/tools/graph-tools.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"graph-tools.d.ts","sourceRoot":"","sources":["../../src/tools/graph-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getCodeIndex } from "./index-tools.js";
|
|
1
|
+
import { getCodeIndex, getIndexSummary } from "./index-tools.js";
|
|
2
2
|
import { isTestFileStrict as isTestFile } from "../utils/test-file.js";
|
|
3
3
|
import { REACT_STDLIB_HOOKS } from "./react-tools.js";
|
|
4
4
|
const DEFAULT_CALL_DEPTH = 1;
|
|
@@ -369,7 +369,10 @@ function classifyRole(callers, callees) {
|
|
|
369
369
|
}
|
|
370
370
|
export async function findCircularDeps(repo, options) {
|
|
371
371
|
const { collectImportEdges } = await import("../utils/import-graph.js");
|
|
372
|
-
|
|
372
|
+
// The SUMMARY: cycle detection is a graph over file paths, and this function never reads a
|
|
373
|
+
// symbol. The other entry points in this file DO (trace_call_chain, impact analysis), which is
|
|
374
|
+
// why the conversion is per-function rather than per-file.
|
|
375
|
+
const index = await getIndexSummary(repo);
|
|
373
376
|
if (!index)
|
|
374
377
|
throw new Error(`Repository "${repo}" not found`);
|
|
375
378
|
const edges = await collectImportEdges(index);
|