sdl-mcp 0.9.2 → 0.10.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.
Files changed (500) hide show
  1. package/README.md +88 -18
  2. package/config/sdlmcp.config.example.json +63 -10
  3. package/config/sdlmcp.config.json.sample +2 -2
  4. package/config/sdlmcp.config.schema.json +191 -15
  5. package/dist/.tsbuildinfo +1 -0
  6. package/dist/agent/executor.d.ts.map +1 -1
  7. package/dist/agent/executor.js +61 -7
  8. package/dist/agent/executor.js.map +1 -1
  9. package/dist/agent/orchestrator.d.ts.map +1 -1
  10. package/dist/agent/orchestrator.js +80 -3
  11. package/dist/agent/orchestrator.js.map +1 -1
  12. package/dist/agent/types.d.ts +10 -0
  13. package/dist/agent/types.d.ts.map +1 -1
  14. package/dist/benchmark/slice-build-result.d.ts +4 -0
  15. package/dist/benchmark/slice-build-result.d.ts.map +1 -0
  16. package/dist/benchmark/slice-build-result.js +7 -0
  17. package/dist/benchmark/slice-build-result.js.map +1 -0
  18. package/dist/benchmark/threshold.d.ts.map +1 -1
  19. package/dist/benchmark/threshold.js +1 -0
  20. package/dist/benchmark/threshold.js.map +1 -1
  21. package/dist/cli/argParsing.js +1 -1
  22. package/dist/cli/argParsing.js.map +1 -1
  23. package/dist/cli/commands/doctor.d.ts.map +1 -1
  24. package/dist/cli/commands/doctor.js +40 -2
  25. package/dist/cli/commands/doctor.js.map +1 -1
  26. package/dist/cli/commands/info.d.ts.map +1 -1
  27. package/dist/cli/commands/info.js +4 -0
  28. package/dist/cli/commands/info.js.map +1 -1
  29. package/dist/cli/commands/init.d.ts.map +1 -1
  30. package/dist/cli/commands/init.js +54 -23
  31. package/dist/cli/commands/init.js.map +1 -1
  32. package/dist/cli/commands/serve.d.ts.map +1 -1
  33. package/dist/cli/commands/serve.js +8 -5
  34. package/dist/cli/commands/serve.js.map +1 -1
  35. package/dist/cli/commands/tool-actions.d.ts.map +1 -1
  36. package/dist/cli/commands/tool-actions.js +43 -1
  37. package/dist/cli/commands/tool-actions.js.map +1 -1
  38. package/dist/cli/commands/tool-arg-parser.d.ts.map +1 -1
  39. package/dist/cli/commands/tool-arg-parser.js +4 -3
  40. package/dist/cli/commands/tool-arg-parser.js.map +1 -1
  41. package/dist/cli/index.js +4 -1
  42. package/dist/cli/index.js.map +1 -1
  43. package/dist/cli/transport/http.d.ts.map +1 -1
  44. package/dist/cli/transport/http.js +17 -4
  45. package/dist/cli/transport/http.js.map +1 -1
  46. package/dist/cli/types.d.ts +1 -0
  47. package/dist/cli/types.d.ts.map +1 -1
  48. package/dist/code/hotpath.d.ts.map +1 -1
  49. package/dist/code/hotpath.js +5 -3
  50. package/dist/code/hotpath.js.map +1 -1
  51. package/dist/code/skeleton.d.ts +1 -1
  52. package/dist/code/skeleton.d.ts.map +1 -1
  53. package/dist/code/skeleton.js +51 -32
  54. package/dist/code/skeleton.js.map +1 -1
  55. package/dist/code/ts-parsers.d.ts +5 -11
  56. package/dist/code/ts-parsers.d.ts.map +1 -1
  57. package/dist/code/ts-parsers.js +29 -6
  58. package/dist/code/ts-parsers.js.map +1 -1
  59. package/dist/code/windows.d.ts.map +1 -1
  60. package/dist/code/windows.js +5 -2
  61. package/dist/code/windows.js.map +1 -1
  62. package/dist/code-mode/action-catalog.d.ts.map +1 -1
  63. package/dist/code-mode/action-catalog.js +43 -27
  64. package/dist/code-mode/action-catalog.js.map +1 -1
  65. package/dist/code-mode/chain-executor.d.ts.map +1 -1
  66. package/dist/code-mode/chain-executor.js +24 -0
  67. package/dist/code-mode/chain-executor.js.map +1 -1
  68. package/dist/code-mode/chain-parser.d.ts.map +1 -1
  69. package/dist/code-mode/chain-parser.js +11 -4
  70. package/dist/code-mode/chain-parser.js.map +1 -1
  71. package/dist/code-mode/etag-cache.d.ts +1 -0
  72. package/dist/code-mode/etag-cache.d.ts.map +1 -1
  73. package/dist/code-mode/etag-cache.js +11 -0
  74. package/dist/code-mode/etag-cache.js.map +1 -1
  75. package/dist/code-mode/index.d.ts +1 -11
  76. package/dist/code-mode/index.d.ts.map +1 -1
  77. package/dist/code-mode/manual-generator.d.ts.map +1 -1
  78. package/dist/code-mode/manual-generator.js +9 -5
  79. package/dist/code-mode/manual-generator.js.map +1 -1
  80. package/dist/code-mode/ref-resolver.d.ts.map +1 -1
  81. package/dist/code-mode/ref-resolver.js +6 -1
  82. package/dist/code-mode/ref-resolver.js.map +1 -1
  83. package/dist/code-mode/transforms.d.ts.map +1 -1
  84. package/dist/code-mode/transforms.js +33 -13
  85. package/dist/code-mode/transforms.js.map +1 -1
  86. package/dist/code-mode/types.d.ts +18 -124
  87. package/dist/code-mode/types.d.ts.map +1 -1
  88. package/dist/code-mode/types.js +1 -1
  89. package/dist/code-mode/types.js.map +1 -1
  90. package/dist/config/constants.d.ts +34 -2
  91. package/dist/config/constants.d.ts.map +1 -1
  92. package/dist/config/constants.js +34 -2
  93. package/dist/config/constants.js.map +1 -1
  94. package/dist/config/loadConfig.js +1 -1
  95. package/dist/config/types.d.ts +297 -1077
  96. package/dist/config/types.d.ts.map +1 -1
  97. package/dist/config/types.js +58 -6
  98. package/dist/config/types.js.map +1 -1
  99. package/dist/db/ladybug-clusters.d.ts +17 -0
  100. package/dist/db/ladybug-clusters.d.ts.map +1 -1
  101. package/dist/db/ladybug-clusters.js +46 -1
  102. package/dist/db/ladybug-clusters.js.map +1 -1
  103. package/dist/db/ladybug-edges.d.ts +10 -0
  104. package/dist/db/ladybug-edges.d.ts.map +1 -1
  105. package/dist/db/ladybug-edges.js +27 -13
  106. package/dist/db/ladybug-edges.js.map +1 -1
  107. package/dist/db/ladybug-embeddings.d.ts +5 -0
  108. package/dist/db/ladybug-embeddings.d.ts.map +1 -1
  109. package/dist/db/ladybug-embeddings.js +5 -0
  110. package/dist/db/ladybug-embeddings.js.map +1 -1
  111. package/dist/db/ladybug-feedback.d.ts +11 -0
  112. package/dist/db/ladybug-feedback.d.ts.map +1 -1
  113. package/dist/db/ladybug-feedback.js +36 -1
  114. package/dist/db/ladybug-feedback.js.map +1 -1
  115. package/dist/db/ladybug-file-summaries.d.ts +64 -0
  116. package/dist/db/ladybug-file-summaries.d.ts.map +1 -0
  117. package/dist/db/ladybug-file-summaries.js +116 -0
  118. package/dist/db/ladybug-file-summaries.js.map +1 -0
  119. package/dist/db/ladybug-memory.d.ts.map +1 -1
  120. package/dist/db/ladybug-memory.js +24 -20
  121. package/dist/db/ladybug-memory.js.map +1 -1
  122. package/dist/db/ladybug-metrics.d.ts +6 -4
  123. package/dist/db/ladybug-metrics.d.ts.map +1 -1
  124. package/dist/db/ladybug-metrics.js +6 -4
  125. package/dist/db/ladybug-metrics.js.map +1 -1
  126. package/dist/db/ladybug-processes.d.ts +17 -0
  127. package/dist/db/ladybug-processes.d.ts.map +1 -1
  128. package/dist/db/ladybug-processes.js +54 -1
  129. package/dist/db/ladybug-processes.js.map +1 -1
  130. package/dist/db/ladybug-queries.d.ts +4 -1
  131. package/dist/db/ladybug-queries.d.ts.map +1 -1
  132. package/dist/db/ladybug-queries.js +6 -1
  133. package/dist/db/ladybug-queries.js.map +1 -1
  134. package/dist/db/ladybug-repos.d.ts.map +1 -1
  135. package/dist/db/ladybug-repos.js +15 -4
  136. package/dist/db/ladybug-repos.js.map +1 -1
  137. package/dist/db/ladybug-schema.d.ts +4 -3
  138. package/dist/db/ladybug-schema.d.ts.map +1 -1
  139. package/dist/db/ladybug-schema.js +68 -24
  140. package/dist/db/ladybug-schema.js.map +1 -1
  141. package/dist/db/ladybug-symbol-embeddings.d.ts +37 -0
  142. package/dist/db/ladybug-symbol-embeddings.d.ts.map +1 -0
  143. package/dist/db/ladybug-symbol-embeddings.js +110 -0
  144. package/dist/db/ladybug-symbol-embeddings.js.map +1 -0
  145. package/dist/db/ladybug-symbols.d.ts +3 -1
  146. package/dist/db/ladybug-symbols.d.ts.map +1 -1
  147. package/dist/db/ladybug-symbols.js +32 -2
  148. package/dist/db/ladybug-symbols.js.map +1 -1
  149. package/dist/db/ladybug.d.ts +10 -0
  150. package/dist/db/ladybug.d.ts.map +1 -1
  151. package/dist/db/ladybug.js +117 -23
  152. package/dist/db/ladybug.js.map +1 -1
  153. package/dist/db/migrations/index.d.ts.map +1 -1
  154. package/dist/db/migrations/index.js +4 -1
  155. package/dist/db/migrations/index.js.map +1 -1
  156. package/dist/db/migrations/m007-copy-embeddings-to-symbol.d.ts +17 -0
  157. package/dist/db/migrations/m007-copy-embeddings-to-symbol.d.ts.map +1 -0
  158. package/dist/db/migrations/m007-copy-embeddings-to-symbol.js +139 -0
  159. package/dist/db/migrations/m007-copy-embeddings-to-symbol.js.map +1 -0
  160. package/dist/db/migrations/m008-add-entity-searchtext.d.ts +15 -0
  161. package/dist/db/migrations/m008-add-entity-searchtext.d.ts.map +1 -0
  162. package/dist/db/migrations/m008-add-entity-searchtext.js +40 -0
  163. package/dist/db/migrations/m008-add-entity-searchtext.js.map +1 -0
  164. package/dist/db/migrations/m009-add-symbol-summary-metadata.d.ts +5 -0
  165. package/dist/db/migrations/m009-add-symbol-summary-metadata.d.ts.map +1 -0
  166. package/dist/db/migrations/m009-add-symbol-summary-metadata.js +29 -0
  167. package/dist/db/migrations/m009-add-symbol-summary-metadata.js.map +1 -0
  168. package/dist/delta/blastRadius.d.ts.map +1 -1
  169. package/dist/delta/blastRadius.js +26 -8
  170. package/dist/delta/blastRadius.js.map +1 -1
  171. package/dist/domain/types.d.ts +7 -1
  172. package/dist/domain/types.d.ts.map +1 -1
  173. package/dist/domain/types.js +12 -2
  174. package/dist/domain/types.js.map +1 -1
  175. package/dist/gateway/compact-schema.d.ts +7 -4
  176. package/dist/gateway/compact-schema.d.ts.map +1 -1
  177. package/dist/gateway/compact-schema.js +8 -11
  178. package/dist/gateway/compact-schema.js.map +1 -1
  179. package/dist/gateway/descriptions.js +2 -2
  180. package/dist/gateway/descriptions.js.map +1 -1
  181. package/dist/gateway/router.d.ts.map +1 -1
  182. package/dist/gateway/router.js +6 -1
  183. package/dist/gateway/router.js.map +1 -1
  184. package/dist/gateway/schemas.d.ts +178 -729
  185. package/dist/gateway/schemas.d.ts.map +1 -1
  186. package/dist/gateway/schemas.js +30 -5
  187. package/dist/gateway/schemas.js.map +1 -1
  188. package/dist/graph/buildGraph.d.ts.map +1 -1
  189. package/dist/graph/buildGraph.js +23 -10
  190. package/dist/graph/buildGraph.js.map +1 -1
  191. package/dist/graph/graphSnapshotCache.d.ts.map +1 -1
  192. package/dist/graph/graphSnapshotCache.js +18 -0
  193. package/dist/graph/graphSnapshotCache.js.map +1 -1
  194. package/dist/graph/index.d.ts +1 -1
  195. package/dist/graph/index.d.ts.map +1 -1
  196. package/dist/graph/index.js.map +1 -1
  197. package/dist/graph/metrics.d.ts +1 -1
  198. package/dist/graph/metrics.d.ts.map +1 -1
  199. package/dist/graph/metrics.js +84 -55
  200. package/dist/graph/metrics.js.map +1 -1
  201. package/dist/graph/minHeap.d.ts +6 -2
  202. package/dist/graph/minHeap.d.ts.map +1 -1
  203. package/dist/graph/minHeap.js +6 -2
  204. package/dist/graph/minHeap.js.map +1 -1
  205. package/dist/graph/overview.d.ts.map +1 -1
  206. package/dist/graph/overview.js +14 -0
  207. package/dist/graph/overview.js.map +1 -1
  208. package/dist/graph/prefetch.d.ts +1 -0
  209. package/dist/graph/prefetch.d.ts.map +1 -1
  210. package/dist/graph/prefetch.js +41 -0
  211. package/dist/graph/prefetch.js.map +1 -1
  212. package/dist/graph/slice/beam-search-engine.d.ts +3 -3
  213. package/dist/graph/slice/beam-search-engine.d.ts.map +1 -1
  214. package/dist/graph/slice/beam-search-engine.js +21 -14
  215. package/dist/graph/slice/beam-search-engine.js.map +1 -1
  216. package/dist/graph/slice/index.d.ts +1 -1
  217. package/dist/graph/slice/index.d.ts.map +1 -1
  218. package/dist/graph/slice/index.js.map +1 -1
  219. package/dist/graph/slice/start-node-resolver.d.ts +9 -2
  220. package/dist/graph/slice/start-node-resolver.d.ts.map +1 -1
  221. package/dist/graph/slice/start-node-resolver.js +115 -19
  222. package/dist/graph/slice/start-node-resolver.js.map +1 -1
  223. package/dist/graph/slice.d.ts +15 -3
  224. package/dist/graph/slice.d.ts.map +1 -1
  225. package/dist/graph/slice.js +14 -6
  226. package/dist/graph/slice.js.map +1 -1
  227. package/dist/indexer/adapter/cpp.d.ts +1 -1
  228. package/dist/indexer/adapter/cpp.d.ts.map +1 -1
  229. package/dist/indexer/adapter/cpp.js +8 -25
  230. package/dist/indexer/adapter/cpp.js.map +1 -1
  231. package/dist/indexer/adapter/csharp.d.ts.map +1 -1
  232. package/dist/indexer/adapter/csharp.js +4 -1
  233. package/dist/indexer/adapter/csharp.js.map +1 -1
  234. package/dist/indexer/adapter/java.js +1 -1
  235. package/dist/indexer/adapter/plugin/types.d.ts +2 -30
  236. package/dist/indexer/adapter/plugin/types.d.ts.map +1 -1
  237. package/dist/indexer/adapter/plugin/types.js +1 -1
  238. package/dist/indexer/ann-index.d.ts +15 -4
  239. package/dist/indexer/ann-index.d.ts.map +1 -1
  240. package/dist/indexer/ann-index.js +31 -9
  241. package/dist/indexer/ann-index.js.map +1 -1
  242. package/dist/indexer/cluster-orchestrator.d.ts.map +1 -1
  243. package/dist/indexer/cluster-orchestrator.js +17 -3
  244. package/dist/indexer/cluster-orchestrator.js.map +1 -1
  245. package/dist/indexer/embeddings.d.ts +6 -0
  246. package/dist/indexer/embeddings.d.ts.map +1 -1
  247. package/dist/indexer/embeddings.js +32 -38
  248. package/dist/indexer/embeddings.js.map +1 -1
  249. package/dist/indexer/fileScanner.d.ts.map +1 -1
  250. package/dist/indexer/fileScanner.js +7 -9
  251. package/dist/indexer/fileScanner.js.map +1 -1
  252. package/dist/indexer/import-resolution/csharp-adapter.d.ts.map +1 -1
  253. package/dist/indexer/import-resolution/csharp-adapter.js +5 -6
  254. package/dist/indexer/import-resolution/csharp-adapter.js.map +1 -1
  255. package/dist/indexer/import-resolution/go-adapter.d.ts.map +1 -1
  256. package/dist/indexer/import-resolution/go-adapter.js +5 -7
  257. package/dist/indexer/import-resolution/go-adapter.js.map +1 -1
  258. package/dist/indexer/import-resolution/java-kotlin-adapter.d.ts.map +1 -1
  259. package/dist/indexer/import-resolution/java-kotlin-adapter.js +5 -6
  260. package/dist/indexer/import-resolution/java-kotlin-adapter.js.map +1 -1
  261. package/dist/indexer/import-resolution/php-adapter.js +0 -1
  262. package/dist/indexer/import-resolution/php-adapter.js.map +1 -1
  263. package/dist/indexer/import-resolution/rust-adapter.js +0 -1
  264. package/dist/indexer/import-resolution/rust-adapter.js.map +1 -1
  265. package/dist/indexer/indexer-init.d.ts +2 -1
  266. package/dist/indexer/indexer-init.d.ts.map +1 -1
  267. package/dist/indexer/indexer-init.js +0 -6
  268. package/dist/indexer/indexer-init.js.map +1 -1
  269. package/dist/indexer/indexer-pass1.d.ts.map +1 -1
  270. package/dist/indexer/indexer-pass1.js +9 -1
  271. package/dist/indexer/indexer-pass1.js.map +1 -1
  272. package/dist/indexer/indexer-pass2.d.ts +1 -0
  273. package/dist/indexer/indexer-pass2.d.ts.map +1 -1
  274. package/dist/indexer/indexer-pass2.js +3 -1
  275. package/dist/indexer/indexer-pass2.js.map +1 -1
  276. package/dist/indexer/indexer.d.ts +1 -1
  277. package/dist/indexer/indexer.d.ts.map +1 -1
  278. package/dist/indexer/indexer.js +7 -4
  279. package/dist/indexer/indexer.js.map +1 -1
  280. package/dist/indexer/metrics-updater.d.ts +11 -0
  281. package/dist/indexer/metrics-updater.d.ts.map +1 -1
  282. package/dist/indexer/metrics-updater.js +63 -4
  283. package/dist/indexer/metrics-updater.js.map +1 -1
  284. package/dist/indexer/model-registry.d.ts.map +1 -1
  285. package/dist/indexer/model-registry.js +5 -2
  286. package/dist/indexer/model-registry.js.map +1 -1
  287. package/dist/indexer/parser/build-rows.d.ts +13 -0
  288. package/dist/indexer/parser/build-rows.d.ts.map +1 -0
  289. package/dist/indexer/parser/build-rows.js +236 -0
  290. package/dist/indexer/parser/build-rows.js.map +1 -0
  291. package/dist/indexer/parser/early-exit.d.ts +20 -0
  292. package/dist/indexer/parser/early-exit.d.ts.map +1 -0
  293. package/dist/indexer/parser/early-exit.js +117 -0
  294. package/dist/indexer/parser/early-exit.js.map +1 -0
  295. package/dist/indexer/parser/parse-and-extract.d.ts +25 -0
  296. package/dist/indexer/parser/parse-and-extract.d.ts.map +1 -0
  297. package/dist/indexer/parser/parse-and-extract.js +78 -0
  298. package/dist/indexer/parser/parse-and-extract.js.map +1 -0
  299. package/dist/indexer/parser/process-file.d.ts +3 -38
  300. package/dist/indexer/parser/process-file.d.ts.map +1 -1
  301. package/dist/indexer/parser/process-file.js +97 -439
  302. package/dist/indexer/parser/process-file.js.map +1 -1
  303. package/dist/indexer/parser/rust-process-file.d.ts.map +1 -1
  304. package/dist/indexer/parser/rust-process-file.js +71 -262
  305. package/dist/indexer/parser/rust-process-file.js.map +1 -1
  306. package/dist/indexer/parser/symbol-mapping.d.ts +34 -0
  307. package/dist/indexer/parser/symbol-mapping.d.ts.map +1 -0
  308. package/dist/indexer/parser/symbol-mapping.js +124 -0
  309. package/dist/indexer/parser/symbol-mapping.js.map +1 -0
  310. package/dist/indexer/parser/types.d.ts +145 -0
  311. package/dist/indexer/parser/types.d.ts.map +1 -0
  312. package/dist/indexer/parser/types.js +2 -0
  313. package/dist/indexer/parser/types.js.map +1 -0
  314. package/dist/indexer/scanner.d.ts +2 -0
  315. package/dist/indexer/scanner.d.ts.map +1 -1
  316. package/dist/indexer/scanner.js +9 -1
  317. package/dist/indexer/scanner.js.map +1 -1
  318. package/dist/indexer/summaries.d.ts +8 -0
  319. package/dist/indexer/summaries.d.ts.map +1 -1
  320. package/dist/indexer/summaries.js +170 -6
  321. package/dist/indexer/summaries.js.map +1 -1
  322. package/dist/indexer/summary-generator.d.ts.map +1 -1
  323. package/dist/indexer/summary-generator.js +8 -2
  324. package/dist/indexer/summary-generator.js.map +1 -1
  325. package/dist/indexer/summary-transfer.d.ts +35 -0
  326. package/dist/indexer/summary-transfer.d.ts.map +1 -0
  327. package/dist/indexer/summary-transfer.js +184 -0
  328. package/dist/indexer/summary-transfer.js.map +1 -0
  329. package/dist/indexer/ts/tsParser.d.ts.map +1 -1
  330. package/dist/indexer/ts/tsParser.js +5 -13
  331. package/dist/indexer/ts/tsParser.js.map +1 -1
  332. package/dist/indexer/watcher.d.ts.map +1 -1
  333. package/dist/indexer/watcher.js +15 -13
  334. package/dist/indexer/watcher.js.map +1 -1
  335. package/dist/indexer/workerPool.js +2 -2
  336. package/dist/indexer/workerPool.js.map +1 -1
  337. package/dist/live-index/checkpoint-service.d.ts.map +1 -1
  338. package/dist/live-index/checkpoint-service.js +6 -0
  339. package/dist/live-index/checkpoint-service.js.map +1 -1
  340. package/dist/live-index/coordinator.d.ts.map +1 -1
  341. package/dist/live-index/coordinator.js +13 -1
  342. package/dist/live-index/coordinator.js.map +1 -1
  343. package/dist/live-index/idle-monitor.d.ts.map +1 -1
  344. package/dist/live-index/idle-monitor.js +11 -3
  345. package/dist/live-index/idle-monitor.js.map +1 -1
  346. package/dist/live-index/overlay-embedding-cache.d.ts +49 -0
  347. package/dist/live-index/overlay-embedding-cache.d.ts.map +1 -0
  348. package/dist/live-index/overlay-embedding-cache.js +115 -0
  349. package/dist/live-index/overlay-embedding-cache.js.map +1 -0
  350. package/dist/live-index/overlay-merge.d.ts +2 -0
  351. package/dist/live-index/overlay-merge.d.ts.map +1 -1
  352. package/dist/live-index/overlay-merge.js +9 -3
  353. package/dist/live-index/overlay-merge.js.map +1 -1
  354. package/dist/live-index/overlay-reader.d.ts +16 -0
  355. package/dist/live-index/overlay-reader.d.ts.map +1 -1
  356. package/dist/live-index/overlay-reader.js +119 -0
  357. package/dist/live-index/overlay-reader.js.map +1 -1
  358. package/dist/live-index/overlay-store.d.ts +1 -1
  359. package/dist/live-index/overlay-store.d.ts.map +1 -1
  360. package/dist/live-index/overlay-store.js +20 -3
  361. package/dist/live-index/overlay-store.js.map +1 -1
  362. package/dist/live-index/reconcile-worker.d.ts +1 -1
  363. package/dist/live-index/reconcile-worker.d.ts.map +1 -1
  364. package/dist/live-index/reconcile-worker.js +34 -10
  365. package/dist/live-index/reconcile-worker.js.map +1 -1
  366. package/dist/main.js +11 -5
  367. package/dist/main.js.map +1 -1
  368. package/dist/mcp/request-normalization.d.ts.map +1 -1
  369. package/dist/mcp/request-normalization.js +2 -0
  370. package/dist/mcp/request-normalization.js.map +1 -1
  371. package/dist/mcp/telemetry.d.ts +22 -0
  372. package/dist/mcp/telemetry.d.ts.map +1 -1
  373. package/dist/mcp/telemetry.js +31 -3
  374. package/dist/mcp/telemetry.js.map +1 -1
  375. package/dist/mcp/token-usage.d.ts +3 -3
  376. package/dist/mcp/token-usage.js +4 -4
  377. package/dist/mcp/token-usage.js.map +1 -1
  378. package/dist/mcp/tools/agent.d.ts.map +1 -1
  379. package/dist/mcp/tools/agent.js +4 -1
  380. package/dist/mcp/tools/agent.js.map +1 -1
  381. package/dist/mcp/tools/buffer.js +3 -3
  382. package/dist/mcp/tools/code.d.ts.map +1 -1
  383. package/dist/mcp/tools/code.js +1 -1
  384. package/dist/mcp/tools/code.js.map +1 -1
  385. package/dist/mcp/tools/info.d.ts +4 -2
  386. package/dist/mcp/tools/info.d.ts.map +1 -1
  387. package/dist/mcp/tools/info.js +1 -0
  388. package/dist/mcp/tools/info.js.map +1 -1
  389. package/dist/mcp/tools/repo.js +1 -1
  390. package/dist/mcp/tools/repo.js.map +1 -1
  391. package/dist/mcp/tools/runtime-query.d.ts +10 -0
  392. package/dist/mcp/tools/runtime-query.d.ts.map +1 -0
  393. package/dist/mcp/tools/runtime-query.js +43 -0
  394. package/dist/mcp/tools/runtime-query.js.map +1 -0
  395. package/dist/mcp/tools/runtime.d.ts.map +1 -1
  396. package/dist/mcp/tools/runtime.js +190 -23
  397. package/dist/mcp/tools/runtime.js.map +1 -1
  398. package/dist/mcp/tools/slice-wire-format.d.ts.map +1 -1
  399. package/dist/mcp/tools/slice-wire-format.js +10 -0
  400. package/dist/mcp/tools/slice-wire-format.js.map +1 -1
  401. package/dist/mcp/tools/slice.d.ts +2 -1
  402. package/dist/mcp/tools/slice.d.ts.map +1 -1
  403. package/dist/mcp/tools/slice.js +100 -12
  404. package/dist/mcp/tools/slice.js.map +1 -1
  405. package/dist/mcp/tools/summary.js +1 -1
  406. package/dist/mcp/tools/symbol.d.ts.map +1 -1
  407. package/dist/mcp/tools/symbol.js +92 -12
  408. package/dist/mcp/tools/symbol.js.map +1 -1
  409. package/dist/mcp/tools/usage.js +1 -1
  410. package/dist/mcp/tools.d.ts +1471 -9428
  411. package/dist/mcp/tools.d.ts.map +1 -1
  412. package/dist/mcp/tools.js +203 -41
  413. package/dist/mcp/tools.js.map +1 -1
  414. package/dist/memory/file-sync.d.ts.map +1 -1
  415. package/dist/memory/file-sync.js +13 -5
  416. package/dist/memory/file-sync.js.map +1 -1
  417. package/dist/retrieval/evidence.d.ts +17 -0
  418. package/dist/retrieval/evidence.d.ts.map +1 -0
  419. package/dist/retrieval/evidence.js +20 -0
  420. package/dist/retrieval/evidence.js.map +1 -0
  421. package/dist/retrieval/fallback.d.ts +53 -0
  422. package/dist/retrieval/fallback.d.ts.map +1 -0
  423. package/dist/retrieval/fallback.js +141 -0
  424. package/dist/retrieval/fallback.js.map +1 -0
  425. package/dist/retrieval/feedback-boost.d.ts +55 -0
  426. package/dist/retrieval/feedback-boost.d.ts.map +1 -0
  427. package/dist/retrieval/feedback-boost.js +93 -0
  428. package/dist/retrieval/feedback-boost.js.map +1 -0
  429. package/dist/retrieval/index-lifecycle.d.ts +140 -0
  430. package/dist/retrieval/index-lifecycle.d.ts.map +1 -0
  431. package/dist/retrieval/index-lifecycle.js +366 -0
  432. package/dist/retrieval/index-lifecycle.js.map +1 -0
  433. package/dist/retrieval/index.d.ts +17 -0
  434. package/dist/retrieval/index.d.ts.map +1 -0
  435. package/dist/retrieval/index.js +20 -0
  436. package/dist/retrieval/index.js.map +1 -0
  437. package/dist/retrieval/model-mapping.d.ts +53 -0
  438. package/dist/retrieval/model-mapping.d.ts.map +1 -0
  439. package/dist/retrieval/model-mapping.js +65 -0
  440. package/dist/retrieval/model-mapping.js.map +1 -0
  441. package/dist/retrieval/orchestrator.d.ts +34 -0
  442. package/dist/retrieval/orchestrator.d.ts.map +1 -0
  443. package/dist/retrieval/orchestrator.js +668 -0
  444. package/dist/retrieval/orchestrator.js.map +1 -0
  445. package/dist/retrieval/types.d.ts +101 -0
  446. package/dist/retrieval/types.d.ts.map +1 -0
  447. package/dist/retrieval/types.js +9 -0
  448. package/dist/retrieval/types.js.map +1 -0
  449. package/dist/runtime/artifacts.d.ts +28 -0
  450. package/dist/runtime/artifacts.d.ts.map +1 -1
  451. package/dist/runtime/artifacts.js +112 -1
  452. package/dist/runtime/artifacts.js.map +1 -1
  453. package/dist/runtime/executor.d.ts.map +1 -1
  454. package/dist/runtime/executor.js +101 -95
  455. package/dist/runtime/executor.js.map +1 -1
  456. package/dist/runtime/runtimes.d.ts.map +1 -1
  457. package/dist/runtime/runtimes.js +8 -1
  458. package/dist/runtime/runtimes.js.map +1 -1
  459. package/dist/server.d.ts +1 -0
  460. package/dist/server.d.ts.map +1 -1
  461. package/dist/server.js +57 -12
  462. package/dist/server.js.map +1 -1
  463. package/dist/services/summary.d.ts.map +1 -1
  464. package/dist/services/summary.js +50 -8
  465. package/dist/services/summary.js.map +1 -1
  466. package/dist/sync/sync.d.ts.map +1 -1
  467. package/dist/sync/sync.js +8 -0
  468. package/dist/sync/sync.js.map +1 -1
  469. package/dist/ts/diagnostics.d.ts.map +1 -1
  470. package/dist/ts/diagnostics.js +19 -1
  471. package/dist/ts/diagnostics.js.map +1 -1
  472. package/dist/util/concurrency.d.ts.map +1 -1
  473. package/dist/util/concurrency.js +2 -0
  474. package/dist/util/concurrency.js.map +1 -1
  475. package/dist/util/hashing.js +3 -3
  476. package/dist/util/hashing.js.map +1 -1
  477. package/dist/util/logger.d.ts +1 -0
  478. package/dist/util/logger.d.ts.map +1 -1
  479. package/dist/util/logger.js +24 -6
  480. package/dist/util/logger.js.map +1 -1
  481. package/dist/util/paths.d.ts +5 -0
  482. package/dist/util/paths.d.ts.map +1 -1
  483. package/dist/util/paths.js +27 -0
  484. package/dist/util/paths.js.map +1 -1
  485. package/dist/util/safeJson.d.ts +1 -1
  486. package/dist/util/safeJson.d.ts.map +1 -1
  487. package/dist/util/safeJson.js +2 -2
  488. package/dist/util/safeJson.js.map +1 -1
  489. package/dist/util/safeRegex.d.ts.map +1 -1
  490. package/dist/util/safeRegex.js +6 -0
  491. package/dist/util/safeRegex.js.map +1 -1
  492. package/dist/util/tracing.d.ts.map +1 -1
  493. package/dist/util/tracing.js +9 -9
  494. package/dist/util/tracing.js.map +1 -1
  495. package/package.json +36 -40
  496. package/templates/AGENTS.md.template +10 -1
  497. package/templates/CLAUDE.md.template +7 -0
  498. package/templates/CODEX.md.template +6 -0
  499. package/templates/GEMINI.md.template +6 -0
  500. package/templates/OPENCODE.md.template +6 -0
