sdl-mcp 0.10.4 → 0.10.5

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 (181) hide show
  1. package/README.md +5 -5
  2. package/config/sdlmcp.config.example.json +4 -4
  3. package/config/sdlmcp.config.json +5 -19
  4. package/config/sdlmcp.config.schema.json +10 -12
  5. package/dist/.tsbuildinfo +1 -1
  6. package/dist/agent/context-engine.d.ts.map +1 -1
  7. package/dist/agent/context-engine.js +2 -0
  8. package/dist/agent/context-engine.js.map +1 -1
  9. package/dist/agent/types.d.ts +2 -0
  10. package/dist/agent/types.d.ts.map +1 -1
  11. package/dist/cli/argParsing.js +2 -2
  12. package/dist/cli/argParsing.js.map +1 -1
  13. package/dist/cli/commands/doctor.js +2 -2
  14. package/dist/cli/commands/doctor.js.map +1 -1
  15. package/dist/cli/commands/index.d.ts.map +1 -1
  16. package/dist/cli/commands/index.js +50 -7
  17. package/dist/cli/commands/index.js.map +1 -1
  18. package/dist/cli/commands/init.js +8 -8
  19. package/dist/cli/commands/serve.d.ts.map +1 -1
  20. package/dist/cli/commands/serve.js +13 -2
  21. package/dist/cli/commands/serve.js.map +1 -1
  22. package/dist/cli/commands/tool-actions.d.ts.map +1 -1
  23. package/dist/cli/commands/tool-actions.js +0 -115
  24. package/dist/cli/commands/tool-actions.js.map +1 -1
  25. package/dist/cli/transport/http.d.ts.map +1 -1
  26. package/dist/cli/transport/http.js +2 -1
  27. package/dist/cli/transport/http.js.map +1 -1
  28. package/dist/code-mode/action-catalog.d.ts +0 -4
  29. package/dist/code-mode/action-catalog.d.ts.map +1 -1
  30. package/dist/code-mode/action-catalog.js +65 -48
  31. package/dist/code-mode/action-catalog.js.map +1 -1
  32. package/dist/code-mode/descriptions.js +2 -2
  33. package/dist/code-mode/descriptions.js.map +1 -1
  34. package/dist/code-mode/etag-cache.d.ts.map +1 -1
  35. package/dist/code-mode/etag-cache.js +23 -19
  36. package/dist/code-mode/etag-cache.js.map +1 -1
  37. package/dist/code-mode/index.d.ts +1 -0
  38. package/dist/code-mode/index.d.ts.map +1 -1
  39. package/dist/code-mode/index.js +38 -1
  40. package/dist/code-mode/index.js.map +1 -1
  41. package/dist/code-mode/ladder-validator.d.ts.map +1 -1
  42. package/dist/code-mode/ladder-validator.js +0 -1
  43. package/dist/code-mode/ladder-validator.js.map +1 -1
  44. package/dist/code-mode/manual-generator.d.ts.map +1 -1
  45. package/dist/code-mode/manual-generator.js +12 -10
  46. package/dist/code-mode/manual-generator.js.map +1 -1
  47. package/dist/code-mode/transforms.d.ts.map +1 -1
  48. package/dist/code-mode/transforms.js +29 -3
  49. package/dist/code-mode/transforms.js.map +1 -1
  50. package/dist/code-mode/types.d.ts +14 -0
  51. package/dist/code-mode/types.d.ts.map +1 -1
  52. package/dist/code-mode/types.js +2 -0
  53. package/dist/code-mode/types.js.map +1 -1
  54. package/dist/code-mode/workflow-executor.d.ts.map +1 -1
  55. package/dist/code-mode/workflow-executor.js +44 -0
  56. package/dist/code-mode/workflow-executor.js.map +1 -1
  57. package/dist/code-mode/workflow-parser.d.ts +7 -0
  58. package/dist/code-mode/workflow-parser.d.ts.map +1 -1
  59. package/dist/code-mode/workflow-parser.js +3 -2
  60. package/dist/code-mode/workflow-parser.js.map +1 -1
  61. package/dist/config/types.d.ts +1 -1
  62. package/dist/config/types.d.ts.map +1 -1
  63. package/dist/config/types.js +3 -4
  64. package/dist/config/types.js.map +1 -1
  65. package/dist/db/ladybug-file-summaries.d.ts +4 -4
  66. package/dist/db/ladybug-file-summaries.d.ts.map +1 -1
  67. package/dist/db/ladybug-file-summaries.js +7 -7
  68. package/dist/db/ladybug-schema.d.ts.map +1 -1
  69. package/dist/db/ladybug-schema.js +15 -22
  70. package/dist/db/ladybug-schema.js.map +1 -1
  71. package/dist/db/ladybug-symbol-embeddings.d.ts +1 -1
  72. package/dist/delta/blastRadius.d.ts.map +1 -1
  73. package/dist/delta/blastRadius.js +66 -0
  74. package/dist/delta/blastRadius.js.map +1 -1
  75. package/dist/domain/types.d.ts +11 -0
  76. package/dist/domain/types.d.ts.map +1 -1
  77. package/dist/gateway/descriptions.d.ts.map +1 -1
  78. package/dist/gateway/descriptions.js +3 -5
  79. package/dist/gateway/descriptions.js.map +1 -1
  80. package/dist/gateway/legacy.d.ts.map +1 -1
  81. package/dist/gateway/legacy.js +2 -7
  82. package/dist/gateway/legacy.js.map +1 -1
  83. package/dist/gateway/router.d.ts.map +1 -1
  84. package/dist/gateway/router.js +7 -16
  85. package/dist/gateway/router.js.map +1 -1
  86. package/dist/gateway/schemas.d.ts +3 -56
  87. package/dist/gateway/schemas.d.ts.map +1 -1
  88. package/dist/gateway/schemas.js +0 -57
  89. package/dist/gateway/schemas.js.map +1 -1
  90. package/dist/graph/prefetch-model.d.ts.map +1 -1
  91. package/dist/graph/prefetch-model.js +0 -1
  92. package/dist/graph/prefetch-model.js.map +1 -1
  93. package/dist/graph/slice/truncation-handler.d.ts +11 -0
  94. package/dist/graph/slice/truncation-handler.d.ts.map +1 -1
  95. package/dist/graph/slice/truncation-handler.js.map +1 -1
  96. package/dist/graph/slice.d.ts.map +1 -1
  97. package/dist/graph/slice.js +20 -0
  98. package/dist/graph/slice.js.map +1 -1
  99. package/dist/indexer/embeddings-local.js +2 -2
  100. package/dist/indexer/embeddings-local.js.map +1 -1
  101. package/dist/indexer/embeddings.d.ts +2 -2
  102. package/dist/indexer/embeddings.js +4 -4
  103. package/dist/indexer/embeddings.js.map +1 -1
  104. package/dist/indexer/indexer.d.ts.map +1 -1
  105. package/dist/indexer/indexer.js +8 -5
  106. package/dist/indexer/indexer.js.map +1 -1
  107. package/dist/indexer/metrics-updater.js +1 -1
  108. package/dist/indexer/metrics-updater.js.map +1 -1
  109. package/dist/indexer/model-downloader.d.ts.map +1 -1
  110. package/dist/indexer/model-downloader.js +5 -7
  111. package/dist/indexer/model-downloader.js.map +1 -1
  112. package/dist/indexer/model-registry.d.ts.map +1 -1
  113. package/dist/indexer/model-registry.js +5 -21
  114. package/dist/indexer/model-registry.js.map +1 -1
  115. package/dist/mcp/context-response-projection.js +1 -1
  116. package/dist/mcp/context-response-projection.js.map +1 -1
  117. package/dist/mcp/hooks/memory-hint.js +2 -2
  118. package/dist/mcp/hooks/memory-hint.js.map +1 -1
  119. package/dist/mcp/telemetry.d.ts +1 -1
  120. package/dist/mcp/telemetry.d.ts.map +1 -1
  121. package/dist/mcp/tool-call-formatter.d.ts.map +1 -1
  122. package/dist/mcp/tool-call-formatter.js +7 -10
  123. package/dist/mcp/tool-call-formatter.js.map +1 -1
  124. package/dist/mcp/tools/code.d.ts.map +1 -1
  125. package/dist/mcp/tools/code.js +10 -1
  126. package/dist/mcp/tools/code.js.map +1 -1
  127. package/dist/mcp/tools/context.d.ts.map +1 -1
  128. package/dist/mcp/tools/context.js +1 -0
  129. package/dist/mcp/tools/context.js.map +1 -1
  130. package/dist/mcp/tools/file-read.js +2 -2
  131. package/dist/mcp/tools/file-read.js.map +1 -1
  132. package/dist/mcp/tools/file-write.d.ts +3 -0
  133. package/dist/mcp/tools/file-write.d.ts.map +1 -0
  134. package/dist/mcp/tools/file-write.js +254 -0
  135. package/dist/mcp/tools/file-write.js.map +1 -0
  136. package/dist/mcp/tools/symbol.d.ts +5 -2
  137. package/dist/mcp/tools/symbol.d.ts.map +1 -1
  138. package/dist/mcp/tools/symbol.js +32 -16
  139. package/dist/mcp/tools/symbol.js.map +1 -1
  140. package/dist/mcp/tools/tool-descriptors.d.ts.map +1 -1
  141. package/dist/mcp/tools/tool-descriptors.js +9 -24
  142. package/dist/mcp/tools/tool-descriptors.js.map +1 -1
  143. package/dist/mcp/tools.d.ts +183 -220
  144. package/dist/mcp/tools.d.ts.map +1 -1
  145. package/dist/mcp/tools.js +121 -150
  146. package/dist/mcp/tools.js.map +1 -1
  147. package/dist/retrieval/fallback.d.ts.map +1 -1
  148. package/dist/retrieval/fallback.js +2 -9
  149. package/dist/retrieval/fallback.js.map +1 -1
  150. package/dist/retrieval/index-lifecycle.d.ts +8 -8
  151. package/dist/retrieval/index-lifecycle.js +4 -4
  152. package/dist/retrieval/index-lifecycle.js.map +1 -1
  153. package/dist/retrieval/model-mapping.d.ts +4 -4
  154. package/dist/retrieval/model-mapping.d.ts.map +1 -1
  155. package/dist/retrieval/model-mapping.js +16 -7
  156. package/dist/retrieval/model-mapping.js.map +1 -1
  157. package/dist/retrieval/orchestrator.d.ts.map +1 -1
  158. package/dist/retrieval/orchestrator.js +10 -20
  159. package/dist/retrieval/orchestrator.js.map +1 -1
  160. package/dist/retrieval/types.d.ts +1 -2
  161. package/dist/retrieval/types.d.ts.map +1 -1
  162. package/dist/server.d.ts.map +1 -1
  163. package/dist/server.js +12 -9
  164. package/dist/server.js.map +1 -1
  165. package/dist/services/summary.d.ts.map +1 -1
  166. package/dist/services/summary.js +5 -4
  167. package/dist/services/summary.js.map +1 -1
  168. package/dist/util/banner.d.ts +13 -0
  169. package/dist/util/banner.d.ts.map +1 -0
  170. package/dist/util/banner.js +33 -0
  171. package/dist/util/banner.js.map +1 -0
  172. package/package.json +2 -2
  173. package/templates/AGENTS.md.template +3 -3
  174. package/templates/CLAUDE.md.template +2 -2
  175. package/templates/CODEX.md.template +1 -1
  176. package/templates/GEMINI.md.template +1 -1
  177. package/templates/OPENCODE.md.template +1 -1
  178. package/dist/mcp/tools/summary.d.ts +0 -3
  179. package/dist/mcp/tools/summary.d.ts.map +0 -1
  180. package/dist/mcp/tools/summary.js +0 -35
  181. package/dist/mcp/tools/summary.js.map +0 -1
