sdl-mcp 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +132 -0
- package/config/benchmark.ci.config.json +86 -0
- package/config/benchmark.ci.windows.config.json +86 -0
- package/config/benchmark.config.example.json +86 -0
- package/config/benchmark.config.json +86 -0
- package/config/sdlmcp.config.example.json +139 -0
- package/config/sdlmcp.config.json +48 -0
- package/config/sdlmcp.config.schema.json +381 -0
- package/dist/agent/evidence.d.ts +18 -0
- package/dist/agent/evidence.d.ts.map +1 -0
- package/dist/agent/evidence.js +107 -0
- package/dist/agent/evidence.js.map +1 -0
- package/dist/agent/executor.d.ts +28 -0
- package/dist/agent/executor.d.ts.map +1 -0
- package/dist/agent/executor.js +261 -0
- package/dist/agent/executor.js.map +1 -0
- package/dist/agent/index.d.ts +6 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +6 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/orchestrator.d.ts +14 -0
- package/dist/agent/orchestrator.d.ts.map +1 -0
- package/dist/agent/orchestrator.js +108 -0
- package/dist/agent/orchestrator.js.map +1 -0
- package/dist/agent/planner.d.ts +21 -0
- package/dist/agent/planner.d.ts.map +1 -0
- package/dist/agent/planner.js +153 -0
- package/dist/agent/planner.js.map +1 -0
- package/dist/agent/types.d.ts +86 -0
- package/dist/agent/types.d.ts.map +1 -0
- package/dist/agent/types.js +2 -0
- package/dist/agent/types.js.map +1 -0
- package/dist/benchmark/index.d.ts +4 -0
- package/dist/benchmark/index.d.ts.map +1 -0
- package/dist/benchmark/index.js +4 -0
- package/dist/benchmark/index.js.map +1 -0
- package/dist/benchmark/regression.d.ts +40 -0
- package/dist/benchmark/regression.d.ts.map +1 -0
- package/dist/benchmark/regression.js +199 -0
- package/dist/benchmark/regression.js.map +1 -0
- package/dist/benchmark/smoothing.d.ts +40 -0
- package/dist/benchmark/smoothing.d.ts.map +1 -0
- package/dist/benchmark/smoothing.js +121 -0
- package/dist/benchmark/smoothing.js.map +1 -0
- package/dist/benchmark/threshold.d.ts +64 -0
- package/dist/benchmark/threshold.d.ts.map +1 -0
- package/dist/benchmark/threshold.js +173 -0
- package/dist/benchmark/threshold.js.map +1 -0
- package/dist/cli/argParsing.d.ts +34 -0
- package/dist/cli/argParsing.d.ts.map +1 -0
- package/dist/cli/argParsing.js +329 -0
- package/dist/cli/argParsing.js.map +1 -0
- package/dist/cli/commands/benchmark.d.ts +16 -0
- package/dist/cli/commands/benchmark.d.ts.map +1 -0
- package/dist/cli/commands/benchmark.js +412 -0
- package/dist/cli/commands/benchmark.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +3 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +218 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/export.d.ts +12 -0
- package/dist/cli/commands/export.d.ts.map +1 -0
- package/dist/cli/commands/export.js +70 -0
- package/dist/cli/commands/export.js.map +1 -0
- package/dist/cli/commands/import.d.ts +10 -0
- package/dist/cli/commands/import.d.ts.map +1 -0
- package/dist/cli/commands/import.js +40 -0
- package/dist/cli/commands/import.js.map +1 -0
- package/dist/cli/commands/index.d.ts +3 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +89 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/init.d.ts +3 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +221 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/pull.d.ts +11 -0
- package/dist/cli/commands/pull.d.ts.map +1 -0
- package/dist/cli/commands/pull.js +47 -0
- package/dist/cli/commands/pull.js.map +1 -0
- package/dist/cli/commands/serve.d.ts +3 -0
- package/dist/cli/commands/serve.d.ts.map +1 -0
- package/dist/cli/commands/serve.js +72 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/commands/version.d.ts +3 -0
- package/dist/cli/commands/version.d.ts.map +1 -0
- package/dist/cli/commands/version.js +24 -0
- package/dist/cli/commands/version.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +213 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/logging.d.ts +10 -0
- package/dist/cli/logging.d.ts.map +1 -0
- package/dist/cli/logging.js +48 -0
- package/dist/cli/logging.js.map +1 -0
- package/dist/cli/transport/http.d.ts +3 -0
- package/dist/cli/transport/http.d.ts.map +1 -0
- package/dist/cli/transport/http.js +106 -0
- package/dist/cli/transport/http.js.map +1 -0
- package/dist/cli/transport/stdio.d.ts +3 -0
- package/dist/cli/transport/stdio.d.ts.map +1 -0
- package/dist/cli/transport/stdio.js +6 -0
- package/dist/cli/transport/stdio.js.map +1 -0
- package/dist/cli/types.d.ts +41 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +2 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/code/gate.d.ts +11 -0
- package/dist/code/gate.d.ts.map +1 -0
- package/dist/code/gate.js +134 -0
- package/dist/code/gate.js.map +1 -0
- package/dist/code/hotpath.d.ts +17 -0
- package/dist/code/hotpath.d.ts.map +1 -0
- package/dist/code/hotpath.js +200 -0
- package/dist/code/hotpath.js.map +1 -0
- package/dist/code/redact.d.ts +19 -0
- package/dist/code/redact.d.ts.map +1 -0
- package/dist/code/redact.js +92 -0
- package/dist/code/redact.js.map +1 -0
- package/dist/code/skeleton.d.ts +32 -0
- package/dist/code/skeleton.d.ts.map +1 -0
- package/dist/code/skeleton.js +610 -0
- package/dist/code/skeleton.js.map +1 -0
- package/dist/code/windows.d.ts +18 -0
- package/dist/code/windows.d.ts.map +1 -0
- package/dist/code/windows.js +236 -0
- package/dist/code/windows.js.map +1 -0
- package/dist/config/constants.d.ts +340 -0
- package/dist/config/constants.d.ts.map +1 -0
- package/dist/config/constants.js +379 -0
- package/dist/config/constants.js.map +1 -0
- package/dist/config/loadConfig.d.ts +3 -0
- package/dist/config/loadConfig.d.ts.map +1 -0
- package/dist/config/loadConfig.js +71 -0
- package/dist/config/loadConfig.js.map +1 -0
- package/dist/config/types.d.ts +509 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +139 -0
- package/dist/config/types.js.map +1 -0
- package/dist/db/db.d.ts +4 -0
- package/dist/db/db.d.ts.map +1 -0
- package/dist/db/db.js +47 -0
- package/dist/db/db.js.map +1 -0
- package/dist/db/migrations.d.ts +15 -0
- package/dist/db/migrations.d.ts.map +1 -0
- package/dist/db/migrations.js +81 -0
- package/dist/db/migrations.js.map +1 -0
- package/dist/db/queries.d.ts +440 -0
- package/dist/db/queries.d.ts.map +1 -0
- package/dist/db/queries.js +1054 -0
- package/dist/db/queries.js.map +1 -0
- package/dist/db/schema.d.ts +132 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +2 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/delta/blastRadius.d.ts +24 -0
- package/dist/delta/blastRadius.d.ts.map +1 -0
- package/dist/delta/blastRadius.js +239 -0
- package/dist/delta/blastRadius.js.map +1 -0
- package/dist/delta/diff.d.ts +16 -0
- package/dist/delta/diff.d.ts.map +1 -0
- package/dist/delta/diff.js +236 -0
- package/dist/delta/diff.js.map +1 -0
- package/dist/delta/versioning.d.ts +11 -0
- package/dist/delta/versioning.d.ts.map +1 -0
- package/dist/delta/versioning.js +68 -0
- package/dist/delta/versioning.js.map +1 -0
- package/dist/graph/buildGraph.d.ts +12 -0
- package/dist/graph/buildGraph.d.ts.map +1 -0
- package/dist/graph/buildGraph.js +81 -0
- package/dist/graph/buildGraph.js.map +1 -0
- package/dist/graph/cache.d.ts +111 -0
- package/dist/graph/cache.d.ts.map +1 -0
- package/dist/graph/cache.js +237 -0
- package/dist/graph/cache.js.map +1 -0
- package/dist/graph/metrics.d.ts +12 -0
- package/dist/graph/metrics.d.ts.map +1 -0
- package/dist/graph/metrics.js +253 -0
- package/dist/graph/metrics.js.map +1 -0
- package/dist/graph/minHeap.d.ts +91 -0
- package/dist/graph/minHeap.d.ts.map +1 -0
- package/dist/graph/minHeap.js +159 -0
- package/dist/graph/minHeap.js.map +1 -0
- package/dist/graph/overview.d.ts +22 -0
- package/dist/graph/overview.d.ts.map +1 -0
- package/dist/graph/overview.js +379 -0
- package/dist/graph/overview.js.map +1 -0
- package/dist/graph/score.d.ts +27 -0
- package/dist/graph/score.d.ts.map +1 -0
- package/dist/graph/score.js +214 -0
- package/dist/graph/score.js.map +1 -0
- package/dist/graph/slice.d.ts +51 -0
- package/dist/graph/slice.d.ts.map +1 -0
- package/dist/graph/slice.js +1047 -0
- package/dist/graph/slice.js.map +1 -0
- package/dist/graph/sliceCache.d.ts +33 -0
- package/dist/graph/sliceCache.d.ts.map +1 -0
- package/dist/graph/sliceCache.js +140 -0
- package/dist/graph/sliceCache.js.map +1 -0
- package/dist/indexer/adapter/BaseAdapter.d.ts +29 -0
- package/dist/indexer/adapter/BaseAdapter.d.ts.map +1 -0
- package/dist/indexer/adapter/BaseAdapter.js +97 -0
- package/dist/indexer/adapter/BaseAdapter.js.map +1 -0
- package/dist/indexer/adapter/LanguageAdapter.d.ts +20 -0
- package/dist/indexer/adapter/LanguageAdapter.d.ts.map +1 -0
- package/dist/indexer/adapter/LanguageAdapter.js +2 -0
- package/dist/indexer/adapter/LanguageAdapter.js.map +1 -0
- package/dist/indexer/adapter/adapters.d.ts +57 -0
- package/dist/indexer/adapter/adapters.d.ts.map +1 -0
- package/dist/indexer/adapter/adapters.js +129 -0
- package/dist/indexer/adapter/adapters.js.map +1 -0
- package/dist/indexer/adapter/c.d.ts +18 -0
- package/dist/indexer/adapter/c.d.ts.map +1 -0
- package/dist/indexer/adapter/c.js +443 -0
- package/dist/indexer/adapter/c.js.map +1 -0
- package/dist/indexer/adapter/cpp.d.ts +18 -0
- package/dist/indexer/adapter/cpp.d.ts.map +1 -0
- package/dist/indexer/adapter/cpp.js +493 -0
- package/dist/indexer/adapter/cpp.js.map +1 -0
- package/dist/indexer/adapter/csharp.d.ts +48 -0
- package/dist/indexer/adapter/csharp.d.ts.map +1 -0
- package/dist/indexer/adapter/csharp.js +638 -0
- package/dist/indexer/adapter/csharp.js.map +1 -0
- package/dist/indexer/adapter/go.d.ts +14 -0
- package/dist/indexer/adapter/go.d.ts.map +1 -0
- package/dist/indexer/adapter/go.js +400 -0
- package/dist/indexer/adapter/go.js.map +1 -0
- package/dist/indexer/adapter/index.d.ts +14 -0
- package/dist/indexer/adapter/index.d.ts.map +1 -0
- package/dist/indexer/adapter/index.js +13 -0
- package/dist/indexer/adapter/index.js.map +1 -0
- package/dist/indexer/adapter/java.d.ts +14 -0
- package/dist/indexer/adapter/java.d.ts.map +1 -0
- package/dist/indexer/adapter/java.js +391 -0
- package/dist/indexer/adapter/java.js.map +1 -0
- package/dist/indexer/adapter/kotlin.d.ts +18 -0
- package/dist/indexer/adapter/kotlin.d.ts.map +1 -0
- package/dist/indexer/adapter/kotlin.js +599 -0
- package/dist/indexer/adapter/kotlin.js.map +1 -0
- package/dist/indexer/adapter/php.d.ts +18 -0
- package/dist/indexer/adapter/php.d.ts.map +1 -0
- package/dist/indexer/adapter/php.js +574 -0
- package/dist/indexer/adapter/php.js.map +1 -0
- package/dist/indexer/adapter/plugin/index.d.ts +3 -0
- package/dist/indexer/adapter/plugin/index.d.ts.map +1 -0
- package/dist/indexer/adapter/plugin/index.js +3 -0
- package/dist/indexer/adapter/plugin/index.js.map +1 -0
- package/dist/indexer/adapter/plugin/loader.d.ts +13 -0
- package/dist/indexer/adapter/plugin/loader.d.ts.map +1 -0
- package/dist/indexer/adapter/plugin/loader.js +154 -0
- package/dist/indexer/adapter/plugin/loader.js.map +1 -0
- package/dist/indexer/adapter/plugin/types.d.ts +76 -0
- package/dist/indexer/adapter/plugin/types.d.ts.map +1 -0
- package/dist/indexer/adapter/plugin/types.js +47 -0
- package/dist/indexer/adapter/plugin/types.js.map +1 -0
- package/dist/indexer/adapter/python.d.ts +14 -0
- package/dist/indexer/adapter/python.d.ts.map +1 -0
- package/dist/indexer/adapter/python.js +511 -0
- package/dist/indexer/adapter/python.js.map +1 -0
- package/dist/indexer/adapter/registry.d.ts +17 -0
- package/dist/indexer/adapter/registry.d.ts.map +1 -0
- package/dist/indexer/adapter/registry.js +134 -0
- package/dist/indexer/adapter/registry.js.map +1 -0
- package/dist/indexer/adapter/rust.d.ts +18 -0
- package/dist/indexer/adapter/rust.d.ts.map +1 -0
- package/dist/indexer/adapter/rust.js +709 -0
- package/dist/indexer/adapter/rust.js.map +1 -0
- package/dist/indexer/adapter/shell.d.ts +18 -0
- package/dist/indexer/adapter/shell.d.ts.map +1 -0
- package/dist/indexer/adapter/shell.js +345 -0
- package/dist/indexer/adapter/shell.js.map +1 -0
- package/dist/indexer/adapter/typescript.d.ts +14 -0
- package/dist/indexer/adapter/typescript.d.ts.map +1 -0
- package/dist/indexer/adapter/typescript.js +31 -0
- package/dist/indexer/adapter/typescript.js.map +1 -0
- package/dist/indexer/configEdges.d.ts +30 -0
- package/dist/indexer/configEdges.d.ts.map +1 -0
- package/dist/indexer/configEdges.js +260 -0
- package/dist/indexer/configEdges.js.map +1 -0
- package/dist/indexer/fileScanner.d.ts +16 -0
- package/dist/indexer/fileScanner.d.ts.map +1 -0
- package/dist/indexer/fileScanner.js +90 -0
- package/dist/indexer/fileScanner.js.map +1 -0
- package/dist/indexer/fingerprints.d.ts +23 -0
- package/dist/indexer/fingerprints.d.ts.map +1 -0
- package/dist/indexer/fingerprints.js +97 -0
- package/dist/indexer/fingerprints.js.map +1 -0
- package/dist/indexer/indexer.d.ts +58 -0
- package/dist/indexer/indexer.d.ts.map +1 -0
- package/dist/indexer/indexer.js +1229 -0
- package/dist/indexer/indexer.js.map +1 -0
- package/dist/indexer/summaries.d.ts +5 -0
- package/dist/indexer/summaries.d.ts.map +1 -0
- package/dist/indexer/summaries.js +331 -0
- package/dist/indexer/summaries.js.map +1 -0
- package/dist/indexer/treesitter/extractCalls.d.ts +40 -0
- package/dist/indexer/treesitter/extractCalls.d.ts.map +1 -0
- package/dist/indexer/treesitter/extractCalls.js +561 -0
- package/dist/indexer/treesitter/extractCalls.js.map +1 -0
- package/dist/indexer/treesitter/extractImports.d.ts +12 -0
- package/dist/indexer/treesitter/extractImports.d.ts.map +1 -0
- package/dist/indexer/treesitter/extractImports.js +184 -0
- package/dist/indexer/treesitter/extractImports.js.map +1 -0
- package/dist/indexer/treesitter/extractSymbols.d.ts +24 -0
- package/dist/indexer/treesitter/extractSymbols.d.ts.map +1 -0
- package/dist/indexer/treesitter/extractSymbols.js +389 -0
- package/dist/indexer/treesitter/extractSymbols.js.map +1 -0
- package/dist/indexer/treesitter/grammarLoader.d.ts +6 -0
- package/dist/indexer/treesitter/grammarLoader.d.ts.map +1 -0
- package/dist/indexer/treesitter/grammarLoader.js +125 -0
- package/dist/indexer/treesitter/grammarLoader.js.map +1 -0
- package/dist/indexer/treesitter/symbolUtils.d.ts +4 -0
- package/dist/indexer/treesitter/symbolUtils.d.ts.map +1 -0
- package/dist/indexer/treesitter/symbolUtils.js +26 -0
- package/dist/indexer/treesitter/symbolUtils.js.map +1 -0
- package/dist/indexer/treesitter/tsTreesitter.d.ts +9 -0
- package/dist/indexer/treesitter/tsTreesitter.d.ts.map +1 -0
- package/dist/indexer/treesitter/tsTreesitter.js +54 -0
- package/dist/indexer/treesitter/tsTreesitter.js.map +1 -0
- package/dist/indexer/treesitter/types.d.ts +19 -0
- package/dist/indexer/treesitter/types.d.ts.map +1 -0
- package/dist/indexer/treesitter/types.js +7 -0
- package/dist/indexer/treesitter/types.js.map +1 -0
- package/dist/indexer/ts/tsParser.d.ts +20 -0
- package/dist/indexer/ts/tsParser.d.ts.map +1 -0
- package/dist/indexer/ts/tsParser.js +114 -0
- package/dist/indexer/ts/tsParser.js.map +1 -0
- package/dist/indexer/worker.d.ts +2 -0
- package/dist/indexer/worker.d.ts.map +1 -0
- package/dist/indexer/worker.js +59 -0
- package/dist/indexer/worker.js.map +1 -0
- package/dist/indexer/workerPool.d.ts +20 -0
- package/dist/indexer/workerPool.d.ts.map +1 -0
- package/dist/indexer/workerPool.js +93 -0
- package/dist/indexer/workerPool.js.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +111 -0
- package/dist/main.js.map +1 -0
- package/dist/mcp/errors.d.ts +40 -0
- package/dist/mcp/errors.d.ts.map +1 -0
- package/dist/mcp/errors.js +66 -0
- package/dist/mcp/errors.js.map +1 -0
- package/dist/mcp/resources.d.ts +24 -0
- package/dist/mcp/resources.d.ts.map +1 -0
- package/dist/mcp/resources.js +140 -0
- package/dist/mcp/resources.js.map +1 -0
- package/dist/mcp/telemetry.d.ts +67 -0
- package/dist/mcp/telemetry.d.ts.map +1 -0
- package/dist/mcp/telemetry.js +128 -0
- package/dist/mcp/telemetry.js.map +1 -0
- package/dist/mcp/tools/agent.d.ts +241 -0
- package/dist/mcp/tools/agent.d.ts.map +1 -0
- package/dist/mcp/tools/agent.js +113 -0
- package/dist/mcp/tools/agent.js.map +1 -0
- package/dist/mcp/tools/code.d.ts +32 -0
- package/dist/mcp/tools/code.d.ts.map +1 -0
- package/dist/mcp/tools/code.js +388 -0
- package/dist/mcp/tools/code.js.map +1 -0
- package/dist/mcp/tools/delta.d.ts +12 -0
- package/dist/mcp/tools/delta.d.ts.map +1 -0
- package/dist/mcp/tools/delta.js +82 -0
- package/dist/mcp/tools/delta.js.map +1 -0
- package/dist/mcp/tools/index.d.ts +3 -0
- package/dist/mcp/tools/index.d.ts.map +1 -0
- package/dist/mcp/tools/index.js +35 -0
- package/dist/mcp/tools/index.js.map +1 -0
- package/dist/mcp/tools/policy.d.ts +20 -0
- package/dist/mcp/tools/policy.d.ts.map +1 -0
- package/dist/mcp/tools/policy.js +67 -0
- package/dist/mcp/tools/policy.js.map +1 -0
- package/dist/mcp/tools/prRisk.d.ts +34 -0
- package/dist/mcp/tools/prRisk.d.ts.map +1 -0
- package/dist/mcp/tools/prRisk.js +304 -0
- package/dist/mcp/tools/prRisk.js.map +1 -0
- package/dist/mcp/tools/repo.d.ts +46 -0
- package/dist/mcp/tools/repo.d.ts.map +1 -0
- package/dist/mcp/tools/repo.js +224 -0
- package/dist/mcp/tools/repo.js.map +1 -0
- package/dist/mcp/tools/slice.d.ts +44 -0
- package/dist/mcp/tools/slice.d.ts.map +1 -0
- package/dist/mcp/tools/slice.js +688 -0
- package/dist/mcp/tools/slice.js.map +1 -0
- package/dist/mcp/tools/symbol.d.ts +21 -0
- package/dist/mcp/tools/symbol.d.ts.map +1 -0
- package/dist/mcp/tools/symbol.js +416 -0
- package/dist/mcp/tools/symbol.js.map +1 -0
- package/dist/mcp/tools.d.ts +6003 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +932 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp/types.d.ts +500 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +2 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/policy/engine.d.ts +21 -0
- package/dist/policy/engine.d.ts.map +1 -0
- package/dist/policy/engine.js +477 -0
- package/dist/policy/engine.js.map +1 -0
- package/dist/policy/types.d.ts +73 -0
- package/dist/policy/types.d.ts.map +1 -0
- package/dist/policy/types.js +12 -0
- package/dist/policy/types.js.map +1 -0
- package/dist/server.d.ts +17 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +136 -0
- package/dist/server.js.map +1 -0
- package/dist/sync/pull.d.ts +4 -0
- package/dist/sync/pull.d.ts.map +1 -0
- package/dist/sync/pull.js +113 -0
- package/dist/sync/pull.js.map +1 -0
- package/dist/sync/sync.d.ts +6 -0
- package/dist/sync/sync.d.ts.map +1 -0
- package/dist/sync/sync.js +244 -0
- package/dist/sync/sync.js.map +1 -0
- package/dist/sync/types.d.ts +136 -0
- package/dist/sync/types.d.ts.map +1 -0
- package/dist/sync/types.js +2 -0
- package/dist/sync/types.js.map +1 -0
- package/dist/ts/diagnostics.d.ts +61 -0
- package/dist/ts/diagnostics.d.ts.map +1 -0
- package/dist/ts/diagnostics.js +259 -0
- package/dist/ts/diagnostics.js.map +1 -0
- package/dist/ts/mapping.d.ts +27 -0
- package/dist/ts/mapping.d.ts.map +1 -0
- package/dist/ts/mapping.js +68 -0
- package/dist/ts/mapping.js.map +1 -0
- package/dist/util/asyncFs.d.ts +103 -0
- package/dist/util/asyncFs.d.ts.map +1 -0
- package/dist/util/asyncFs.js +133 -0
- package/dist/util/asyncFs.js.map +1 -0
- package/dist/util/concurrency.d.ts +77 -0
- package/dist/util/concurrency.d.ts.map +1 -0
- package/dist/util/concurrency.js +146 -0
- package/dist/util/concurrency.js.map +1 -0
- package/dist/util/depLabels.d.ts +3 -0
- package/dist/util/depLabels.d.ts.map +1 -0
- package/dist/util/depLabels.js +19 -0
- package/dist/util/depLabels.js.map +1 -0
- package/dist/util/findPackageRoot.d.ts +7 -0
- package/dist/util/findPackageRoot.d.ts.map +1 -0
- package/dist/util/findPackageRoot.js +21 -0
- package/dist/util/findPackageRoot.js.map +1 -0
- package/dist/util/hashing.d.ts +9 -0
- package/dist/util/hashing.d.ts.map +1 -0
- package/dist/util/hashing.js +37 -0
- package/dist/util/hashing.js.map +1 -0
- package/dist/util/logger.d.ts +14 -0
- package/dist/util/logger.d.ts.map +1 -0
- package/dist/util/logger.js +51 -0
- package/dist/util/logger.js.map +1 -0
- package/dist/util/paths.d.ts +6 -0
- package/dist/util/paths.d.ts.map +1 -0
- package/dist/util/paths.js +79 -0
- package/dist/util/paths.js.map +1 -0
- package/dist/util/time.d.ts +4 -0
- package/dist/util/time.d.ts.map +1 -0
- package/dist/util/time.js +20 -0
- package/dist/util/time.js.map +1 -0
- package/dist/util/tokenize.d.ts +5 -0
- package/dist/util/tokenize.d.ts.map +1 -0
- package/dist/util/tokenize.js +30 -0
- package/dist/util/tokenize.js.map +1 -0
- package/dist/util/truncation.d.ts +38 -0
- package/dist/util/truncation.d.ts.map +1 -0
- package/dist/util/truncation.js +259 -0
- package/dist/util/truncation.js.map +1 -0
- package/migrations/.gitkeep +1 -0
- package/migrations/0001_init.sql +61 -0
- package/migrations/0002_edges_indexes.sql +2 -0
- package/migrations/0003_versions.sql +22 -0
- package/migrations/0004_metrics_audit.sql +23 -0
- package/migrations/0005_slice_handles.sql +15 -0
- package/migrations/0006_content_addressed.sql +29 -0
- package/migrations/0007_add_language_to_symbols.sql +28 -0
- package/migrations/0008_performance_indexes.sql +21 -0
- package/migrations/0009_fix_edge_fks.sql +37 -0
- package/migrations/0010_standardize_fks.sql +35 -0
- package/migrations/0011_add_directory_column.sql +20 -0
- package/migrations/0012_symbol_references.sql +16 -0
- package/migrations/0013_sync_artifacts.sql +17 -0
- package/package.json +107 -0
- package/templates/CLAUDE.md.template +179 -0
- package/templates/README.md +228 -0
- package/templates/claude-code.json +54 -0
- package/templates/codex.json +55 -0
- package/templates/gemini.json +66 -0
- package/templates/opencode.json +90 -0
- package/templates/plugin-template/LICENSE +21 -0
- package/templates/plugin-template/README.md +309 -0
- package/templates/plugin-template/index.ts +160 -0
- package/templates/plugin-template/package.json +31 -0
- package/templates/plugin-template/test/plugin.test.ts +186 -0
- package/templates/plugin-template/tsconfig.json +21 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slice.js","sourceRoot":"","sources":["../../src/graph/slice.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { GraphSlice } from "../mcp/types.js";
|
|
2
|
+
import type { RepoId, VersionId, SymbolId } from "../db/schema.js";
|
|
3
|
+
interface SliceBuildRequest {
|
|
4
|
+
repoId: RepoId;
|
|
5
|
+
versionId: VersionId;
|
|
6
|
+
taskText?: string;
|
|
7
|
+
stackTrace?: string;
|
|
8
|
+
failingTestPath?: string;
|
|
9
|
+
editedFiles?: string[];
|
|
10
|
+
entrySymbols?: SymbolId[];
|
|
11
|
+
knownCardEtags?: Record<SymbolId, string>;
|
|
12
|
+
cardDetail?: "compact" | "full";
|
|
13
|
+
budget?: {
|
|
14
|
+
maxCards?: number;
|
|
15
|
+
maxEstimatedTokens?: number;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
interface SliceCacheStats {
|
|
19
|
+
hits: number;
|
|
20
|
+
misses: number;
|
|
21
|
+
evictions: number;
|
|
22
|
+
currentSize: number;
|
|
23
|
+
hitRate: number;
|
|
24
|
+
}
|
|
25
|
+
export declare function getSliceCacheKey(request: SliceBuildRequest): string;
|
|
26
|
+
export declare function getCachedSlice(key: string): GraphSlice | null;
|
|
27
|
+
export declare function setCachedSlice(key: string, slice: GraphSlice): void;
|
|
28
|
+
export declare function invalidateVersion(versionId: VersionId): void;
|
|
29
|
+
export declare function clearSliceCache(): void;
|
|
30
|
+
export declare function getSliceCacheStats(): SliceCacheStats;
|
|
31
|
+
export declare function resetSliceCacheStats(): void;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=sliceCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sliceCache.d.ts","sourceRoot":"","sources":["../../src/graph/sliceCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEnE,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAChC,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH;AAaD,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAkCD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAanE;AAUD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAmB7D;AASD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAsBnE;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAY5D;AAED,wBAAgB,eAAe,IAAI,IAAI,CAUtC;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CAEpD;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAQ3C"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
const SLICE_CACHE_TTL_MS = 60_000;
|
|
2
|
+
const SLICE_CACHE_MAX = 100;
|
|
3
|
+
const sliceCache = new Map();
|
|
4
|
+
const accessOrder = [];
|
|
5
|
+
let cacheStats = {
|
|
6
|
+
hits: 0,
|
|
7
|
+
misses: 0,
|
|
8
|
+
evictions: 0,
|
|
9
|
+
currentSize: 0,
|
|
10
|
+
hitRate: 0,
|
|
11
|
+
};
|
|
12
|
+
function updateHitRate() {
|
|
13
|
+
const total = cacheStats.hits + cacheStats.misses;
|
|
14
|
+
cacheStats.hitRate = total > 0 ? cacheStats.hits / total : 0;
|
|
15
|
+
}
|
|
16
|
+
function stableStringify(value) {
|
|
17
|
+
if (value === undefined) {
|
|
18
|
+
return "null";
|
|
19
|
+
}
|
|
20
|
+
if (value === null) {
|
|
21
|
+
return "null";
|
|
22
|
+
}
|
|
23
|
+
if (Array.isArray(value)) {
|
|
24
|
+
return `[${value.map(stableStringify).join(",")}]`;
|
|
25
|
+
}
|
|
26
|
+
if (typeof value === "object") {
|
|
27
|
+
const entries = Object.entries(value)
|
|
28
|
+
.sort(([a], [b]) => a.localeCompare(b))
|
|
29
|
+
.map(([key, val]) => `"${key}":${stableStringify(val)}`);
|
|
30
|
+
return `{${entries.join(",")}}`;
|
|
31
|
+
}
|
|
32
|
+
return JSON.stringify(value);
|
|
33
|
+
}
|
|
34
|
+
export function getSliceCacheKey(request) {
|
|
35
|
+
const context = {
|
|
36
|
+
taskText: request.taskText ?? null,
|
|
37
|
+
stackTrace: request.stackTrace ?? null,
|
|
38
|
+
failingTestPath: request.failingTestPath ?? null,
|
|
39
|
+
editedFiles: request.editedFiles ? [...request.editedFiles].sort() : null,
|
|
40
|
+
entrySymbols: request.entrySymbols
|
|
41
|
+
? [...request.entrySymbols].sort()
|
|
42
|
+
: null,
|
|
43
|
+
cardDetail: request.cardDetail ?? "compact",
|
|
44
|
+
budget: request.budget ?? null,
|
|
45
|
+
};
|
|
46
|
+
return `${request.repoId}:${request.versionId}:${stableStringify(context)}`;
|
|
47
|
+
}
|
|
48
|
+
function promoteAccessOrder(key) {
|
|
49
|
+
const index = accessOrder.indexOf(key);
|
|
50
|
+
if (index !== -1) {
|
|
51
|
+
accessOrder.splice(index, 1);
|
|
52
|
+
}
|
|
53
|
+
accessOrder.push(key);
|
|
54
|
+
}
|
|
55
|
+
export function getCachedSlice(key) {
|
|
56
|
+
const entry = sliceCache.get(key);
|
|
57
|
+
if (!entry) {
|
|
58
|
+
cacheStats.misses++;
|
|
59
|
+
updateHitRate();
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
if (entry.expiresAt <= Date.now()) {
|
|
63
|
+
sliceCache.delete(key);
|
|
64
|
+
removeFromAccessOrder(key);
|
|
65
|
+
cacheStats.currentSize--;
|
|
66
|
+
cacheStats.misses++;
|
|
67
|
+
updateHitRate();
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
promoteAccessOrder(key);
|
|
71
|
+
cacheStats.hits++;
|
|
72
|
+
updateHitRate();
|
|
73
|
+
return entry.slice;
|
|
74
|
+
}
|
|
75
|
+
function removeFromAccessOrder(key) {
|
|
76
|
+
const index = accessOrder.indexOf(key);
|
|
77
|
+
if (index !== -1) {
|
|
78
|
+
accessOrder.splice(index, 1);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
export function setCachedSlice(key, slice) {
|
|
82
|
+
if (sliceCache.has(key)) {
|
|
83
|
+
sliceCache.delete(key);
|
|
84
|
+
removeFromAccessOrder(key);
|
|
85
|
+
cacheStats.currentSize--;
|
|
86
|
+
}
|
|
87
|
+
if (sliceCache.size >= SLICE_CACHE_MAX) {
|
|
88
|
+
const lruKey = accessOrder.shift();
|
|
89
|
+
if (lruKey) {
|
|
90
|
+
sliceCache.delete(lruKey);
|
|
91
|
+
cacheStats.evictions++;
|
|
92
|
+
cacheStats.currentSize--;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
const now = Date.now();
|
|
96
|
+
sliceCache.set(key, {
|
|
97
|
+
slice,
|
|
98
|
+
expiresAt: now + SLICE_CACHE_TTL_MS,
|
|
99
|
+
createdAt: now,
|
|
100
|
+
});
|
|
101
|
+
accessOrder.push(key);
|
|
102
|
+
cacheStats.currentSize++;
|
|
103
|
+
}
|
|
104
|
+
export function invalidateVersion(versionId) {
|
|
105
|
+
const keysToDelete = [];
|
|
106
|
+
for (const key of sliceCache.keys()) {
|
|
107
|
+
if (key.includes(`:${versionId}:`)) {
|
|
108
|
+
keysToDelete.push(key);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
for (const key of keysToDelete) {
|
|
112
|
+
sliceCache.delete(key);
|
|
113
|
+
removeFromAccessOrder(key);
|
|
114
|
+
cacheStats.currentSize--;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
export function clearSliceCache() {
|
|
118
|
+
sliceCache.clear();
|
|
119
|
+
accessOrder.length = 0;
|
|
120
|
+
cacheStats = {
|
|
121
|
+
hits: 0,
|
|
122
|
+
misses: 0,
|
|
123
|
+
evictions: 0,
|
|
124
|
+
currentSize: 0,
|
|
125
|
+
hitRate: 0,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
export function getSliceCacheStats() {
|
|
129
|
+
return { ...cacheStats };
|
|
130
|
+
}
|
|
131
|
+
export function resetSliceCacheStats() {
|
|
132
|
+
cacheStats = {
|
|
133
|
+
hits: 0,
|
|
134
|
+
misses: 0,
|
|
135
|
+
evictions: 0,
|
|
136
|
+
currentSize: sliceCache.size,
|
|
137
|
+
hitRate: 0,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=sliceCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sliceCache.js","sourceRoot":"","sources":["../../src/graph/sliceCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import Parser from "tree-sitter";
|
|
2
|
+
import type { Tree } from "tree-sitter";
|
|
3
|
+
import type { LanguageAdapter } from "./LanguageAdapter.js";
|
|
4
|
+
import type { ExtractedSymbol, ExtractedCall } from "../treesitter/extractCalls.js";
|
|
5
|
+
import type { ExtractedImport } from "../treesitter/extractImports.js";
|
|
6
|
+
export declare abstract class BaseAdapter implements LanguageAdapter {
|
|
7
|
+
abstract languageId: string;
|
|
8
|
+
abstract fileExtensions: readonly string[];
|
|
9
|
+
protected parser: Parser | null;
|
|
10
|
+
getParser(): Parser | null;
|
|
11
|
+
parse(content: string, filePath: string): Tree | null;
|
|
12
|
+
parseAsync(content: string, filePath: string): Promise<Tree | null>;
|
|
13
|
+
extractAll(content: string, filePath: string): Promise<{
|
|
14
|
+
tree: Tree | null;
|
|
15
|
+
symbols: ExtractedSymbol[];
|
|
16
|
+
imports: ExtractedImport[];
|
|
17
|
+
calls: ExtractedCall[];
|
|
18
|
+
}>;
|
|
19
|
+
abstract extractSymbols(tree: Tree, content: string, filePath: string): ExtractedSymbol[];
|
|
20
|
+
abstract extractImports(tree: Tree, content: string, filePath: string): ExtractedImport[];
|
|
21
|
+
abstract extractCalls(tree: Tree, content: string, filePath: string, extractedSymbols: ExtractedSymbol[]): ExtractedCall[];
|
|
22
|
+
protected handleParseErrors(_filePath: string, _tree: Tree): void;
|
|
23
|
+
protected logParseError(filePath: string, error: unknown): void;
|
|
24
|
+
protected extractRange(node: Parser.SyntaxNode): ExtractedSymbol["range"];
|
|
25
|
+
protected findEnclosingSymbol(node: Parser.SyntaxNode, symbols: ExtractedSymbol[]): string;
|
|
26
|
+
protected hasAncestorOfType(node: Parser.SyntaxNode, type: string): boolean;
|
|
27
|
+
}
|
|
28
|
+
export declare function createClearCacheFunction(languageId: string): () => void;
|
|
29
|
+
//# sourceMappingURL=BaseAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseAdapter.d.ts","sourceRoot":"","sources":["../../../src/indexer/adapter/BaseAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAM5D,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AASvE,8BAAsB,WAAY,YAAW,eAAe;IAC1D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAE3C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEvC,SAAS,IAAI,MAAM,GAAG,IAAI;IAO1B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IA6B/C,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAInE,UAAU,CACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QACT,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO,EAAE,eAAe,EAAE,CAAC;QAC3B,OAAO,EAAE,eAAe,EAAE,CAAC;QAC3B,KAAK,EAAE,aAAa,EAAE,CAAC;KACxB,CAAC;IAwBF,QAAQ,CAAC,cAAc,CACrB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,eAAe,EAAE;IAEpB,QAAQ,CAAC,cAAc,CACrB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,eAAe,EAAE;IAEpB,QAAQ,CAAC,YAAY,CACnB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,eAAe,EAAE,GAClC,aAAa,EAAE;IAElB,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI;IAEjE,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAK/D,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC;IAYzE,SAAS,CAAC,mBAAmB,CAC3B,IAAI,EAAE,MAAM,CAAC,UAAU,EACvB,OAAO,EAAE,eAAe,EAAE,GACzB,MAAM;IAIT,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;CAQ5E;AAED,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,IAAI,CAIvE"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { getParser, clearCache as clearGrammarCache, } from "../treesitter/grammarLoader.js";
|
|
2
|
+
import { logger } from "../../util/logger.js";
|
|
3
|
+
import { findEnclosingSymbol as findEnclosingSymbolUtil } from "../treesitter/symbolUtils.js";
|
|
4
|
+
// Tree-sitter has a default 32KB buffer limit that causes "Invalid argument"
|
|
5
|
+
// errors on larger files. We use a 1MB buffer to handle large source files.
|
|
6
|
+
// See: https://github.com/tree-sitter/tree-sitter/issues/3473
|
|
7
|
+
const TREESITTER_BUFFER_SIZE = 1024 * 1024; // 1 MB
|
|
8
|
+
export class BaseAdapter {
|
|
9
|
+
parser = null;
|
|
10
|
+
getParser() {
|
|
11
|
+
if (!this.parser) {
|
|
12
|
+
this.parser = getParser(this.languageId);
|
|
13
|
+
}
|
|
14
|
+
return this.parser;
|
|
15
|
+
}
|
|
16
|
+
parse(content, filePath) {
|
|
17
|
+
const parser = this.getParser();
|
|
18
|
+
if (!parser) {
|
|
19
|
+
this.logParseError(filePath, "Parser not available");
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
// Use larger buffer size to handle files >32KB
|
|
24
|
+
const tree = parser.parse(content, undefined, {
|
|
25
|
+
bufferSize: TREESITTER_BUFFER_SIZE,
|
|
26
|
+
});
|
|
27
|
+
if (!tree) {
|
|
28
|
+
this.logParseError(filePath, "Failed to parse file");
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
if (tree.rootNode.hasError) {
|
|
32
|
+
this.handleParseErrors(filePath, tree);
|
|
33
|
+
}
|
|
34
|
+
return tree;
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
this.logParseError(filePath, error);
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async parseAsync(content, filePath) {
|
|
42
|
+
return this.parse(content, filePath);
|
|
43
|
+
}
|
|
44
|
+
async extractAll(content, filePath) {
|
|
45
|
+
const tree = this.parse(content, filePath);
|
|
46
|
+
if (!tree) {
|
|
47
|
+
return {
|
|
48
|
+
tree: null,
|
|
49
|
+
symbols: [],
|
|
50
|
+
imports: [],
|
|
51
|
+
calls: [],
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
const symbols = this.extractSymbols(tree, content, filePath);
|
|
55
|
+
const imports = this.extractImports(tree, content, filePath);
|
|
56
|
+
const calls = this.extractCalls(tree, content, filePath, symbols);
|
|
57
|
+
return {
|
|
58
|
+
tree,
|
|
59
|
+
symbols,
|
|
60
|
+
imports,
|
|
61
|
+
calls,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
handleParseErrors(_filePath, _tree) { }
|
|
65
|
+
logParseError(filePath, error) {
|
|
66
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
67
|
+
logger.error("Failed to parse file", { filePath, error: message });
|
|
68
|
+
}
|
|
69
|
+
extractRange(node) {
|
|
70
|
+
const start = node.startPosition;
|
|
71
|
+
const end = node.endPosition;
|
|
72
|
+
return {
|
|
73
|
+
startLine: start.row + 1,
|
|
74
|
+
startCol: start.column,
|
|
75
|
+
endLine: end.row + 1,
|
|
76
|
+
endCol: end.column,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
findEnclosingSymbol(node, symbols) {
|
|
80
|
+
return findEnclosingSymbolUtil(node, symbols);
|
|
81
|
+
}
|
|
82
|
+
hasAncestorOfType(node, type) {
|
|
83
|
+
let current = node.parent;
|
|
84
|
+
while (current) {
|
|
85
|
+
if (current.type === type)
|
|
86
|
+
return true;
|
|
87
|
+
current = current.parent;
|
|
88
|
+
}
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
export function createClearCacheFunction(languageId) {
|
|
93
|
+
return function clearCache() {
|
|
94
|
+
clearGrammarCache(languageId);
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=BaseAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseAdapter.js","sourceRoot":"","sources":["../../../src/indexer/adapter/BaseAdapter.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,SAAS,EACT,UAAU,IAAI,iBAAiB,GAChC,MAAM,gCAAgC,CAAC;AAMxC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,IAAI,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAE9F,6EAA6E;AAC7E,4EAA4E;AAC5E,8DAA8D;AAC9D,MAAM,sBAAsB,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;AAEnD,MAAM,OAAgB,WAAW;IAKrB,MAAM,GAAkB,IAAI,CAAC;IAEvC,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,UAA+B,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,QAAgB;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,+CAA+C;YAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE;gBAC5C,UAAU,EAAE,sBAAsB;aACnC,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;gBACrD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAC3B,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACzC,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,QAAgB;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,UAAU,CACd,OAAe,EACf,QAAgB;QAOhB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE3C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,EAAE;aACV,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAElE,OAAO;YACL,IAAI;YACJ,OAAO;YACP,OAAO;YACP,KAAK;SACN,CAAC;IACJ,CAAC;IAqBS,iBAAiB,CAAC,SAAiB,EAAE,KAAW,IAAS,CAAC;IAE1D,aAAa,CAAC,QAAgB,EAAE,KAAc;QACtD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IAES,YAAY,CAAC,IAAuB;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;QAE7B,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC;YACxB,QAAQ,EAAE,KAAK,CAAC,MAAM;YACtB,OAAO,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;YACpB,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CAAC;IACJ,CAAC;IAES,mBAAmB,CAC3B,IAAuB,EACvB,OAA0B;QAE1B,OAAO,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAES,iBAAiB,CAAC,IAAuB,EAAE,IAAY;QAC/D,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,OAAO,OAAO,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YACvC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC3B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,MAAM,UAAU,wBAAwB,CAAC,UAAkB;IACzD,OAAO,SAAS,UAAU;QACxB,iBAAiB,CAAC,UAA+B,CAAC,CAAC;IACrD,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Tree } from "tree-sitter";
|
|
2
|
+
import type { ExtractedSymbol, ExtractedCall } from "../treesitter/extractCalls.js";
|
|
3
|
+
import type { ExtractedImport } from "../treesitter/extractImports.js";
|
|
4
|
+
export interface LanguageAdapter {
|
|
5
|
+
languageId: string;
|
|
6
|
+
fileExtensions: readonly string[];
|
|
7
|
+
getParser(): any;
|
|
8
|
+
parse(content: string, filePath: string): Tree | null;
|
|
9
|
+
parseAsync?(content: string, filePath: string): Promise<Tree | null>;
|
|
10
|
+
extractAll?(content: string, filePath: string): Promise<{
|
|
11
|
+
tree: Tree | null;
|
|
12
|
+
symbols: ExtractedSymbol[];
|
|
13
|
+
imports: ExtractedImport[];
|
|
14
|
+
calls: ExtractedCall[];
|
|
15
|
+
}>;
|
|
16
|
+
extractSymbols(tree: Tree, content: string, filePath: string): ExtractedSymbol[];
|
|
17
|
+
extractImports(tree: Tree, content: string, filePath: string): ExtractedImport[];
|
|
18
|
+
extractCalls(tree: Tree, content: string, filePath: string, extractedSymbols: ExtractedSymbol[]): ExtractedCall[];
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=LanguageAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LanguageAdapter.d.ts","sourceRoot":"","sources":["../../../src/indexer/adapter/LanguageAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IAEnB,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAElC,SAAS,IAAI,GAAG,CAAC;IAEjB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAEtD,UAAU,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAErE,UAAU,CAAC,CACT,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QACT,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO,EAAE,eAAe,EAAE,CAAC;QAC3B,OAAO,EAAE,eAAe,EAAE,CAAC;QAC3B,KAAK,EAAE,aAAa,EAAE,CAAC;KACxB,CAAC,CAAC;IAEH,cAAc,CACZ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,eAAe,EAAE,CAAC;IAErB,cAAc,CACZ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,eAAe,EAAE,CAAC;IAErB,YAAY,CACV,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,eAAe,EAAE,GAClC,aAAa,EAAE,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LanguageAdapter.js","sourceRoot":"","sources":["../../../src/indexer/adapter/LanguageAdapter.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { TypeScriptAdapter } from "./typescript.js";
|
|
2
|
+
import { JavaAdapter } from "./java.js";
|
|
3
|
+
import { GoAdapter } from "./go.js";
|
|
4
|
+
import { PythonAdapter } from "./python.js";
|
|
5
|
+
import { CSharpAdapter } from "./csharp.js";
|
|
6
|
+
import { CAdapter } from "./c.js";
|
|
7
|
+
import { CppAdapter } from "./cpp.js";
|
|
8
|
+
import { PhpAdapter } from "./php.js";
|
|
9
|
+
import { RustAdapter } from "./rust.js";
|
|
10
|
+
import { KotlinAdapter } from "./kotlin.js";
|
|
11
|
+
import { ShellAdapter } from "./shell.js";
|
|
12
|
+
export declare const adapters: ({
|
|
13
|
+
extension: string;
|
|
14
|
+
languageId: string;
|
|
15
|
+
factory: () => TypeScriptAdapter;
|
|
16
|
+
} | {
|
|
17
|
+
extension: string;
|
|
18
|
+
languageId: string;
|
|
19
|
+
factory: () => JavaAdapter;
|
|
20
|
+
} | {
|
|
21
|
+
extension: string;
|
|
22
|
+
languageId: string;
|
|
23
|
+
factory: () => GoAdapter;
|
|
24
|
+
} | {
|
|
25
|
+
extension: string;
|
|
26
|
+
languageId: string;
|
|
27
|
+
factory: () => PythonAdapter;
|
|
28
|
+
} | {
|
|
29
|
+
extension: string;
|
|
30
|
+
languageId: string;
|
|
31
|
+
factory: () => CSharpAdapter;
|
|
32
|
+
} | {
|
|
33
|
+
extension: string;
|
|
34
|
+
languageId: string;
|
|
35
|
+
factory: () => CAdapter;
|
|
36
|
+
} | {
|
|
37
|
+
extension: string;
|
|
38
|
+
languageId: string;
|
|
39
|
+
factory: () => CppAdapter;
|
|
40
|
+
} | {
|
|
41
|
+
extension: string;
|
|
42
|
+
languageId: string;
|
|
43
|
+
factory: () => PhpAdapter;
|
|
44
|
+
} | {
|
|
45
|
+
extension: string;
|
|
46
|
+
languageId: string;
|
|
47
|
+
factory: () => RustAdapter;
|
|
48
|
+
} | {
|
|
49
|
+
extension: string;
|
|
50
|
+
languageId: string;
|
|
51
|
+
factory: () => KotlinAdapter;
|
|
52
|
+
} | {
|
|
53
|
+
extension: string;
|
|
54
|
+
languageId: string;
|
|
55
|
+
factory: () => ShellAdapter;
|
|
56
|
+
})[];
|
|
57
|
+
//# sourceMappingURL=adapters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../../src/indexer/adapter/adapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoHpB,CAAC"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { TypeScriptAdapter } from "./typescript.js";
|
|
2
|
+
import { JavaAdapter } from "./java.js";
|
|
3
|
+
import { GoAdapter } from "./go.js";
|
|
4
|
+
import { PythonAdapter } from "./python.js";
|
|
5
|
+
import { CSharpAdapter } from "./csharp.js";
|
|
6
|
+
import { CAdapter } from "./c.js";
|
|
7
|
+
import { CppAdapter } from "./cpp.js";
|
|
8
|
+
import { PhpAdapter } from "./php.js";
|
|
9
|
+
import { RustAdapter } from "./rust.js";
|
|
10
|
+
import { KotlinAdapter } from "./kotlin.js";
|
|
11
|
+
import { ShellAdapter } from "./shell.js";
|
|
12
|
+
export const adapters = [
|
|
13
|
+
{
|
|
14
|
+
extension: ".ts",
|
|
15
|
+
languageId: "typescript",
|
|
16
|
+
factory: () => new TypeScriptAdapter(),
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
extension: ".tsx",
|
|
20
|
+
languageId: "typescript",
|
|
21
|
+
factory: () => new TypeScriptAdapter(),
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
extension: ".js",
|
|
25
|
+
languageId: "typescript",
|
|
26
|
+
factory: () => new TypeScriptAdapter(),
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
extension: ".jsx",
|
|
30
|
+
languageId: "typescript",
|
|
31
|
+
factory: () => new TypeScriptAdapter(),
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
extension: ".java",
|
|
35
|
+
languageId: "java",
|
|
36
|
+
factory: () => new JavaAdapter(),
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
extension: ".go",
|
|
40
|
+
languageId: "go",
|
|
41
|
+
factory: () => new GoAdapter(),
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
extension: ".py",
|
|
45
|
+
languageId: "python",
|
|
46
|
+
factory: () => new PythonAdapter(),
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
extension: ".cs",
|
|
50
|
+
languageId: "csharp",
|
|
51
|
+
factory: () => new CSharpAdapter(),
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
extension: ".c",
|
|
55
|
+
languageId: "c",
|
|
56
|
+
factory: () => new CAdapter(),
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
extension: ".h",
|
|
60
|
+
languageId: "c",
|
|
61
|
+
factory: () => new CAdapter(),
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
extension: ".cc",
|
|
65
|
+
languageId: "cpp",
|
|
66
|
+
factory: () => new CppAdapter(),
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
extension: ".cpp",
|
|
70
|
+
languageId: "cpp",
|
|
71
|
+
factory: () => new CppAdapter(),
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
extension: ".cxx",
|
|
75
|
+
languageId: "cpp",
|
|
76
|
+
factory: () => new CppAdapter(),
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
extension: ".hh",
|
|
80
|
+
languageId: "cpp",
|
|
81
|
+
factory: () => new CppAdapter(),
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
extension: ".hpp",
|
|
85
|
+
languageId: "cpp",
|
|
86
|
+
factory: () => new CppAdapter(),
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
extension: ".hxx",
|
|
90
|
+
languageId: "cpp",
|
|
91
|
+
factory: () => new CppAdapter(),
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
extension: ".php",
|
|
95
|
+
languageId: "php",
|
|
96
|
+
factory: () => new PhpAdapter(),
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
extension: ".phtml",
|
|
100
|
+
languageId: "php",
|
|
101
|
+
factory: () => new PhpAdapter(),
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
extension: ".rs",
|
|
105
|
+
languageId: "rust",
|
|
106
|
+
factory: () => new RustAdapter(),
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
extension: ".kt",
|
|
110
|
+
languageId: "kotlin",
|
|
111
|
+
factory: () => new KotlinAdapter(),
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
extension: ".kts",
|
|
115
|
+
languageId: "kotlin",
|
|
116
|
+
factory: () => new KotlinAdapter(),
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
extension: ".sh",
|
|
120
|
+
languageId: "shell",
|
|
121
|
+
factory: () => new ShellAdapter(),
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
extension: ".bash",
|
|
125
|
+
languageId: "shell",
|
|
126
|
+
factory: () => new ShellAdapter(),
|
|
127
|
+
},
|
|
128
|
+
];
|
|
129
|
+
//# sourceMappingURL=adapters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../../src/indexer/adapter/adapters.ts"],"names":[],"mappings":"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"}
|