package/README.md CHANGED
@@ -19,6 +19,10 @@
19
19
 
20
20
  ---
21
21
 
22
+
23
+
24
+
25
+
22
26
  <br/>
23
27
 
24
28
  ## What's the problem?
@@ -54,8 +58,8 @@ SDL-MCP fixes this. It indexes your codebase into a searchable **symbol graph**
54
58
  ┌──────────┼──────────┐
55
59
  │ │ │
56
60
  ▼ ▼ ▼
57
- 29 MCP 10 CLI HTTP API
58
- Tools Commands + Graph UI
61
+ 35 MCP 13 CLI HTTP API
62
+ Tools Commands (dev/network)
59
63
 
60
64
 
61
65
  AI Coding Agent
@@ -280,7 +284,7 @@ Raw code access (Rung 4) is **policy-gated**. Agents must provide:
280
284
 
281
285
  Requests that don't meet policy are denied with actionable guidance ("try `getHotPath` with these identifiers instead"). Every access is audit-logged.
282
286
 
283
- The sandboxed runtime execution tool (`sdl.runtime.execute`) has its own governance layer: disabled by default, executable allowlisting, CWD jailing, environment scrubbing, concurrency limits, and timeout enforcement.
287
+ The sandboxed runtime execution tool (`sdl.runtime.execute`) has its own governance layer: disabled by default, executable allowlisting, CWD jailing, environment scrubbing, concurrency limits, and timeout enforcement. The `outputMode` parameter (`"minimal"` | `"summary"` | `"intent"`) defaults to `"minimal"` for ~95% token savings, with `sdl.runtime.queryOutput` enabling on-demand output retrieval when needed.
284
288
 