package/README.md CHANGED
@@ -281,11 +281,11 @@ The sandboxed runtime execution tool (`sdl.runtime.execute`) has its own governa
281
281
 
282
282
  ### Agent Context — Task-Shaped Retrieval
283
283
 
284
- `sdl.agent.context` is SDL-MCP's task-shaped context engine. Give it a task type (`debug`, `review`, `implement`, `explain`), a description, and a budget — it selects the right Iris Gate rungs, collects evidence, and returns context tuned to the job. In Code Mode, `sdl.context` provides the same retrieval surface without dropping into `sdl.workflow`.
284
+ `sdl.context` is SDL-MCP's task-shaped context engine. Give it a task type (`debug`, `review`, `implement`, `explain`), a description, and a budget — it selects the right Iris Gate rungs, collects evidence, and returns context tuned to the job. In Code Mode, `sdl.context` provides the same retrieval surface without dropping into `sdl.workflow`.
285
285
 
286
286
  The feedback loop (`sdl.agent.feedback`) records which symbols were useful and which were missing, improving future slice quality.
287
287
 
288
- `sdl.context.summary` generates portable, token-bounded context briefings in markdown, JSON, or clipboard format for use outside MCP environments.
288
+ generates portable, token-bounded context briefings in markdown, JSON, or clipboard format for use outside MCP environments.
289
289
 
