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,72 @@
|
|
|
1
|
+
import { loadConfig } from "../../config/loadConfig.js";
|
|
2
|
+
import { getDb } from "../../db/db.js";
|
|
3
|
+
import { runMigrations } from "../../db/migrations.js";
|
|
4
|
+
import { MCPServer } from "../../server.js";
|
|
5
|
+
import { registerTools } from "../../mcp/tools/index.js";
|
|
6
|
+
import { watchRepository } from "../../indexer/indexer.js";
|
|
7
|
+
import { setupStdioTransport } from "../transport/stdio.js";
|
|
8
|
+
import { setupHttpTransport } from "../transport/http.js";
|
|
9
|
+
import { configureLogger } from "../logging.js";
|
|
10
|
+
import { resolve } from "path";
|
|
11
|
+
export async function serveCommand(options) {
|
|
12
|
+
const configPath = options.config ?? resolve("./config/sdlmcp.config.json");
|
|
13
|
+
process.env.SDL_CONFIG = configPath;
|
|
14
|
+
const config = loadConfig(configPath);
|
|
15
|
+
configureLogger(options.logLevel ?? "info", options.logFormat ?? "pretty");
|
|
16
|
+
const db = getDb(config.dbPath);
|
|
17
|
+
runMigrations(db);
|
|
18
|
+
const watchers = [];
|
|
19
|
+
if (config.indexing?.enableFileWatching) {
|
|
20
|
+
console.error(`Starting file watchers for ${config.repos.length} repo(s)...`);
|
|
21
|
+
for (const repo of config.repos) {
|
|
22
|
+
try {
|
|
23
|
+
watchers.push(watchRepository(repo.repoId));
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
console.error(`Failed to start watcher for ${repo.repoId}: ${error}`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
console.error(`Watching ${watchers.length} repo(s)`);
|
|
30
|
+
}
|
|
31
|
+
const server = new MCPServer();
|
|
32
|
+
registerTools(server);
|
|
33
|
+
let shutdownCalled = false;
|
|
34
|
+
const shutdown = async (signal) => {
|
|
35
|
+
if (shutdownCalled) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
shutdownCalled = true;
|
|
39
|
+
console.error(`\nReceived ${signal}, shutting down gracefully...`);
|
|
40
|
+
await server.stop();
|
|
41
|
+
for (const watcher of watchers) {
|
|
42
|
+
await watcher.close();
|
|
43
|
+
}
|
|
44
|
+
process.exit(0);
|
|
45
|
+
};
|
|
46
|
+
const handleShutdown = (signal) => {
|
|
47
|
+
void shutdown(signal).catch((error) => {
|
|
48
|
+
console.error(`Failed to handle ${signal}: ${error instanceof Error ? error.message : String(error)}`);
|
|
49
|
+
process.exit(1);
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
process.once("SIGINT", () => handleShutdown("SIGINT"));
|
|
53
|
+
process.once("SIGTERM", () => handleShutdown("SIGTERM"));
|
|
54
|
+
try {
|
|
55
|
+
if (options.transport === "stdio") {
|
|
56
|
+
console.error("Starting MCP server on stdio transport...");
|
|
57
|
+
await setupStdioTransport(server);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
const host = options.host ?? "localhost";
|
|
61
|
+
const port = options.port ?? 3000;
|
|
62
|
+
console.error(`Starting MCP server on http://${host}:${port}...`);
|
|
63
|
+
await setupHttpTransport(server, host, port, config.dbPath);
|
|
64
|
+
}
|
|
65
|
+
await new Promise(() => { });
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
console.error(`Fatal error: ${error instanceof Error ? error.message : String(error)}`);
|
|
69
|
+
process.exit(1);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=serve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/cli/commands/serve.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/version.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAK7C,wBAAsB,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAS5E"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { readFileSync } from "fs";
|
|
2
|
+
import { resolve, dirname } from "path";
|
|
3
|
+
import { fileURLToPath } from "url";
|
|
4
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
5
|
+
const VERSION_FILE = resolve(__dirname, "../../../package.json");
|
|
6
|
+
export async function versionCommand(_options) {
|
|
7
|
+
const version = getVersion();
|
|
8
|
+
console.log(`SDL-MCP version: ${version}`);
|
|
9
|
+
console.log("");
|
|
10
|
+
console.log("Environment:");
|
|
11
|
+
console.log(` Node.js: ${process.version}`);
|
|
12
|
+
console.log(` Platform: ${process.platform}`);
|
|
13
|
+
console.log(` Arch: ${process.arch}`);
|
|
14
|
+
}
|
|
15
|
+
function getVersion() {
|
|
16
|
+
try {
|
|
17
|
+
const pkg = JSON.parse(readFileSync(VERSION_FILE, "utf-8"));
|
|
18
|
+
return pkg.version || "unknown";
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return "unknown";
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/cli/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAGpC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;AAEjE,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAwB;IAC3D,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5D,OAAO,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { parseArgs } from "util";
|
|
3
|
+
import { initCommand } from "./commands/init.js";
|
|
4
|
+
import { doctorCommand } from "./commands/doctor.js";
|
|
5
|
+
import { versionCommand } from "./commands/version.js";
|
|
6
|
+
import { indexCommand } from "./commands/index.js";
|
|
7
|
+
import { serveCommand } from "./commands/serve.js";
|
|
8
|
+
import { exportCommand } from "./commands/export.js";
|
|
9
|
+
import { importCommand } from "./commands/import.js";
|
|
10
|
+
import { pullCommand } from "./commands/pull.js";
|
|
11
|
+
import { benchmarkCICommand } from "./commands/benchmark.js";
|
|
12
|
+
import { parseInitOptions, parseIndexOptions, parseServeOptions, parseExportOptions, parseImportOptions, parsePullOptions, parseBenchmarkOptions, } from "./argParsing.js";
|
|
13
|
+
async function main() {
|
|
14
|
+
const { values, positionals } = parseArgs({
|
|
15
|
+
args: process.argv.slice(2),
|
|
16
|
+
allowPositionals: true,
|
|
17
|
+
strict: false,
|
|
18
|
+
options: {
|
|
19
|
+
help: { type: "boolean", short: "h" },
|
|
20
|
+
version: { type: "boolean", short: "v" },
|
|
21
|
+
config: { type: "string", short: "c" },
|
|
22
|
+
"log-level": { type: "string" },
|
|
23
|
+
"log-format": { type: "string" },
|
|
24
|
+
languages: { type: "string" },
|
|
25
|
+
client: { type: "string" },
|
|
26
|
+
"repo-path": { type: "string" },
|
|
27
|
+
force: { type: "boolean", short: "f" },
|
|
28
|
+
watch: { type: "boolean", short: "w" },
|
|
29
|
+
"repo-id": { type: "string" },
|
|
30
|
+
stdio: { type: "boolean" },
|
|
31
|
+
http: { type: "boolean" },
|
|
32
|
+
port: { type: "string" },
|
|
33
|
+
host: { type: "string" },
|
|
34
|
+
"version-id": { type: "string" },
|
|
35
|
+
"commit-sha": { type: "string" },
|
|
36
|
+
branch: { type: "string" },
|
|
37
|
+
output: { type: "string", short: "o" },
|
|
38
|
+
"artifact-path": { type: "string" },
|
|
39
|
+
verify: { type: "boolean" },
|
|
40
|
+
list: { type: "boolean" },
|
|
41
|
+
fallback: { type: "boolean" },
|
|
42
|
+
retries: { type: "string" },
|
|
43
|
+
"baseline-path": { type: "string" },
|
|
44
|
+
"threshold-path": { type: "string" },
|
|
45
|
+
"update-baseline": { type: "boolean" },
|
|
46
|
+
"skip-indexing": { type: "boolean" },
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
if (values.help) {
|
|
50
|
+
showHelp();
|
|
51
|
+
process.exit(0);
|
|
52
|
+
}
|
|
53
|
+
if (values.version) {
|
|
54
|
+
await versionCommand({});
|
|
55
|
+
process.exit(0);
|
|
56
|
+
}
|
|
57
|
+
const global = {
|
|
58
|
+
config: values.config,
|
|
59
|
+
logLevel: values["log-level"],
|
|
60
|
+
logFormat: values["log-format"],
|
|
61
|
+
};
|
|
62
|
+
const command = positionals[0];
|
|
63
|
+
if (!command) {
|
|
64
|
+
showHelp();
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
switch (command) {
|
|
68
|
+
case "init": {
|
|
69
|
+
const options = parseInitOptions(positionals.slice(1), global, values);
|
|
70
|
+
await initCommand(options);
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
case "doctor": {
|
|
74
|
+
const options = { ...global };
|
|
75
|
+
await doctorCommand(options);
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
case "version": {
|
|
79
|
+
const options = { ...global };
|
|
80
|
+
await versionCommand(options);
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
case "index": {
|
|
84
|
+
const options = parseIndexOptions(positionals.slice(1), global, values);
|
|
85
|
+
await indexCommand(options);
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
case "serve": {
|
|
89
|
+
const options = parseServeOptions(positionals.slice(1), global, values);
|
|
90
|
+
await serveCommand(options);
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
case "export": {
|
|
94
|
+
const options = parseExportOptions(positionals.slice(1), global, values);
|
|
95
|
+
await exportCommand(options);
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
case "import": {
|
|
99
|
+
const options = parseImportOptions(positionals.slice(1), global, values);
|
|
100
|
+
await importCommand(options);
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
case "pull": {
|
|
104
|
+
const options = parsePullOptions(positionals.slice(1), global, values);
|
|
105
|
+
await pullCommand(options);
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
case "benchmark:ci": {
|
|
109
|
+
const options = parseBenchmarkOptions(positionals.slice(1), global, values);
|
|
110
|
+
const exitCode = await benchmarkCICommand(options);
|
|
111
|
+
process.exit(exitCode);
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
default:
|
|
115
|
+
console.error(`Unknown command: ${command}`);
|
|
116
|
+
console.error("");
|
|
117
|
+
showHelp();
|
|
118
|
+
process.exit(1);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
function showHelp() {
|
|
122
|
+
console.log(`
|
|
123
|
+
SDL-MCP - Symbol Delta Ledger MCP Server
|
|
124
|
+
|
|
125
|
+
Usage:
|
|
126
|
+
sdl-mcp [global-options] <command> [command-options]
|
|
127
|
+
|
|
128
|
+
Commands:
|
|
129
|
+
init Initialize SDL-MCP configuration
|
|
130
|
+
doctor Validate SDL-MCP environment
|
|
131
|
+
version Show version information
|
|
132
|
+
index Index repositories (optional: --watch, --repo-id)
|
|
133
|
+
serve Start MCP server (default: stdio, optional: --http, --port, --host)
|
|
134
|
+
export Export indexed state as sync artifact
|
|
135
|
+
import Import indexed state from sync artifact
|
|
136
|
+
pull Pull latest state from artifact or fallback to full index
|
|
137
|
+
benchmark:ci Run CI benchmark with threshold evaluation
|
|
138
|
+
|
|
139
|
+
Global Options:
|
|
140
|
+
-c, --config PATH Path to configuration file
|
|
141
|
+
--log-level LEVEL Log level: debug, info, warn, error (default: info)
|
|
142
|
+
--log-format FORMAT Log format: json, pretty (default: pretty)
|
|
143
|
+
-h, --help Show this help message
|
|
144
|
+
-v, --version Show version
|
|
145
|
+
|
|
146
|
+
Init Options:
|
|
147
|
+
--client NAME Client template: claude-code, codex, gemini, opencode
|
|
148
|
+
--repo-path PATH Repository root path (default: current directory)
|
|
149
|
+
--languages LIST Comma-separated languages: ts, tsx, js, jsx, py, go, java, cs, c, cpp, php, rs, kt, sh (default: all)
|
|
150
|
+
-f, --force Force overwrite existing configuration
|
|
151
|
+
|
|
152
|
+
Index Options:
|
|
153
|
+
-w, --watch Watch for file changes
|
|
154
|
+
--repo-id ID Index specific repository by ID
|
|
155
|
+
|
|
156
|
+
Serve Options:
|
|
157
|
+
--stdio Use stdio transport (default)
|
|
158
|
+
--http Use HTTP transport
|
|
159
|
+
--port NUMBER HTTP port (default: 3000)
|
|
160
|
+
--host HOST HTTP host (default: localhost)
|
|
161
|
+
|
|
162
|
+
Export Options:
|
|
163
|
+
--repo-id ID Export specific repository by ID
|
|
164
|
+
--version-id ID Export specific version
|
|
165
|
+
--commit-sha SHA Link artifact to commit SHA
|
|
166
|
+
--branch NAME Link artifact to branch name
|
|
167
|
+
-o, --output PATH Output artifact path (default: .sdl-sync/)
|
|
168
|
+
--list List available artifacts
|
|
169
|
+
|
|
170
|
+
Import Options:
|
|
171
|
+
--artifact-path PATH Path to artifact file (required)
|
|
172
|
+
--repo-id ID Target repository ID
|
|
173
|
+
-f, --force Force import even if repo_id mismatch
|
|
174
|
+
--verify Verify artifact integrity (default: true)
|
|
175
|
+
|
|
176
|
+
Pull Options:
|
|
177
|
+
--repo-id ID Pull for specific repository by ID
|
|
178
|
+
--version-id ID Pull specific version
|
|
179
|
+
--commit-sha SHA Pull artifact matching commit SHA
|
|
180
|
+
--fallback Fallback to full index if artifact not found (default: true)
|
|
181
|
+
--retries NUMBER Max retry attempts (default:3)
|
|
182
|
+
|
|
183
|
+
Benchmark:ci Options:
|
|
184
|
+
--repo-id ID Benchmark specific repository by ID
|
|
185
|
+
--baseline-path PATH Path to baseline file (default: .benchmark/baseline.json)
|
|
186
|
+
--threshold-path PATH Path to threshold config (default: config/benchmark.config.json)
|
|
187
|
+
--out PATH Output path for results (default: .benchmark/latest.json)
|
|
188
|
+
--json Output JSON results
|
|
189
|
+
--update-baseline Update baseline with current results
|
|
190
|
+
--skip-indexing Skip re-indexing, use existing data
|
|
191
|
+
|
|
192
|
+
Examples:
|
|
193
|
+
sdl-mcp init
|
|
194
|
+
sdl-mcp doctor
|
|
195
|
+
sdl-mcp index --watch
|
|
196
|
+
sdl-mcp serve --stdio
|
|
197
|
+
sdl-mcp serve --http --port 3000
|
|
198
|
+
sdl-mcp export
|
|
199
|
+
sdl-mcp export --list
|
|
200
|
+
sdl-mcp import --artifact-path .sdl-sync/repo-xxx.sdl-artifact.json
|
|
201
|
+
sdl-mcp pull
|
|
202
|
+
sdl-mcp benchmark:ci
|
|
203
|
+
sdl-mcp benchmark:ci --repo-id my-repo --json
|
|
204
|
+
sdl-mcp benchmark:ci --update-baseline
|
|
205
|
+
|
|
206
|
+
For more information, visit: https://github.com/GlitterKill/sdl-mcp
|
|
207
|
+
`);
|
|
208
|
+
}
|
|
209
|
+
main().catch((error) => {
|
|
210
|
+
console.error(`Fatal error: ${error instanceof Error ? error.message : String(error)}`);
|
|
211
|
+
process.exit(1);
|
|
212
|
+
});
|
|
213
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { LogLevel, LogFormat } from "./types.js";
|
|
2
|
+
export declare function configureLogger(level: LogLevel, format: LogFormat): void;
|
|
3
|
+
export declare function generateRequestId(): string;
|
|
4
|
+
export declare const logger: {
|
|
5
|
+
debug: (message: string, meta?: Record<string, unknown>) => void;
|
|
6
|
+
info: (message: string, meta?: Record<string, unknown>) => void;
|
|
7
|
+
warn: (message: string, meta?: Record<string, unknown>) => void;
|
|
8
|
+
error: (message: string, meta?: Record<string, unknown>) => void;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=logging.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/cli/logging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAMtD,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAGxE;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AA+CD,eAAO,MAAM,MAAM;qBACA,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBAEvC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBAEtC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;qBAErC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAExD,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
let currentLogLevel = "info";
|
|
2
|
+
let currentFormat = "pretty";
|
|
3
|
+
let requestIdCounter = 0;
|
|
4
|
+
export function configureLogger(level, format) {
|
|
5
|
+
currentLogLevel = level;
|
|
6
|
+
currentFormat = format;
|
|
7
|
+
}
|
|
8
|
+
export function generateRequestId() {
|
|
9
|
+
return `req_${Date.now()}_${++requestIdCounter}`;
|
|
10
|
+
}
|
|
11
|
+
function shouldLog(level) {
|
|
12
|
+
const levels = ["debug", "info", "warn", "error"];
|
|
13
|
+
return levels.indexOf(level) >= levels.indexOf(currentLogLevel);
|
|
14
|
+
}
|
|
15
|
+
function formatMessage(level, message, meta) {
|
|
16
|
+
const timestamp = new Date().toISOString();
|
|
17
|
+
const requestId = meta?.requestId;
|
|
18
|
+
if (currentFormat === "json") {
|
|
19
|
+
const logEntry = {
|
|
20
|
+
timestamp,
|
|
21
|
+
level,
|
|
22
|
+
message,
|
|
23
|
+
...meta,
|
|
24
|
+
};
|
|
25
|
+
if (requestId) {
|
|
26
|
+
logEntry.requestId = requestId;
|
|
27
|
+
}
|
|
28
|
+
return JSON.stringify(logEntry);
|
|
29
|
+
}
|
|
30
|
+
const prefix = `[${timestamp}] [${level.toUpperCase()}]`;
|
|
31
|
+
const requestIdStr = requestId ? ` [${requestId}]` : "";
|
|
32
|
+
const metaStr = meta ? ` ${JSON.stringify(meta)}` : "";
|
|
33
|
+
return `${prefix}${requestIdStr} ${message}${metaStr}`;
|
|
34
|
+
}
|
|
35
|
+
function log(level, message, meta) {
|
|
36
|
+
if (!shouldLog(level)) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const formatted = formatMessage(level, message, meta);
|
|
40
|
+
console.error(formatted);
|
|
41
|
+
}
|
|
42
|
+
export const logger = {
|
|
43
|
+
debug: (message, meta) => log("debug", message, meta),
|
|
44
|
+
info: (message, meta) => log("info", message, meta),
|
|
45
|
+
warn: (message, meta) => log("warn", message, meta),
|
|
46
|
+
error: (message, meta) => log("error", message, meta),
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=logging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/cli/logging.ts"],"names":[],"mappings":"AAEA,IAAI,eAAe,GAAa,MAAM,CAAC;AACvC,IAAI,aAAa,GAAc,QAAQ,CAAC;AACxC,IAAI,gBAAgB,GAAG,CAAC,CAAC;AAEzB,MAAM,UAAU,eAAe,CAAC,KAAe,EAAE,MAAiB;IAChE,eAAe,GAAG,KAAK,CAAC;IACxB,aAAa,GAAG,MAAM,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,SAAS,CAAC,KAAe;IAChC,MAAM,MAAM,GAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,aAAa,CACpB,KAAe,EACf,OAAe,EACf,IAA8B;IAE9B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,EAAE,SAA+B,CAAC;IAExD,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAA4B;YACxC,SAAS;YACT,KAAK;YACL,OAAO;YACP,GAAG,IAAI;SACR,CAAC;QACF,IAAI,SAAS,EAAE,CAAC;YACd,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,SAAS,MAAM,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC;IACzD,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,OAAO,GAAG,MAAM,GAAG,YAAY,IAAI,OAAO,GAAG,OAAO,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,GAAG,CACV,KAAe,EACf,OAAe,EACf,IAA8B;IAE9B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACtD,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,KAAK,EAAE,CAAC,OAAe,EAAE,IAA8B,EAAE,EAAE,CACzD,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;IAC7B,IAAI,EAAE,CAAC,OAAe,EAAE,IAA8B,EAAE,EAAE,CACxD,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;IAC5B,IAAI,EAAE,CAAC,OAAe,EAAE,IAA8B,EAAE,EAAE,CACxD,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;IAC5B,KAAK,EAAE,CAAC,OAAe,EAAE,IAA8B,EAAE,EAAE,CACzD,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;CAC9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/cli/transport/http.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAsHf"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { createServer } from "http";
|
|
2
|
+
import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
|
|
3
|
+
import { getDb } from "../../db/db.js";
|
|
4
|
+
export async function setupHttpTransport(server, host, port, dbPath) {
|
|
5
|
+
const sessions = new Map();
|
|
6
|
+
let activeSseTransport = null;
|
|
7
|
+
const checkHealth = () => {
|
|
8
|
+
try {
|
|
9
|
+
const db = getDb(dbPath);
|
|
10
|
+
db.prepare("SELECT 1").get();
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
const httpServer = createServer((req, res) => {
|
|
18
|
+
const url = new URL(req.url ?? "/", `http://${host}:${port}`);
|
|
19
|
+
const pathname = url.pathname;
|
|
20
|
+
if (req.method === "GET" && pathname === "/health") {
|
|
21
|
+
const isHealthy = checkHealth();
|
|
22
|
+
const status = isHealthy ? 200 : 503;
|
|
23
|
+
res.writeHead(status, { "Content-Type": "application/json" });
|
|
24
|
+
res.end(JSON.stringify({
|
|
25
|
+
status: isHealthy ? "ok" : "unhealthy",
|
|
26
|
+
timestamp: Date.now(),
|
|
27
|
+
}));
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (req.method === "GET" && pathname === "/sse") {
|
|
31
|
+
const accept = Array.isArray(req.headers.accept)
|
|
32
|
+
? req.headers.accept.join(",")
|
|
33
|
+
: (req.headers.accept ?? "");
|
|
34
|
+
if (!accept.toLowerCase().includes("text/event-stream")) {
|
|
35
|
+
res.writeHead(406);
|
|
36
|
+
res.end("Accept header must include text/event-stream");
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (activeSseTransport) {
|
|
40
|
+
const staleTransport = activeSseTransport;
|
|
41
|
+
sessions.delete(staleTransport.sessionId);
|
|
42
|
+
activeSseTransport = null;
|
|
43
|
+
void staleTransport.close().catch(() => {
|
|
44
|
+
// Ignore stale transport close errors.
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
const sseTransport = new SSEServerTransport("/message", res);
|
|
48
|
+
activeSseTransport = sseTransport;
|
|
49
|
+
sessions.set(sseTransport.sessionId, sseTransport);
|
|
50
|
+
sseTransport.onclose = () => {
|
|
51
|
+
sessions.delete(sseTransport.sessionId);
|
|
52
|
+
if (activeSseTransport === sseTransport) {
|
|
53
|
+
activeSseTransport = null;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
void server
|
|
57
|
+
.getServer()
|
|
58
|
+
.connect(sseTransport)
|
|
59
|
+
.catch((error) => {
|
|
60
|
+
console.error(`Failed to establish SSE transport: ${error}`);
|
|
61
|
+
sessions.delete(sseTransport.sessionId);
|
|
62
|
+
if (activeSseTransport === sseTransport) {
|
|
63
|
+
activeSseTransport = null;
|
|
64
|
+
}
|
|
65
|
+
if (!res.headersSent) {
|
|
66
|
+
res.writeHead(500);
|
|
67
|
+
res.end("Failed to establish SSE transport");
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (req.method === "POST" && pathname === "/message") {
|
|
73
|
+
const sessionId = url.searchParams.get("sessionId");
|
|
74
|
+
if (!sessionId) {
|
|
75
|
+
res.writeHead(400);
|
|
76
|
+
res.end("Missing sessionId");
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const transport = sessions.get(sessionId);
|
|
80
|
+
if (!transport) {
|
|
81
|
+
res.writeHead(404);
|
|
82
|
+
res.end("Unknown sessionId");
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
void transport.handlePostMessage(req, res).catch((error) => {
|
|
86
|
+
console.error(`Failed to process SSE POST message: ${error}`);
|
|
87
|
+
if (!res.headersSent) {
|
|
88
|
+
res.writeHead(500);
|
|
89
|
+
res.end("Failed to process message");
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
res.writeHead(404);
|
|
95
|
+
res.end("Not found");
|
|
96
|
+
});
|
|
97
|
+
httpServer.listen(port, host, () => {
|
|
98
|
+
console.error(`HTTP server listening on http://${host}:${port}`);
|
|
99
|
+
console.error(` - SSE endpoint: http://${host}:${port}/sse`);
|
|
100
|
+
console.error(` - Health check: http://${host}:${port}/health`);
|
|
101
|
+
});
|
|
102
|
+
return new Promise((resolve_) => {
|
|
103
|
+
httpServer.on("close", resolve_);
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/cli/transport/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../../src/cli/transport/stdio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1E"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
2
|
+
export async function setupStdioTransport(server) {
|
|
3
|
+
const transport = new StdioServerTransport();
|
|
4
|
+
await server.getServer().connect(transport);
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=stdio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../../src/cli/transport/stdio.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAiB;IACzD,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export interface CLIOptions {
|
|
2
|
+
config?: string;
|
|
3
|
+
logLevel?: LogLevel;
|
|
4
|
+
logFormat?: LogFormat;
|
|
5
|
+
}
|
|
6
|
+
export type LogLevel = "debug" | "info" | "warn" | "error";
|
|
7
|
+
export type LogFormat = "json" | "pretty";
|
|
8
|
+
export interface CommandContext {
|
|
9
|
+
configPath?: string;
|
|
10
|
+
logLevel: LogLevel;
|
|
11
|
+
logFormat: LogFormat;
|
|
12
|
+
}
|
|
13
|
+
export interface InitOptions extends CLIOptions {
|
|
14
|
+
client?: string;
|
|
15
|
+
repoPath?: string;
|
|
16
|
+
languages?: string[];
|
|
17
|
+
force?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface DoctorOptions extends CLIOptions {
|
|
20
|
+
}
|
|
21
|
+
export interface IndexOptions extends CLIOptions {
|
|
22
|
+
watch?: boolean;
|
|
23
|
+
repoId?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface VersionOptions extends CLIOptions {
|
|
26
|
+
}
|
|
27
|
+
export interface ServeOptions extends CLIOptions {
|
|
28
|
+
transport: "stdio" | "http";
|
|
29
|
+
port?: number;
|
|
30
|
+
host?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface BenchmarkOptions extends CLIOptions {
|
|
33
|
+
repoId?: string;
|
|
34
|
+
baselinePath?: string;
|
|
35
|
+
thresholdPath?: string;
|
|
36
|
+
outputPath?: string;
|
|
37
|
+
jsonOutput?: boolean;
|
|
38
|
+
updateBaseline?: boolean;
|
|
39
|
+
skipIndexing?: boolean;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAC3D,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAc,SAAQ,UAAU;CAAG;AAEpD,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;CAAG;AAErD,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CodeWindowRequest, CodeWindowResponse, GraphSlice } from "../mcp/types.js";
|
|
2
|
+
import type { PolicyConfig } from "../config/types.js";
|
|
3
|
+
import type { SymbolRow } from "../db/schema.js";
|
|
4
|
+
export interface GateContext {
|
|
5
|
+
slice?: GraphSlice;
|
|
6
|
+
symbol?: SymbolRow;
|
|
7
|
+
policy?: PolicyConfig;
|
|
8
|
+
}
|
|
9
|
+
export declare function evaluateRequest(request: CodeWindowRequest, context: GateContext): CodeWindowResponse;
|
|
10
|
+
export declare function generateDenialGuidance(request: CodeWindowRequest, reason: string, policyOverride?: PolicyConfig): Partial<CodeWindowRequest>;
|
|
11
|
+
//# sourceMappingURL=gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../src/code/gate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AASjD,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,WAAW,GACnB,kBAAkB,CA2GpB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,YAAY,GAC5B,OAAO,CAAC,iBAAiB,CAAC,CAgD5B"}
|