sdl-mcp 0.11.13 → 0.12.1

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 (211) hide show
  1. package/README.md +4 -4
  2. package/config/sdlmcp.config.example.json +3 -3
  3. package/config/sdlmcp.config.schema.json +11 -7
  4. package/dist/.tsbuildinfo +1 -1
  5. package/dist/agent/context-seeding.d.ts +14 -0
  6. package/dist/agent/context-seeding.d.ts.map +1 -1
  7. package/dist/agent/context-seeding.js +118 -4
  8. package/dist/agent/context-seeding.js.map +1 -1
  9. package/dist/cli/commands/index.d.ts +10 -0
  10. package/dist/cli/commands/index.d.ts.map +1 -1
  11. package/dist/cli/commands/index.js +20 -3
  12. package/dist/cli/commands/index.js.map +1 -1
  13. package/dist/cli/commands/init.d.ts +1 -1
  14. package/dist/cli/commands/init.js +7 -7
  15. package/dist/cli/commands/tool-actions.d.ts.map +1 -1
  16. package/dist/cli/commands/tool-actions.js +58 -3
  17. package/dist/cli/commands/tool-actions.js.map +1 -1
  18. package/dist/code-mode/action-catalog.d.ts +9 -0
  19. package/dist/code-mode/action-catalog.d.ts.map +1 -1
  20. package/dist/code-mode/action-catalog.js +18 -4
  21. package/dist/code-mode/action-catalog.js.map +1 -1
  22. package/dist/code-mode/descriptions.d.ts +1 -0
  23. package/dist/code-mode/descriptions.d.ts.map +1 -1
  24. package/dist/code-mode/descriptions.js +5 -1
  25. package/dist/code-mode/descriptions.js.map +1 -1
  26. package/dist/code-mode/etag-cache.d.ts +9 -2
  27. package/dist/code-mode/etag-cache.d.ts.map +1 -1
  28. package/dist/code-mode/etag-cache.js +45 -2
  29. package/dist/code-mode/etag-cache.js.map +1 -1
  30. package/dist/code-mode/index.d.ts +8 -0
  31. package/dist/code-mode/index.d.ts.map +1 -1
  32. package/dist/code-mode/index.js +39 -8
  33. package/dist/code-mode/index.js.map +1 -1
  34. package/dist/code-mode/manual-generator.d.ts.map +1 -1
  35. package/dist/code-mode/manual-generator.js +24 -21
  36. package/dist/code-mode/manual-generator.js.map +1 -1
  37. package/dist/code-mode/ref-resolver.d.ts.map +1 -1
  38. package/dist/code-mode/ref-resolver.js +30 -6
  39. package/dist/code-mode/ref-resolver.js.map +1 -1
  40. package/dist/code-mode/retrieve.d.ts +44 -0
  41. package/dist/code-mode/retrieve.d.ts.map +1 -0
  42. package/dist/code-mode/retrieve.js +68 -0
  43. package/dist/code-mode/retrieve.js.map +1 -0
  44. package/dist/code-mode/types.d.ts +7 -3
  45. package/dist/code-mode/types.d.ts.map +1 -1
  46. package/dist/code-mode/types.js +4 -2
  47. package/dist/code-mode/types.js.map +1 -1
  48. package/dist/code-mode/workflow-executor.d.ts.map +1 -1
  49. package/dist/code-mode/workflow-executor.js +88 -11
  50. package/dist/code-mode/workflow-executor.js.map +1 -1
  51. package/dist/code-mode/workflow-parser.d.ts +1 -1
  52. package/dist/code-mode/workflow-parser.d.ts.map +1 -1
  53. package/dist/code-mode/workflow-parser.js +32 -3
  54. package/dist/code-mode/workflow-parser.js.map +1 -1
  55. package/dist/code-mode/workflow-truncation.d.ts +0 -5
  56. package/dist/code-mode/workflow-truncation.d.ts.map +1 -1
  57. package/dist/code-mode/workflow-truncation.js +53 -1
  58. package/dist/code-mode/workflow-truncation.js.map +1 -1
  59. package/dist/config/types.d.ts +7 -7
  60. package/dist/config/types.d.ts.map +1 -1
  61. package/dist/config/types.js +6 -6
  62. package/dist/config/types.js.map +1 -1
  63. package/dist/db/ladybug-edges.d.ts +12 -0
  64. package/dist/db/ladybug-edges.d.ts.map +1 -1
  65. package/dist/db/ladybug-edges.js +26 -0
  66. package/dist/db/ladybug-edges.js.map +1 -1
  67. package/dist/domain/types.d.ts +4 -0
  68. package/dist/domain/types.d.ts.map +1 -1
  69. package/dist/gateway/descriptions.d.ts.map +1 -1
  70. package/dist/gateway/descriptions.js +5 -5
  71. package/dist/gateway/descriptions.js.map +1 -1
  72. package/dist/gateway/schemas.d.ts +46 -2
  73. package/dist/gateway/schemas.d.ts.map +1 -1
  74. package/dist/gateway/schemas.js +25 -8
  75. package/dist/gateway/schemas.js.map +1 -1
  76. package/dist/graph/overview.js +9 -1
  77. package/dist/graph/overview.js.map +1 -1
  78. package/dist/graph/prefetch.d.ts +1 -0
  79. package/dist/graph/prefetch.d.ts.map +1 -1
  80. package/dist/graph/prefetch.js +5 -1
  81. package/dist/graph/prefetch.js.map +1 -1
  82. package/dist/indexer/summary-generator.d.ts +6 -0
  83. package/dist/indexer/summary-generator.d.ts.map +1 -1
  84. package/dist/indexer/summary-generator.js +241 -86
  85. package/dist/indexer/summary-generator.js.map +1 -1
  86. package/dist/indexer/symbol-embedding-text.d.ts +5 -10
  87. package/dist/indexer/symbol-embedding-text.d.ts.map +1 -1
  88. package/dist/indexer/symbol-embedding-text.js +200 -0
  89. package/dist/indexer/symbol-embedding-text.js.map +1 -1
  90. package/dist/live-index/coordinator.js +1 -1
  91. package/dist/live-index/coordinator.js.map +1 -1
  92. package/dist/mcp/context-response-projection.d.ts +0 -10
  93. package/dist/mcp/context-response-projection.d.ts.map +1 -1
  94. package/dist/mcp/context-response-projection.js +536 -35
  95. package/dist/mcp/context-response-projection.js.map +1 -1
  96. package/dist/mcp/response-compression.d.ts +3 -0
  97. package/dist/mcp/response-compression.d.ts.map +1 -1
  98. package/dist/mcp/response-compression.js +21 -14
  99. package/dist/mcp/response-compression.js.map +1 -1
  100. package/dist/mcp/server-instructions.js +7 -7
  101. package/dist/mcp/server-instructions.js.map +1 -1
  102. package/dist/mcp/token-usage.d.ts +5 -0
  103. package/dist/mcp/token-usage.d.ts.map +1 -1
  104. package/dist/mcp/token-usage.js +17 -0
  105. package/dist/mcp/token-usage.js.map +1 -1
  106. package/dist/mcp/tool-call-formatter.d.ts.map +1 -1
  107. package/dist/mcp/tool-call-formatter.js +42 -12
  108. package/dist/mcp/tool-call-formatter.js.map +1 -1
  109. package/dist/mcp/tools/buffer.d.ts +1 -0
  110. package/dist/mcp/tools/buffer.d.ts.map +1 -1
  111. package/dist/mcp/tools/buffer.js +33 -1
  112. package/dist/mcp/tools/buffer.js.map +1 -1
  113. package/dist/mcp/tools/code.d.ts +6 -0
  114. package/dist/mcp/tools/code.d.ts.map +1 -1
  115. package/dist/mcp/tools/code.js +92 -13
  116. package/dist/mcp/tools/code.js.map +1 -1
  117. package/dist/mcp/tools/file-gateway.d.ts +50 -4
  118. package/dist/mcp/tools/file-gateway.d.ts.map +1 -1
  119. package/dist/mcp/tools/file-gateway.js +11 -10
  120. package/dist/mcp/tools/file-gateway.js.map +1 -1
  121. package/dist/mcp/tools/policy.d.ts +17 -0
  122. package/dist/mcp/tools/policy.d.ts.map +1 -1
  123. package/dist/mcp/tools/policy.js +18 -6
  124. package/dist/mcp/tools/policy.js.map +1 -1
  125. package/dist/mcp/tools/prRisk.d.ts +18 -1
  126. package/dist/mcp/tools/prRisk.d.ts.map +1 -1
  127. package/dist/mcp/tools/prRisk.js +95 -7
  128. package/dist/mcp/tools/prRisk.js.map +1 -1
  129. package/dist/mcp/tools/repo.d.ts.map +1 -1
  130. package/dist/mcp/tools/repo.js +73 -25
  131. package/dist/mcp/tools/repo.js.map +1 -1
  132. package/dist/mcp/tools/response.d.ts.map +1 -1
  133. package/dist/mcp/tools/response.js +17 -2
  134. package/dist/mcp/tools/response.js.map +1 -1
  135. package/dist/mcp/tools/runtime.d.ts +8 -1
  136. package/dist/mcp/tools/runtime.d.ts.map +1 -1
  137. package/dist/mcp/tools/runtime.js +84 -15
  138. package/dist/mcp/tools/runtime.js.map +1 -1
  139. package/dist/mcp/tools/search-edit/index.d.ts.map +1 -1
  140. package/dist/mcp/tools/search-edit/index.js +32 -8
  141. package/dist/mcp/tools/search-edit/index.js.map +1 -1
  142. package/dist/mcp/tools/search-edit/planner.d.ts +52 -2
  143. package/dist/mcp/tools/search-edit/planner.d.ts.map +1 -1
  144. package/dist/mcp/tools/search-edit/planner.js +48 -17
  145. package/dist/mcp/tools/search-edit/planner.js.map +1 -1
  146. package/dist/mcp/tools/search-edit/rename.d.ts +20 -0
  147. package/dist/mcp/tools/search-edit/rename.d.ts.map +1 -0
  148. package/dist/mcp/tools/search-edit/rename.js +107 -0
  149. package/dist/mcp/tools/search-edit/rename.js.map +1 -0
  150. package/dist/mcp/tools/search-edit/signature.d.ts +26 -0
  151. package/dist/mcp/tools/search-edit/signature.d.ts.map +1 -0
  152. package/dist/mcp/tools/search-edit/signature.js +421 -0
  153. package/dist/mcp/tools/search-edit/signature.js.map +1 -0
  154. package/dist/mcp/tools/search-edit/structural.d.ts +6 -0
  155. package/dist/mcp/tools/search-edit/structural.d.ts.map +1 -1
  156. package/dist/mcp/tools/search-edit/structural.js +10 -0
  157. package/dist/mcp/tools/search-edit/structural.js.map +1 -1
  158. package/dist/mcp/tools/semantic-enrichment.d.ts +2 -0
  159. package/dist/mcp/tools/semantic-enrichment.d.ts.map +1 -1
  160. package/dist/mcp/tools/semantic-enrichment.js +37 -1
  161. package/dist/mcp/tools/semantic-enrichment.js.map +1 -1
  162. package/dist/mcp/tools/symbol-edit/ast.d.ts.map +1 -1
  163. package/dist/mcp/tools/symbol-edit/ast.js +4 -1
  164. package/dist/mcp/tools/symbol-edit/ast.js.map +1 -1
  165. package/dist/mcp/tools/symbol-edit/index.d.ts.map +1 -1
  166. package/dist/mcp/tools/symbol-edit/index.js +0 -1
  167. package/dist/mcp/tools/symbol-edit/index.js.map +1 -1
  168. package/dist/mcp/tools/symbol.d.ts.map +1 -1
  169. package/dist/mcp/tools/symbol.js +23 -3
  170. package/dist/mcp/tools/symbol.js.map +1 -1
  171. package/dist/mcp/tools/tool-descriptors.d.ts +1 -0
  172. package/dist/mcp/tools/tool-descriptors.d.ts.map +1 -1
  173. package/dist/mcp/tools/tool-descriptors.js +6 -3
  174. package/dist/mcp/tools/tool-descriptors.js.map +1 -1
  175. package/dist/mcp/tools/usage.d.ts.map +1 -1
  176. package/dist/mcp/tools/usage.js +5 -0
  177. package/dist/mcp/tools/usage.js.map +1 -1
  178. package/dist/mcp/tools.d.ts +259 -156
  179. package/dist/mcp/tools.d.ts.map +1 -1
  180. package/dist/mcp/tools.js +210 -75
  181. package/dist/mcp/tools.js.map +1 -1
  182. package/dist/observability/aggregator.d.ts +3 -0
  183. package/dist/observability/aggregator.d.ts.map +1 -1
  184. package/dist/observability/aggregator.js +27 -0
  185. package/dist/observability/aggregator.js.map +1 -1
  186. package/dist/observability/event-tap.d.ts +6 -0
  187. package/dist/observability/event-tap.d.ts.map +1 -1
  188. package/dist/observability/event-tap.js.map +1 -1
  189. package/dist/observability/types.d.ts +9 -0
  190. package/dist/observability/types.d.ts.map +1 -1
  191. package/dist/observability/types.js.map +1 -1
  192. package/dist/runtime/executor.d.ts +6 -0
  193. package/dist/runtime/executor.d.ts.map +1 -1
  194. package/dist/runtime/executor.js +16 -8
  195. package/dist/runtime/executor.js.map +1 -1
  196. package/dist/runtime/response-artifacts.d.ts +14 -2
  197. package/dist/runtime/response-artifacts.d.ts.map +1 -1
  198. package/dist/runtime/response-artifacts.js +66 -17
  199. package/dist/runtime/response-artifacts.js.map +1 -1
  200. package/dist/runtime/runtimes.d.ts.map +1 -1
  201. package/dist/runtime/runtimes.js +15 -0
  202. package/dist/runtime/runtimes.js.map +1 -1
  203. package/dist/semantic/enrichment.d.ts +2 -0
  204. package/dist/semantic/enrichment.d.ts.map +1 -1
  205. package/dist/semantic/enrichment.js.map +1 -1
  206. package/dist/server.d.ts +2 -2
  207. package/dist/server.d.ts.map +1 -1
  208. package/dist/server.js +123 -25
  209. package/dist/server.js.map +1 -1
  210. package/package.json +14 -8
  211. package/templates/SDL.md +25 -16