290
290
  **Why it matters:**
291
291
 
@@ -440,7 +440,7 @@ Each gateway tool accepts an `action` discriminator field (e.g., `{ action: "sym
440
440
  <tr><td rowspan="3"><strong>Symbols</strong></td>
441
441
  <td><code>sdl.symbol.search</code></td><td>Search symbols by name (with optional semantic reranking)</td></tr>
442
442
  <tr><td><code>sdl.symbol.getCard</code></td><td>Get a symbol card with ETag-based conditional support</td></tr>
443
- <tr><td><code>sdl.symbol.getCards</code></td><td>Batch-fetch up to 100 cards in one round trip</td></tr>
443
+ <tr><td><code>sdl.symbol.getCard</code></td><td>Batch-fetch up to 100 cards in one round trip</td></tr>
444
444
 
445
445
  <tr><td rowspan="3"><strong>Slices</strong></td>
446
446
  <td><code>sdl.slice.build</code></td><td>Build a task-scoped dependency subgraph</td></tr>
@@ -463,10 +463,10 @@ Each gateway tool accepts an `action` discriminator field (e.g., `{ action: "sym
463
463
  <td><code>sdl.pr.risk.analyze</code></td><td>Scored PR risk with findings and test recommendations</td></tr>
464
464
 
465
465
  <tr><td><strong>Context</strong></td>
466
- <td><code>sdl.context.summary</code></td><td>Token-bounded portable briefing (markdown/JSON/clipboard) with conditional ETag fetch support</td></tr>
466
+ <td><code></code></td><td>Token-bounded portable briefing (markdown/JSON/clipboard) with conditional ETag fetch support</td></tr>
467
467
 
468
468
  <tr><td rowspan="3"><strong>Agent</strong></td>
469
- <td><code>sdl.agent.context</code></td><td>Task-shaped context retrieval with budget-controlled rung planning and conditional ETag fetch support</td></tr>
469
+ <td><code>sdl.context</code></td><td>Task-shaped context retrieval with budget-controlled rung planning and conditional ETag fetch support</td></tr>
470
470
  <tr><td><code>sdl.agent.feedback</code></td><td>Record which symbols were useful or missing</td></tr>
471
471
  <tr><td><code>sdl.agent.feedback.query</code></td><td>Query aggregated feedback statistics</td></tr>
472
472
 
@@ -102,7 +102,7 @@
102
102
  "semantic": {
103
103
  "enabled": true,
104
104
  "provider": "local",
105
- "model": "all-MiniLM-L6-v2",
105
+ "model": "jina-embeddings-v2-base-code",
106
106
  "modelCacheDir": null,
107
107
  "generateSummaries": false,
108
108
  "summaryProvider": null,
@@ -124,10 +124,10 @@
124
124
  "enabled": true,
125
125
  "topK": 75,
126
126
  "efc": 200,
127
- "efs": 200,
127
+ "efs": 200,
128
128
  "indexes": {
129
- "all-MiniLM-L6-v2": {
130
- "indexName": "symbol_vec_minilm_l6_v2"
129
+ "jina-embeddings-v2-base-code": {
130
+ "indexName": "symbol_vec_jina_code_v2"
131
131
  },
132
132
  "nomic-embed-text-v1.5": {
133
133
  "indexName": "symbol_vec_nomic_embed_v15"
@@ -42,11 +42,7 @@
42
42
  "**/*.test.ts",
43
43
  "**/*.spec.ts"
44
44
  ],
45
- "languages": [
46
- "ts",
47
- "tsx",
48
- "js"
49
- ]
45
+ "languages": ["ts", "tsx", "js"]
50
46
  },
51
47
  {
52
48
  "repoId": "preact-oss",
@@ -61,12 +57,7 @@
61
57
  "**/*.test.tsx",
62
58
  "**/*.spec.tsx"
63
59
  ],
64
- "languages": [
65
- "ts",
66
- "tsx",
67
- "js",
68
- "jsx"
69
- ]
60
+ "languages": ["ts", "tsx", "js", "jsx"]
70
61
  },
71
62
  {
72
63
  "repoId": "flask-oss",
@@ -81,9 +72,7 @@
81
72
  "**/*.pyc",
82
73
  "**/tests/**"
83
74
  ],
84
- "languages": [
85
- "py"
86
- ]
75
+ "languages": ["py"]
87
76
  },
88
77
  {
89
78
  "repoId": "ansible-lint-oss",
@@ -100,10 +89,7 @@
100
89
  "**/tests/**",
101
90
  "**/.tox/**"
102
91
  ],
103
- "languages": [
104
- "py",
105
- "sh"
106
- ]
92
+ "languages": ["py", "sh"]
107
93
  }
108
94
  ],