285
289
  **Why it matters:**
286
290
  - Proof-of-need gating prevents agents from wastefully reading raw code
@@ -311,7 +315,7 @@ The feedback loop (`sdl.agent.feedback`) records which symbols were useful and w
311
315
 
312
316
  ### Sandboxed Runtime Execution
313
317
 
314
- Run tests, linters, and scripts through SDL-MCP's governance layer instead of uncontrolled shell access. Three runtimes (Node.js, Python, Shell), code-mode or args-mode, smart output summarization with keyword-matched excerpts, and gzip artifact persistence.
318
+ Run tests, linters, and scripts through SDL-MCP's governance layer instead of uncontrolled shell access. 16 runtimes (Node.js, Python, Go, Java, Rust, Shell, and more), code-mode or args-mode, smart output summarization with keyword-matched excerpts, and gzip artifact persistence.
315
319
 
316
320
  **Why it matters:**
317
321
  - Run tests, linters, and scripts **under governance** instead of uncontrolled shell access
@@ -358,7 +362,7 @@ Memories are **automatically surfaced** inside graph slices — when an agent bu
358
362
 
359
363
  ### CLI Tool Access — No MCP Server Required
360
364
 
361
- Access all 29 tool actions directly from the command line with `sdl-mcp tool`. No MCP server, transport, or SDK — just your terminal.
365
+ Access all 35 tool actions directly from the command line with `sdl-mcp tool`. No MCP server, transport, or SDK — just your terminal.
362
366
 
