sdl-mcp 0.11.9 → 0.11.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/config/benchmark.ci.config.json +6 -4
- package/config/sdlmcp.config.example.json +8 -7
- package/config/sdlmcp.config.schema.json +18 -11
- package/dist/.tsbuildinfo +1 -1
- package/dist/cli/commands/benchmark.d.ts.map +1 -1
- package/dist/cli/commands/benchmark.js +4 -3
- package/dist/cli/commands/benchmark.js.map +1 -1
- package/dist/cli/commands/enforcement-bootstrap.d.ts +3 -4
- package/dist/cli/commands/enforcement-bootstrap.d.ts.map +1 -1
- package/dist/cli/commands/enforcement-bootstrap.js +19 -19
- package/dist/cli/commands/enforcement-bootstrap.js.map +1 -1
- package/dist/cli/commands/init.d.ts +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +68 -27
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/setup-wizard/config-diff.js +2 -2
- package/dist/cli/setup-wizard/config-diff.js.map +1 -1
- package/dist/cli/setup-wizard/recommendations.js +1 -1
- package/dist/cli/setup-wizard/recommendations.js.map +1 -1
- package/dist/code-mode/manual-generator.js +1 -1
- package/dist/config/loadConfig.d.ts.map +1 -1
- package/dist/config/loadConfig.js +6 -2
- package/dist/config/loadConfig.js.map +1 -1
- package/dist/config/types.d.ts +40 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +28 -22
- package/dist/config/types.js.map +1 -1
- package/dist/gateway/schemas.d.ts +2 -0
- package/dist/gateway/schemas.d.ts.map +1 -1
- package/dist/gateway/schemas.js +1 -1
- package/dist/gateway/schemas.js.map +1 -1
- package/dist/indexer/fileScanner.d.ts.map +1 -1
- package/dist/indexer/fileScanner.js +20 -0
- package/dist/indexer/fileScanner.js.map +1 -1
- package/dist/indexer/language-packs.d.ts.map +1 -1
- package/dist/indexer/language-packs.js +203 -6
- package/dist/indexer/language-packs.js.map +1 -1
- package/dist/indexer/language.d.ts.map +1 -1
- package/dist/indexer/language.js +22 -0
- package/dist/indexer/language.js.map +1 -1
- package/dist/indexer/provider-first/executor.js +18 -0
- package/dist/indexer/provider-first/executor.js.map +1 -1
- package/dist/indexer/provider-first/shadow-finalization.d.ts +1 -0
- package/dist/indexer/provider-first/shadow-finalization.d.ts.map +1 -1
- package/dist/indexer/provider-first/shadow-finalization.js +126 -140
- package/dist/indexer/provider-first/shadow-finalization.js.map +1 -1
- package/dist/indexer/treesitter/grammarLoader.d.ts +1 -1
- package/dist/indexer/treesitter/grammarLoader.d.ts.map +1 -1
- package/dist/indexer/treesitter/grammarLoader.js +28 -4
- package/dist/indexer/treesitter/grammarLoader.js.map +1 -1
- package/dist/indexer/watcher.d.ts +12 -0
- package/dist/indexer/watcher.d.ts.map +1 -1
- package/dist/indexer/watcher.js +62 -2
- package/dist/indexer/watcher.js.map +1 -1
- package/dist/mcp/dispatch-limiter.d.ts +1 -0
- package/dist/mcp/dispatch-limiter.d.ts.map +1 -1
- package/dist/mcp/dispatch-limiter.js +35 -2
- package/dist/mcp/dispatch-limiter.js.map +1 -1
- package/dist/mcp/savings-meter.d.ts +1 -1
- package/dist/mcp/savings-meter.d.ts.map +1 -1
- package/dist/mcp/savings-meter.js +3 -3
- package/dist/mcp/savings-meter.js.map +1 -1
- package/dist/mcp/server-instructions.js +1 -1
- package/dist/mcp/server-instructions.js.map +1 -1
- package/dist/mcp/tools/index.d.ts +2 -5
- package/dist/mcp/tools/index.d.ts.map +1 -1
- package/dist/mcp/tools/index.js +1 -0
- package/dist/mcp/tools/index.js.map +1 -1
- package/dist/mcp/tools/repo.d.ts.map +1 -1
- package/dist/mcp/tools/repo.js +9 -0
- package/dist/mcp/tools/repo.js.map +1 -1
- package/dist/mcp/tools/search-edit/structural.d.ts.map +1 -1
- package/dist/mcp/tools/search-edit/structural.js +114 -3
- package/dist/mcp/tools/search-edit/structural.js.map +1 -1
- package/dist/mcp/tools/usage.d.ts.map +1 -1
- package/dist/mcp/tools/usage.js +12 -23
- package/dist/mcp/tools/usage.js.map +1 -1
- package/dist/mcp/tools.d.ts +2 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +1 -1
- package/dist/mcp/tools.js.map +1 -1
- package/dist/semantic/providers/lsp/client.d.ts.map +1 -1
- package/dist/semantic/providers/lsp/client.js +28 -12
- package/dist/semantic/providers/lsp/client.js.map +1 -1
- package/dist/server.d.ts +12 -6
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +53 -27
- package/dist/server.js.map +1 -1
- package/package.json +5 -5
- package/templates/SDL.md +3 -1
package/README.md
CHANGED
|
@@ -16,12 +16,13 @@ _Stop feeding entire files into the context window.<br/>Start giving agents exac
|
|
|
16
16
|
<br/>
|
|
17
17
|
[](https://roastmycode.ai/roast/latest/GlitterKill/sdl-mcp)
|
|
18
18
|
|
|
19
|
-
</div>
|
|
20
|
-
|
|
21
19
|
---
|
|
22
20
|
|
|
23
21
|
<br/>
|
|
24
22
|
|
|
23
|
+
[SDL Token Savings](https://github.com/user-attachments/assets/cdf535a0-dc6e-4c63-ba52-646acfab8999)
|
|
24
|
+
</div>
|
|
25
|
+
|
|
25
26
|
## What's the problem?
|
|
26
27
|
|
|
27
28
|
Every time an AI coding agent reads a file to answer a question, it consumes thousands of tokens. Most of those tokens are irrelevant to the task. The agent doesn't need 500 lines of a file to know that `validateToken` takes a `string` and returns a `Promise<User>` — but it reads them anyway, because that's all it has.
|
|
@@ -23,14 +23,16 @@
|
|
|
23
23
|
"allowableDecreasePercent": 5
|
|
24
24
|
},
|
|
25
25
|
"edgesPerSymbol": {
|
|
26
|
-
"minValue":
|
|
26
|
+
"minValue": 0.5,
|
|
27
27
|
"trend": "higher-is-better",
|
|
28
|
-
"allowableDecreasePercent": 5
|
|
28
|
+
"allowableDecreasePercent": 5,
|
|
29
|
+
"_comment": "Provider-first SCIP on locked zod-oss produced ~0.53 edges/symbol on hosted Linux after semantic enrichment became default; keep a nonzero quality floor without requiring the legacy edge-density shape."
|
|
29
30
|
},
|
|
30
31
|
"graphConnectivity": {
|
|
31
|
-
"minValue": 0.
|
|
32
|
+
"minValue": 0.28,
|
|
32
33
|
"trend": "higher-is-better",
|
|
33
|
-
"allowableDecreasePercent": 5
|
|
34
|
+
"allowableDecreasePercent": 5,
|
|
35
|
+
"_comment": "Provider-first SCIP on locked zod-oss produced ~0.288 graph connectivity on hosted Linux; keep this just below the observed value to catch material connectivity regressions."
|
|
34
36
|
},
|
|
35
37
|
"exportedSymbolRatio": {
|
|
36
38
|
"minValue": 0.2,
|
|
@@ -202,7 +202,7 @@
|
|
|
202
202
|
}
|
|
203
203
|
},
|
|
204
204
|
"semanticEnrichment": {
|
|
205
|
-
"enabled":
|
|
205
|
+
"enabled": true,
|
|
206
206
|
"autoRunOnIndexRefresh": false,
|
|
207
207
|
"installPolicy": "never",
|
|
208
208
|
"cacheDir": null,
|
|
@@ -212,7 +212,7 @@
|
|
|
212
212
|
"providers": {
|
|
213
213
|
"scip": {
|
|
214
214
|
"enabled": true,
|
|
215
|
-
"indexes": []
|
|
215
|
+
"indexes": [{ "path": "index.scip" }]
|
|
216
216
|
},
|
|
217
217
|
"lsp": {
|
|
218
218
|
"enabled": true,
|
|
@@ -288,7 +288,8 @@
|
|
|
288
288
|
},
|
|
289
289
|
"gateway": {
|
|
290
290
|
"enabled": true,
|
|
291
|
-
"emitLegacyTools": false
|
|
291
|
+
"emitLegacyTools": false,
|
|
292
|
+
"toolNameFormat": "canonical"
|
|
292
293
|
},
|
|
293
294
|
"httpAuth": {
|
|
294
295
|
"enabled": false,
|
|
@@ -314,7 +315,7 @@
|
|
|
314
315
|
"allowedRepoRoots": []
|
|
315
316
|
},
|
|
316
317
|
"scip": {
|
|
317
|
-
"enabled":
|
|
318
|
+
"enabled": true,
|
|
318
319
|
"indexes": [
|
|
319
320
|
{
|
|
320
321
|
"path": "index.scip",
|
|
@@ -328,11 +329,11 @@
|
|
|
328
329
|
"confidence": 0.95,
|
|
329
330
|
"autoIngestOnRefresh": true,
|
|
330
331
|
"generator": {
|
|
331
|
-
"enabled":
|
|
332
|
+
"enabled": true,
|
|
332
333
|
"binary": "scip-io",
|
|
333
|
-
"args": [],
|
|
334
|
+
"args": ["--include-additional-configs", "--timeout", "3600"],
|
|
334
335
|
"autoInstall": true,
|
|
335
|
-
"timeoutMs":
|
|
336
|
+
"timeoutMs": 18000000,
|
|
336
337
|
"cleanupAfterIngest": true,
|
|
337
338
|
"cacheGeneratedIndexes": true
|
|
338
339
|
}
|
|
@@ -1095,7 +1095,7 @@
|
|
|
1095
1095
|
"type": "object",
|
|
1096
1096
|
"description": "Provider-backed graph precision enrichment. Separate from semantic embeddings/retrieval.",
|
|
1097
1097
|
"properties": {
|
|
1098
|
-
"enabled": { "type": "boolean", "default":
|
|
1098
|
+
"enabled": { "type": "boolean", "default": true },
|
|
1099
1099
|
"autoRunOnIndexRefresh": {
|
|
1100
1100
|
"type": "boolean",
|
|
1101
1101
|
"default": false,
|
|
@@ -1238,7 +1238,7 @@
|
|
|
1238
1238
|
}
|
|
1239
1239
|
},
|
|
1240
1240
|
"default": {
|
|
1241
|
-
"enabled":
|
|
1241
|
+
"enabled": true,
|
|
1242
1242
|
"autoRunOnIndexRefresh": false,
|
|
1243
1243
|
"installPolicy": "never",
|
|
1244
1244
|
"cacheDir": null,
|
|
@@ -1660,11 +1660,18 @@
|
|
|
1660
1660
|
"type": "boolean",
|
|
1661
1661
|
"description": "When gateway is enabled, also register the 25 legacy tool names for backward compatibility. Deprecated: will be removed in a future version.",
|
|
1662
1662
|
"default": false
|
|
1663
|
+
},
|
|
1664
|
+
"toolNameFormat": {
|
|
1665
|
+
"type": "string",
|
|
1666
|
+
"enum": ["canonical", "openai"],
|
|
1667
|
+
"description": "Tool name format advertised to MCP clients. Use openai to replace dots with underscores for strict tool-name validators.",
|
|
1668
|
+
"default": "canonical"
|
|
1663
1669
|
}
|
|
1664
1670
|
},
|
|
1665
1671
|
"default": {
|
|
1666
1672
|
"enabled": true,
|
|
1667
|
-
"emitLegacyTools": false
|
|
1673
|
+
"emitLegacyTools": false,
|
|
1674
|
+
"toolNameFormat": "canonical"
|
|
1668
1675
|
}
|
|
1669
1676
|
},
|
|
1670
1677
|
"httpAuth": {
|
|
@@ -1785,7 +1792,7 @@
|
|
|
1785
1792
|
"type": "object",
|
|
1786
1793
|
"description": "SCIP index ingestion configuration",
|
|
1787
1794
|
"properties": {
|
|
1788
|
-
"enabled": { "type": "boolean", "default":
|
|
1795
|
+
"enabled": { "type": "boolean", "default": true },
|
|
1789
1796
|
"indexes": {
|
|
1790
1797
|
"type": "array",
|
|
1791
1798
|
"items": {
|
|
@@ -1796,7 +1803,7 @@
|
|
|
1796
1803
|
},
|
|
1797
1804
|
"required": ["path"]
|
|
1798
1805
|
},
|
|
1799
|
-
"default": []
|
|
1806
|
+
"default": [{ "path": "index.scip" }]
|
|
1800
1807
|
},
|
|
1801
1808
|
"externalSymbols": {
|
|
1802
1809
|
"type": "object",
|
|
@@ -1828,19 +1835,19 @@
|
|
|
1828
1835
|
"type": "object",
|
|
1829
1836
|
"description": "Auto-generate index.scip via the scip-io CLI before each refresh. Has no effect unless scip.enabled is also true. When enabled and the binary is missing, sdl-mcp downloads it from GitHub releases into ~/.sdl-mcp/bin/ with mandatory SHA-256 verification against the release's SHA256SUMS.txt; installs are refused if the checksum file is absent.",
|
|
1830
1837
|
"properties": {
|
|
1831
|
-
"enabled": { "type": "boolean", "default":
|
|
1838
|
+
"enabled": { "type": "boolean", "default": true },
|
|
1832
1839
|
"binary": { "type": "string", "default": "scip-io" },
|
|
1833
1840
|
"args": {
|
|
1834
1841
|
"type": "array",
|
|
1835
1842
|
"items": { "type": "string" },
|
|
1836
|
-
"default": []
|
|
1843
|
+
"default": ["--include-additional-configs", "--timeout", "3600"]
|
|
1837
1844
|
},
|
|
1838
1845
|
"autoInstall": { "type": "boolean", "default": true },
|
|
1839
1846
|
"timeoutMs": {
|
|
1840
1847
|
"type": "integer",
|
|
1841
1848
|
"minimum": 1000,
|
|
1842
1849
|
"maximum": 18000000,
|
|
1843
|
-
"default":
|
|
1850
|
+
"default": 18000000
|
|
1844
1851
|
},
|
|
1845
1852
|
"cleanupAfterIngest": {
|
|
1846
1853
|
"type": "boolean",
|
|
@@ -1854,11 +1861,11 @@
|
|
|
1854
1861
|
}
|
|
1855
1862
|
},
|
|
1856
1863
|
"default": {
|
|
1857
|
-
"enabled":
|
|
1864
|
+
"enabled": true,
|
|
1858
1865
|
"binary": "scip-io",
|
|
1859
|
-
"args": [],
|
|
1866
|
+
"args": ["--include-additional-configs", "--timeout", "3600"],
|
|
1860
1867
|
"autoInstall": true,
|
|
1861
|
-
"timeoutMs":
|
|
1868
|
+
"timeoutMs": 18000000,
|
|
1862
1869
|
"cleanupAfterIngest": true,
|
|
1863
1870
|
"cacheGeneratedIndexes": true
|
|
1864
1871
|
}
|