109
95
  "graphDatabase": {
@@ -145,7 +131,7 @@
145
131
  "enabled": true,
146
132
  "alpha": 0.6,
147
133
  "provider": "mock",
148
- "model": "all-MiniLM-L6-v2",
134
+ "model": "jina-embeddings-v2-base-code",
149
135
  "generateSummaries": false
150
136
  },
151
137
  "prefetch": {
@@ -522,12 +522,8 @@
522
522
  },
523
523
  "model": {
524
524
  "type": "string",
525
- "enum": [
526
- "all-MiniLM-L6-v2",
527
- "nomic-embed-text-v1.5",
528
- "jina-embeddings-v2-base-code"
529
- ],
530
- "default": "all-MiniLM-L6-v2"
525
+ "enum": ["jina-embeddings-v2-base-code", "nomic-embed-text-v1.5"],
526
+ "default": "jina-embeddings-v2-base-code"
531
527
  },
532
528
  "modelCacheDir": {
533
529
  "type": "string",
@@ -668,8 +664,8 @@
668
664
  }
669
665
  },
670
666
  "default": {
671
- "all-MiniLM-L6-v2": {
672
- "indexName": "symbol_vec_minilm_l6_v2"
667
+ "jina-embeddings-v2-base-code": {
668
+ "indexName": "symbol_vec_jina_code_v2"
673
669
  },
674
670
  "nomic-embed-text-v1.5": {
675
671
  "indexName": "symbol_vec_nomic_embed_v15"
@@ -682,8 +678,8 @@
682
678
  "topK": 75,
683
679
  "efs": 200,
684
680
  "indexes": {
685
- "all-MiniLM-L6-v2": {
686
- "indexName": "symbol_vec_minilm_l6_v2"
681
+ "jina-embeddings-v2-base-code": {
682
+ "indexName": "symbol_vec_jina_code_v2"
687
683
  },
688
684
  "nomic-embed-text-v1.5": {
689
685
  "indexName": "symbol_vec_nomic_embed_v15"
@@ -734,7 +730,9 @@
734
730
  "topK": 75,
735
731
  "efs": 200,
736
732
  "indexes": {
737
- "all-MiniLM-L6-v2": { "indexName": "symbol_vec_minilm_l6_v2" },
733
+ "jina-embeddings-v2-base-code": {
734
+ "indexName": "symbol_vec_jina_code_v2"
735
+ },
738
736
  "nomic-embed-text-v1.5": {
739
737
  "indexName": "symbol_vec_nomic_embed_v15"
740
738
  }
@@ -751,7 +749,7 @@
751
749
  "default": {
752
750
  "enabled": true,
753
751
  "provider": "local",
754
- "model": "all-MiniLM-L6-v2",
752
+ "model": "jina-embeddings-v2-base-code",
755
753
  "generateSummaries": false,
756
754
  "summaryModel": "claude-haiku-4-5-20251001",
757
755
  "summaryMaxConcurrency": 5,