package/README.md CHANGED
@@ -144,7 +144,7 @@ Cards include **confidence-scored call resolution** (the pass-2 resolver traces
144
144
  - Confidence-scored dependency edges trace real call relationships across files
145
145
  - Community detection and call-chain tracing reveal architectural structure
146
146
  - ETag-based conditional requests avoid re-fetching unchanged symbols
147
- - Workflow ETag caching now seeds `slice.build` with `knownCardEtags` so repeated slice builds can skip unchanged cards
147
+ - Workflow ETag caching now seeds `slice.build` internally so repeated slice builds can skip unchanged cards automatically
148
148
 
149
149
  [Indexing & Language Support Deep Dive →](./docs/feature-deep-dives/indexing-languages.md)
150
150
 
@@ -402,8 +402,8 @@ The generated source of truth is [`docs/generated/tool-inventory.md`](./docs/gen
402
402
 
403
403
  <tr><td rowspan="3"><strong>Code Access</strong></td>
404
404
  <td><code>sdl.code.getSkeleton</code></td><td>Signatures + control flow, bodies elided, with conditional ETag fetch support</td></tr>
405
- <tr><td><code>sdl.code.getHotPath</code></td><td>Lines matching specific identifiers + context, with conditional ETag fetch support</td></tr>
406
- <tr><td><code>sdl.code.needWindow</code></td><td>Full source code (policy-gated, requires justification)</td></tr>
405
+ <tr><td><code>sdl.code.getHotPath</code></td><td>Lines matching specific identifiers + context by <code>symbolId</code> or <code>symbolRef</code>, with conditional ETag fetch support</td></tr>
406
+ <tr><td><code>sdl.code.needWindow</code></td><td>Full source code by <code>symbolId</code> or <code>symbolRef</code> (policy-gated, requires justification)</td></tr>
407
407
 
408
408
  <tr><td><strong>Deltas</strong></td>
409
409
  <td><code>sdl.delta.get</code></td><td>Semantic diff + blast radius between versions</td></tr>
@@ -420,7 +420,7 @@ The generated source of truth is [`docs/generated/tool-inventory.md`](./docs/gen
420
420
  <tr><td><code>sdl.agent.feedback.query</code></td><td>Query aggregated feedback statistics</td></tr>
421
421
 
422
422
  <tr><td rowspan="2"><strong>Runtime</strong></td>
423
- <td><code>sdl.runtime.execute</code></td><td>Sandboxed subprocess execution with outputMode (minimal/summary/intent)</td></tr>
423
+ <td><code>sdl.runtime.execute</code></td><td>Sandboxed subprocess execution with outputMode (minimal/summary/intent) and compact corrective hints</td></tr>
424
424
  <tr><td><code>sdl.runtime.queryOutput</code></td><td>On-demand retrieval and keyword search of stored output artifacts</td></tr>
425
425
 
426
426
  <tr><td rowspan="4"><strong>Memory</strong></td>
@@ -157,8 +157,8 @@
157
157
  "symbolEmbeddingModels": ["jina-embeddings-v2-base-code"],
158
158
  "fileSummaryEmbeddingModels": ["nomic-embed-text-v1.5"],
159
159
  "modelCacheDir": null,
160
- "generateSummaries": false,
161
- "summaryProvider": null,
160
+ "generateSummaries": true,
161
+ "summaryProvider": "mock",
162
162
  "summaryModel": null,
163
163
  "summaryApiKey": null,
164
164
  "summaryApiBaseUrl": null,
@@ -271,7 +271,7 @@
271
271
  },
272
272
  "runtime": {
273
273
  "enabled": true,
274
- "allowedRuntimes": ["node", "typescript", "python", "shell"],
274
+ "allowedRuntimes": ["node", "typescript", "python", "shell", "powershell"],
275
275
  "allowedExecutables": [],
276
276
  "maxDurationMs": 30000,
277
277
  "maxStdoutBytes": 1048576,
@@ -820,13 +820,16 @@
820
820
  },
821
821
  "generateSummaries": {
822
822
  "type": "boolean",
823
- "default": false
823
+ "default": true
824
824
  },
825
825
  "summaryProvider": {
826
- "type": "string",
827
- "enum": ["api", "local", "mock"],
828
- "description": "Summary LLM backend, independent from the embedding provider. 'api' = Anthropic, 'local' = OpenAI-compatible (Ollama), 'mock' = deterministic. Defaults to the embedding 'provider' value."
826
+ "type": ["string", "null"],
827
+ "enum": ["api", "local", "mock", null],
828
+ "default": "mock",
829
+ "description": "Summary backend, independent from the embedding provider. 'api' = Anthropic, 'local' = OpenAI-compatible (Ollama), 'mock' = deterministic concise prose. Null is treated as unset and resolves to 'mock'."
829
830
  },
831
+
832
+
830
833
  "summaryModel": {
831
834
  "type": "string",
832
835
  "description": "Model name for summary generation. Defaults per-provider: 'api' uses 'claude-haiku-4-5-20251001', 'local' uses 'gpt-4o-mini'."
@@ -1084,7 +1087,8 @@
1084
1087
  "embeddingProfile": "specialized",
1085
1088
  "symbolEmbeddingModels": ["jina-embeddings-v2-base-code"],
1086
1089
  "fileSummaryEmbeddingModels": ["nomic-embed-text-v1.5"],
1087
- "generateSummaries": false,
1090
+ "generateSummaries": true,
1091
+ "summaryProvider": "mock",
1088
1092
  "summaryModel": "claude-haiku-4-5-20251001",
1089
1093
  "summaryMaxConcurrency": 5,
1090
1094
  "summaryBatchSize": 20,
@@ -1546,7 +1550,7 @@
1546
1550
  "type": "array",
1547
1551
  "description": "List of allowed runtime environments",
1548
1552
  "items": { "type": "string" },
1549
- "default": ["node", "python"]
1553
+ "default": ["node", "typescript", "python", "shell", "powershell"]
1550
1554
  },
1551
1555
  "allowedExecutables": {
1552
1556
  "type": "array",
@@ -1625,7 +1629,7 @@
1625
1629
  },
1626
1630
  "default": {
1627
1631
  "enabled": true,
1628
- "allowedRuntimes": ["node", "typescript", "python", "shell"],
1632
+ "allowedRuntimes": ["node", "typescript", "python", "shell", "powershell"],
1629
1633
  "allowedExecutables": [],
1630
1634
  "maxDurationMs": 30000,
1631
1635
  "maxConcurrentJobs": 2,