363
367
  ```bash
364
368
  # Search for symbols
@@ -385,10 +389,10 @@ Features include typed argument coercion (string, number, boolean, string[], jso
385
389
 
386
390
  ### Tool Gateway — 81% Token Reduction
387
391
 
388
- The tool gateway consolidates all 29 MCP tools into **4 namespace-scoped tools** (`sdl.query`, `sdl.code`, `sdl.repo`, `sdl.agent`), reducing `tools/list` overhead from **~3,742 tokens to ~713 tokens** — an **81% reduction**.
392
+ The tool gateway consolidates all 35 MCP tools into **4 namespace-scoped tools** (`sdl.query`, `sdl.code`, `sdl.repo`, `sdl.agent`), reducing `tools/list` overhead from **~3,742 tokens to ~713 tokens** — an **81% reduction**.
389
393
 
390
394
  ```
391
- Before: 29 tools × full JSON Schema = ~3,742 tokens at conversation start
395
+ Before: 35 tools × full JSON Schema = ~3,742 tokens at conversation start
392
396
  After: 4 tools × thin schema = ~713 tokens at conversation start
393
397
  ─────────────
394
398
  ~3,029 tokens saved per conversation
@@ -398,7 +402,7 @@ Each gateway tool accepts an `action` discriminator field (e.g., `{ action: "sym
398
402
 
399
403
  **Why it matters:**
400
404
  - **81% token reduction** in `tools/list` overhead (~3,742 → ~713 tokens per conversation)
401
- - 29 tools consolidated into 4 namespace-scoped tools for simpler agent selection
405
+ - 35 tools consolidated into 4 namespace-scoped tools for simpler agent selection
402
406
  - Fewer tool choices means faster and more accurate tool dispatch by the agent
403
407
  - Backward-compatible: legacy flat tool names optionally emitted alongside
404
408
 
@@ -410,7 +414,7 @@ Each gateway tool accepts an `action` discriminator field (e.g., `{ action: "sym
410
414
 
411
415
  <br/>
412
416
 
413
- ## All 29 MCP Tools at a Glance
417
+ ## All 35 MCP Tools at a Glance
414
418
 
415
419
  <table>
416
420
  <tr><th>Category</th><th>Tool</th><th>One-Line Description</th></tr>
@@ -458,14 +462,24 @@ Each gateway tool accepts an `action` discriminator field (e.g., `{ action: "sym
458
462
  <tr><td><code>sdl.agent.feedback</code></td><td>Record which symbols were useful or missing</td></tr>
459
463
  <tr><td><code>sdl.agent.feedback.query</code></td><td>Query aggregated feedback statistics</td></tr>
460
464
 
461
- <tr><td><strong>Runtime</strong></td>
462
- <td><code>sdl.runtime.execute</code></td><td>Sandboxed subprocess execution (Node/Python/Shell)</td></tr>
465
+ <tr><td rowspan="2"><strong>Runtime</strong></td>
466
+ <td><code>sdl.runtime.execute</code></td><td>Sandboxed subprocess execution with outputMode (minimal/summary/intent)</td></tr>
467
+ <tr><td><code>sdl.runtime.queryOutput</code></td><td>On-demand retrieval and keyword search of stored output artifacts</td></tr>
463
468
 
464
469
  <tr><td rowspan="4"><strong>Memory</strong></td>
465
470
  <td><code>sdl.memory.store</code></td><td>Store or update a development memory with symbol/file links</td></tr>
466
471
  <tr><td><code>sdl.memory.query</code></td><td>Search memories by text, type, tags, or linked symbols</td></tr>
467
472
  <tr><td><code>sdl.memory.remove</code></td><td>Soft-delete a memory from graph and optionally from disk</td></tr>
468
473
  <tr><td><code>sdl.memory.surface</code></td><td>Auto-surface relevant memories for a task context</td></tr>
474
+
475
+ <tr><td rowspan="2"><strong>Code Mode</strong></td>
476
+ <td><code>sdl.chain</code></td><td>Multi-step tool chaining with budget tracking and ETag caching</td></tr>
477
+ <tr><td><code>sdl.manual</code></td><td>Self-documentation — query usage guide, action schemas, output format reference</td></tr>
478
+
479
+ <tr><td rowspan="3"><strong>Meta</strong></td>
480
+ <td><code>sdl.info</code></td><td>Runtime diagnostics — version, Node.js, platform, database, config paths</td></tr>
481
+ <tr><td><code>sdl.usage.stats</code></td><td>Session and lifetime token savings statistics</td></tr>
482
+ <tr><td><code>sdl.action.search</code></td><td>Search SDL action catalog to discover the right tool for a task</td></tr>
469
483
  </table>
470
484
 
471
485
  [Complete MCP Tools Reference (detailed parameters & responses) →](./docs/mcp-tools-detailed.md)
@@ -484,9 +498,11 @@ Each gateway tool accepts an `action` discriminator field (e.g., `{ action: "sym
484
498
  | `sdl-mcp doctor` | Validate runtime, config, DB, grammars, repo access |
485
499
  | `sdl-mcp index` | Index repositories (with optional `--watch` mode) |
486
500
  | `sdl-mcp serve` | Start MCP server (`--stdio` or `--http`) |
487
- | `sdl-mcp tool` | Access all 25 MCP tool actions directly ([docs](./docs/feature-deep-dives/cli-tool-access.md)) |
501
+ | `sdl-mcp tool` | Access all 35 MCP tool actions directly ([docs](./docs/feature-deep-dives/cli-tool-access.md)) |
502
+ | `sdl-mcp info` | Runtime diagnostics — version, Node.js, platform, database, config |
488
503
  | `sdl-mcp summary` | Generate copy/paste context summaries from the CLI |
489
504
  | `sdl-mcp health` | Compute composite health score with badge/JSON output |
505
+ | `sdl-mcp benchmark` | Run CI regression benchmarks |
490
506
  | `sdl-mcp export` | Export sync artifact |
491
507
  | `sdl-mcp import` | Import sync artifact |
492
508
  | `sdl-mcp pull` | Pull by version/commit with fallback |
@@ -527,7 +543,7 @@ A **VSCode extension** (`sdl-mcp-vscode/`) provides live buffer integration for
527
543
 
528
544
  | Component | Technology |
529
545
  |:----------|:-----------|
530
- | Runtime | Node.js 20+ / TypeScript 5.9+ (strict ESM) |
546
+ | Runtime | Node.js 24+ / TypeScript 5.9+ (strict ESM) |
531
547
  | Graph Database | LadybugDB (embedded, single-file) |
532
548
  | Indexer (default) | Rust via napi-rs (multi-threaded) |
533
549
  | Indexer (fallback) | tree-sitter + tree-sitter-typescript |
@@ -541,17 +557,69 @@ A **VSCode extension** (`sdl-mcp-vscode/`) provides live buffer integration for
541
557
 
542
558
  <br/>
543
559
 
560
+ ## System Architecture
561
+
562
+ ```
563
+ ┌─────────────────────────────────────────────────────────────────────┐
564
+ │ MCP Clients │
565
+ │ Claude Code · Claude Desktop · Cursor · Windsurf · Codex · Gemini │
566
+ └──────────────────────────┬──────────────────────────────────────────┘
567
+ │ stdio / HTTP
568
+ ┌──────────────────────────▼──────────────────────────────────────────┐
569
+ │ Tool Gateway │
570
+ │ 4 namespace-scoped tools (sdl.query, sdl.code, sdl.repo, sdl.agent) │
571
+ │ ← Thin JSON schemas → Double Zod validation → Handler dispatch │
572
+ └───────┬────────┬────────┬────────┬────────┬────────┬────────────────┘
573
+ │ │ │ │ │ │
574
+ ┌───────▼──┐ ┌───▼───┐ ┌─▼──┐ ┌──▼──┐ ┌──▼───┐ ┌──▼──────┐
575
+ │ Symbols │ │Slices │ │Code│ │Delta│ │Agent │ │ Memory │
576
+ │ search │ │build │ │gate│ │diff │ │orch. │ │ store │
577
+ │ getCard │ │refresh│ │skel│ │blast│ │feedbk│ │ query │
578
+ │ getCards │ │spill. │ │hot │ │risk │ │chain │ │ surface │
579
+ └────┬─────┘ └───┬───┘ └─┬──┘ └──┬──┘ └──┬───┘ └──┬─────┘
580
+ │ │ │ │ │ │
581
+ ┌────▼───────────▼───────▼───────▼───────▼────────▼───────┐
582
+ │ Policy Engine │
583
+ │ Proof-of-need gating · Token budgets · Audit logging │
584
+ └──────────────────────────┬──────────────────────────────┘
585
+
586
+ ┌──────────────────────────▼──────────────────────────────┐
587
+ │ LadybugDB (Graph) │
588
+ │ Symbols · Edges · Files · Versions · Clusters · │
589
+ │ Processes · Memories · Metrics │
590
+ └──────────────────────────▲──────────────────────────────┘
591
+
592
+ ┌──────────────────────────┴──────────────────────────────┐
593
+ │ Indexer Pipeline │
594
+ │ ┌─────────────────┐ ┌────────────────────────────┐ │
595
+ │ │ Rust (napi-rs) │ or │ Tree-sitter (TS fallback) │ │
596
+ │ │ default engine │ │ 11 language grammars │ │
597
+ │ └────────┬────────┘ └──────────┬─────────────────┘ │
598
+ │ │ Pass 1: Symbols + Imports + Calls │
599
+ │ │ Pass 2: Cross-file call resolution │
600
+ │ │ Semantic: Embeddings + LLM summaries │
601
+ └───────────┴──────────────────────────────────────────────┘
602
+ ```
603
+
604
+ [Full Architecture Documentation →](./docs/architecture.md)
605
+
606
+ <br/>
607
+
608
+ ---
609
+
610
+ <br/>
611
+
544
612
  ## Documentation
545
613
 
546
614
  | Document | Description |
547
615
  |:---------|:------------|
548
616
  | [Getting Started](./docs/getting-started.md) | Installation, 5-minute setup, MCP client config |
549
- | [MCP Tools Reference](./docs/mcp-tools-detailed.md) | Detailed docs for all 29 tools (parameters, responses, examples) |
617
+ | [MCP Tools Reference](./docs/mcp-tools-detailed.md) | Detailed docs for all 35 tools (parameters, responses, examples) |
550
618
  | [CLI Reference](./docs/cli-reference.md) | All CLI commands and options |
551
619
  | [Configuration Reference](./docs/configuration-reference.md) | Every config option with defaults and guidance |
552
620
  | [Agent Workflows](./docs/agent-workflows.md) | Workflow instructions for CLAUDE.md / AGENTS.md |
553
- | [Architecture](./docs/ARCHITECTURE.md) | Tech stack, data flow, component diagram |
554
- | [Iris Gate Ladder](./docs/IRIS_GATE_LADDER.md) | Context escalation methodology |
621
+ | [Architecture](./docs/architecture.md) | Tech stack, data flow, component diagram |
622
+ | [Iris Gate Ladder](./docs/feature-deep-dives/iris-gate-ladder.md) | Context escalation methodology |
555
623
  | [Troubleshooting](./docs/troubleshooting.md) | Common issues and fixes |
556
624
 
557
625
  ### Feature Deep Dives
@@ -566,11 +634,13 @@ A **VSCode extension** (`sdl-mcp-vscode/`) provides live buffer integration for
566
634
  | [Agent Orchestration](./docs/feature-deep-dives/agent-orchestration.md) | Autopilot mode, feedback loops, portable context summaries |
567
635
  | [Indexing & Languages](./docs/feature-deep-dives/indexing-languages.md) | Rust/TS engines, two-pass architecture, 12-language support |
568
636
  | [Runtime Execution](./docs/feature-deep-dives/runtime-execution.md) | Sandboxed subprocess execution with governance |
569
- | [CLI Tool Access](./docs/feature-deep-dives/cli-tool-access.md) | Direct CLI access to all 29 actions, output formats, stdin piping, scripting |
570
- | [Tool Gateway](./docs/feature-deep-dives/tool-gateway.md) | 29→4 tool consolidation, 81% token reduction, thin schemas, migration guide |
637
+ | [CLI Tool Access](./docs/feature-deep-dives/cli-tool-access.md) | Direct CLI access to all tool actions, output formats, stdin piping, scripting |
638
+ | [Tool Gateway](./docs/feature-deep-dives/tool-gateway.md) | 35→4 tool consolidation, token reduction, thin schemas, migration guide |
571
639
  | [Semantic Engine](./docs/feature-deep-dives/semantic-engine.md) | Pass-2 call resolution, embedding search, LLM summaries, confidence scoring |
572
640
  | [Semantic Embeddings Setup](./docs/feature-deep-dives/semantic-embeddings-setup.md) | Dependencies, model installation, provider configuration, tier-by-tier setup |
641
+ | [Code Mode](./docs/feature-deep-dives/code-mode.md) | Tool chaining (sdl.chain), action discovery, manual reference, one-call workflows |
573
642
  | [Development Memories](./docs/feature-deep-dives/development-memories.md) | Graph-backed cross-session memory, file sync, staleness detection, auto-surfacing |
643
+ | [Token Savings Meter](./docs/feature-deep-dives/token-savings-meter.md) | Per-call meter, session summaries, lifetime tracking, `sdl.usage.stats` |
574
644
 
575
645
  <br/>
576
646
 
@@ -35,11 +35,15 @@
35
35
  "workspaceGlobs": null
36
36
  }
37
37
  ],
38
+ "graphDatabase": {
39
+ "path": "./data/sdl-mcp-graph.lbug"
40
+ },
38
41
  "policy": {
39
42
  "maxWindowLines": 180,
40
43
  "maxWindowTokens": 1400,
41
44
  "requireIdentifiers": true,
42
- "allowBreakGlass": false
45
+ "allowBreakGlass": false,
46
+ "defaultDenyRaw": true
43
47
  },
44
48
  "redaction": {
45
49
  "enabled": true,
@@ -94,7 +98,8 @@
94
98
  "enabled": true,
95
99
  "alpha": 0.6,
96
100
  "provider": "local",
97
- "model": "nomic-embed-text-v1.5",
101
+ "model": "all-MiniLM-L6-v2",
102
+ "modelCacheDir": null,
98
103
  "generateSummaries": false,
99
104
  "summaryProvider": null,
100
105
  "summaryModel": null,
@@ -108,6 +113,34 @@
108
113
  "efConstruction": 200,
109
114
  "efSearch": 50,
110
115
  "maxElements": 200000
116
+ },
117
+ "retrieval": {
118
+ "mode": "legacy",
119
+ "extensionsOptional": true,
120
+ "fts": {
121
+ "enabled": true,
122
+ "indexName": "symbol_search_text_v1",
123
+ "topK": 75,
124
+ "conjunctive": false
125
+ },
126
+ "vector": {
127
+ "enabled": true,
128
+ "topK": 75,
129
+ "efs": 200,
130
+ "indexes": {
131
+ "all-MiniLM-L6-v2": {
132
+ "indexName": "symbol_vec_minilm_l6_v2"
133
+ },
134
+ "nomic-embed-text-v1.5": {
135
+ "indexName": "symbol_vec_nomic_embed_v15"
136
+ }
137
+ }
138
+ },
139
+ "fusion": {
140
+ "strategy": "rrf",
141
+ "rrfK": 60
142
+ },
143
+ "candidateLimit": 100
111
144
  }
112
145
  },
113
146
  "prefetch": {
@@ -116,20 +149,17 @@
116
149
  "warmTopN": 50
117
150
  },
118
151
  "tracing": {
119
- "enabled": false,
152
+ "enabled": true,
120
153
  "serviceName": "sdl-mcp",
121
154
  "exporterType": "console",
122
155
  "otlpEndpoint": null,
123
156
  "sampleRate": 1
124
157
  },
125
158
  "parallelScorer": {
126
- "enabled": false,
159
+ "enabled": true,
127
160
  "poolSize": null,
128
161
  "minBatchSize": null
129
162
  },
130
- "graphDatabase": {
131
- "path": "./data/sdl-mcp-graph.lbug"
132
- },
133
163
  "concurrency": {
134
164
  "maxSessions": 8,
135
165
  "maxToolConcurrency": 8,
@@ -137,17 +167,40 @@
137
167
  "writeQueueTimeoutMs": 30000,
138
168
  "toolQueueTimeoutMs": 30000
139
169
  },
140
- "httpAuth": {
170
+ "runtime": {
171
+ "enabled": false,
172
+ "allowedRuntimes": [
173
+ "node",
174
+ "python"
175
+ ],
176
+ "allowedExecutables": [],
177
+ "maxDurationMs": 30000,
178
+ "maxStdoutBytes": 1048576,
179
+ "maxStderrBytes": 262144,
180
+ "maxArtifactBytes": 10485760,
181
+ "artifactTtlHours": 24,
182
+ "maxConcurrentJobs": 2,
183
+ "envAllowlist": [],
184
+ "artifactBaseDir": null
185
+ },
186
+ "gateway": {
141
187
  "enabled": true,
188
+ "emitLegacyTools": true
189
+ },
190
+ "httpAuth": {
191
+ "enabled": false,
142
192
  "token": null
143
193
  },
144
194
  "codeMode": {
145
- "enabled": false,
146
- "exclusive": false,
195
+ "enabled": true,
196
+ "exclusive": true,
147
197
  "maxChainSteps": 20,
148
198
  "maxChainTokens": 50000,
149
199
  "maxChainDurationMs": 60000,
150
200
  "ladderValidation": "warn",
151
201
  "etagCaching": true
202
+ },
203
+ "security": {
204
+ "allowedRepoRoots": []
152
205
  }
153
206
  }
@@ -37,7 +37,7 @@
37
37
  "maxWindowLines": 180,
38
38
  "maxWindowTokens": 1400,
39
39
  "requireIdentifiers": true,
40
- "allowBreakGlass": true
40
+ "allowBreakGlass": false
41
41
  },
42
42
  "redaction": {
43
43
  "enabled": true,
@@ -66,7 +66,7 @@
66
66
  "generateSummaries": false
67
67
  },
68
68
  "prefetch": {
69
- "enabled": false,
69
+ "enabled": true,
70
70
  "maxBudgetPercent": 20,
71
71
  "warmTopN": 50
72
72
  }