sdl-mcp 0.10.2 → 0.10.3
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 +12 -10
- package/config/sdlmcp.config.example.json +13 -3
- package/config/sdlmcp.config.schema.json +81 -3
- package/dist/.tsbuildinfo +1 -1
- package/dist/agent/context-engine.d.ts +40 -4
- package/dist/agent/context-engine.d.ts.map +1 -1
- package/dist/agent/context-engine.js +343 -174
- package/dist/agent/context-engine.js.map +1 -1
- package/dist/agent/context-ranking.d.ts +41 -0
- package/dist/agent/context-ranking.d.ts.map +1 -0
- package/dist/agent/context-ranking.js +432 -0
- package/dist/agent/context-ranking.js.map +1 -0
- package/dist/agent/context-seeding.d.ts +41 -0
- package/dist/agent/context-seeding.d.ts.map +1 -0
- package/dist/agent/context-seeding.js +302 -0
- package/dist/agent/context-seeding.js.map +1 -0
- package/dist/agent/executor.d.ts +13 -10
- package/dist/agent/executor.d.ts.map +1 -1
- package/dist/agent/executor.js +262 -98
- package/dist/agent/executor.js.map +1 -1
- package/dist/agent/planner.d.ts +14 -4
- package/dist/agent/planner.d.ts.map +1 -1
- package/dist/agent/planner.js +141 -48
- package/dist/agent/planner.js.map +1 -1
- package/dist/agent/types.d.ts +40 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/cli/commands/benchmark.js +2 -2
- package/dist/cli/commands/benchmark.js.map +1 -1
- package/dist/cli/commands/doctor.js +1 -1
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/health.js +1 -1
- package/dist/cli/commands/health.js.map +1 -1
- package/dist/cli/commands/tool-actions.d.ts.map +1 -1
- package/dist/cli/commands/tool-actions.js +5 -0
- package/dist/cli/commands/tool-actions.js.map +1 -1
- package/dist/cli/transport/http.d.ts +8 -2
- package/dist/cli/transport/http.d.ts.map +1 -1
- package/dist/cli/transport/http.js +69 -22
- package/dist/cli/transport/http.js.map +1 -1
- package/dist/code-mode/action-catalog.d.ts.map +1 -1
- package/dist/code-mode/action-catalog.js +72 -27
- package/dist/code-mode/action-catalog.js.map +1 -1
- package/dist/code-mode/etag-cache.d.ts +2 -0
- package/dist/code-mode/etag-cache.d.ts.map +1 -1
- package/dist/code-mode/etag-cache.js +55 -0
- package/dist/code-mode/etag-cache.js.map +1 -1
- package/dist/code-mode/index.d.ts.map +1 -1
- package/dist/code-mode/index.js +4 -3
- package/dist/code-mode/index.js.map +1 -1
- package/dist/code-mode/manual-generator.d.ts +8 -0
- package/dist/code-mode/manual-generator.d.ts.map +1 -1
- package/dist/code-mode/manual-generator.js +65 -9
- package/dist/code-mode/manual-generator.js.map +1 -1
- package/dist/code-mode/workflow-parser.d.ts.map +1 -1
- package/dist/code-mode/workflow-parser.js +8 -6
- package/dist/code-mode/workflow-parser.js.map +1 -1
- package/dist/config/memory-config.d.ts +26 -0
- package/dist/config/memory-config.d.ts.map +1 -0
- package/dist/config/memory-config.js +74 -0
- package/dist/config/memory-config.js.map +1 -0
- package/dist/config/types.d.ts +45 -2
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +46 -10
- package/dist/config/types.js.map +1 -1
- package/dist/db/ladybug-clusters.d.ts +6 -0
- package/dist/db/ladybug-clusters.d.ts.map +1 -1
- package/dist/db/ladybug-clusters.js +24 -11
- package/dist/db/ladybug-clusters.js.map +1 -1
- package/dist/db/ladybug-edges.d.ts +15 -0
- package/dist/db/ladybug-edges.d.ts.map +1 -1
- package/dist/db/ladybug-edges.js +54 -2
- package/dist/db/ladybug-edges.js.map +1 -1
- package/dist/db/ladybug-processes.d.ts +8 -0
- package/dist/db/ladybug-processes.d.ts.map +1 -1
- package/dist/db/ladybug-processes.js +35 -0
- package/dist/db/ladybug-processes.js.map +1 -1
- package/dist/db/ladybug-schema.d.ts.map +1 -1
- package/dist/db/ladybug-schema.js +4 -1
- package/dist/db/ladybug-schema.js.map +1 -1
- package/dist/db/ladybug-symbols.d.ts +1 -0
- package/dist/db/ladybug-symbols.d.ts.map +1 -1
- package/dist/db/ladybug-symbols.js +39 -18
- package/dist/db/ladybug-symbols.js.map +1 -1
- package/dist/db/ladybug.d.ts +6 -0
- package/dist/db/ladybug.d.ts.map +1 -1
- package/dist/db/ladybug.js +24 -0
- package/dist/db/ladybug.js.map +1 -1
- package/dist/db/migrations/index.d.ts.map +1 -1
- package/dist/db/migrations/index.js +2 -1
- package/dist/db/migrations/index.js.map +1 -1
- package/dist/db/migrations/m010-add-jina-code-embedding.d.ts +5 -0
- package/dist/db/migrations/m010-add-jina-code-embedding.d.ts.map +1 -0
- package/dist/db/migrations/m010-add-jina-code-embedding.js +30 -0
- package/dist/db/migrations/m010-add-jina-code-embedding.js.map +1 -0
- package/dist/domain/types.d.ts +6 -0
- package/dist/domain/types.d.ts.map +1 -1
- package/dist/domain/types.js +13 -2
- package/dist/domain/types.js.map +1 -1
- package/dist/gateway/descriptions.d.ts +9 -0
- package/dist/gateway/descriptions.d.ts.map +1 -1
- package/dist/gateway/descriptions.js +20 -3
- package/dist/gateway/descriptions.js.map +1 -1
- package/dist/gateway/index.js +2 -2
- package/dist/gateway/index.js.map +1 -1
- package/dist/gateway/router.d.ts.map +1 -1
- package/dist/gateway/router.js +10 -1
- package/dist/gateway/router.js.map +1 -1
- package/dist/gateway/schemas.d.ts +5 -0
- package/dist/gateway/schemas.d.ts.map +1 -1
- package/dist/gateway/schemas.js +5 -0
- package/dist/gateway/schemas.js.map +1 -1
- package/dist/gateway/thin-schemas.d.ts.map +1 -1
- package/dist/gateway/thin-schemas.js +3 -1
- package/dist/gateway/thin-schemas.js.map +1 -1
- package/dist/graph/metrics.d.ts +20 -6
- package/dist/graph/metrics.d.ts.map +1 -1
- package/dist/graph/metrics.js +107 -39
- package/dist/graph/metrics.js.map +1 -1
- package/dist/graph/overview.d.ts.map +1 -1
- package/dist/graph/overview.js +109 -11
- package/dist/graph/overview.js.map +1 -1
- package/dist/graph/slice/result.d.ts +3 -0
- package/dist/graph/slice/result.d.ts.map +1 -1
- package/dist/graph/slice/result.js +4 -0
- package/dist/graph/slice/result.js.map +1 -1
- package/dist/indexer/cluster-orchestrator.d.ts +2 -0
- package/dist/indexer/cluster-orchestrator.d.ts.map +1 -1
- package/dist/indexer/cluster-orchestrator.js +214 -87
- package/dist/indexer/cluster-orchestrator.js.map +1 -1
- package/dist/indexer/edge-builder/cleanup.js +19 -16
- package/dist/indexer/edge-builder/cleanup.js.map +1 -1
- package/dist/indexer/edge-builder/unresolved-imports.d.ts +8 -2
- package/dist/indexer/edge-builder/unresolved-imports.d.ts.map +1 -1
- package/dist/indexer/edge-builder/unresolved-imports.js +100 -55
- package/dist/indexer/edge-builder/unresolved-imports.js.map +1 -1
- package/dist/indexer/embeddings.d.ts.map +1 -1
- package/dist/indexer/embeddings.js +9 -3
- package/dist/indexer/embeddings.js.map +1 -1
- package/dist/indexer/indexer-init.d.ts +5 -1
- package/dist/indexer/indexer-init.d.ts.map +1 -1
- package/dist/indexer/indexer-init.js +10 -15
- package/dist/indexer/indexer-init.js.map +1 -1
- package/dist/indexer/indexer-memory.d.ts.map +1 -1
- package/dist/indexer/indexer-memory.js +8 -0
- package/dist/indexer/indexer-memory.js.map +1 -1
- package/dist/indexer/indexer-pass1.d.ts.map +1 -1
- package/dist/indexer/indexer-pass1.js +11 -0
- package/dist/indexer/indexer-pass1.js.map +1 -1
- package/dist/indexer/indexer-pass2.d.ts +3 -0
- package/dist/indexer/indexer-pass2.d.ts.map +1 -1
- package/dist/indexer/indexer-pass2.js +7 -5
- package/dist/indexer/indexer-pass2.js.map +1 -1
- package/dist/indexer/indexer.d.ts +9 -1
- package/dist/indexer/indexer.d.ts.map +1 -1
- package/dist/indexer/indexer.js +221 -78
- package/dist/indexer/indexer.js.map +1 -1
- package/dist/indexer/metrics-updater.d.ts +7 -2
- package/dist/indexer/metrics-updater.d.ts.map +1 -1
- package/dist/indexer/metrics-updater.js +81 -33
- package/dist/indexer/metrics-updater.js.map +1 -1
- package/dist/indexer/model-downloader.js +15 -3
- package/dist/indexer/model-downloader.js.map +1 -1
- package/dist/indexer/model-registry.d.ts +16 -0
- package/dist/indexer/model-registry.d.ts.map +1 -1
- package/dist/indexer/model-registry.js +42 -4
- package/dist/indexer/model-registry.js.map +1 -1
- package/dist/indexer/parser/early-exit.d.ts.map +1 -1
- package/dist/indexer/parser/early-exit.js +24 -3
- package/dist/indexer/parser/early-exit.js.map +1 -1
- package/dist/indexer/parser/helpers.d.ts +3 -8
- package/dist/indexer/parser/helpers.d.ts.map +1 -1
- package/dist/indexer/parser/helpers.js +2 -1
- package/dist/indexer/parser/helpers.js.map +1 -1
- package/dist/indexer/parser/parse-and-extract.d.ts.map +1 -1
- package/dist/indexer/parser/parse-and-extract.js +8 -1
- package/dist/indexer/parser/parse-and-extract.js.map +1 -1
- package/dist/indexer/parser/process-file.d.ts.map +1 -1
- package/dist/indexer/parser/process-file.js +12 -0
- package/dist/indexer/parser/process-file.js.map +1 -1
- package/dist/indexer/parser/rust-process-file.d.ts +2 -8
- package/dist/indexer/parser/rust-process-file.d.ts.map +1 -1
- package/dist/indexer/parser/rust-process-file.js +18 -1
- package/dist/indexer/parser/rust-process-file.js.map +1 -1
- package/dist/indexer/parser/types.d.ts +2 -0
- package/dist/indexer/parser/types.d.ts.map +1 -1
- package/dist/indexer/scanner.d.ts +1 -0
- package/dist/indexer/scanner.d.ts.map +1 -1
- package/dist/indexer/scanner.js +17 -8
- package/dist/indexer/scanner.js.map +1 -1
- package/dist/indexer/summaries.d.ts.map +1 -1
- package/dist/indexer/summaries.js +563 -91
- package/dist/indexer/summaries.js.map +1 -1
- package/dist/indexer/symbol-map-cache.d.ts +29 -0
- package/dist/indexer/symbol-map-cache.d.ts.map +1 -0
- package/dist/indexer/symbol-map-cache.js +152 -0
- package/dist/indexer/symbol-map-cache.js.map +1 -0
- package/dist/indexer/ts/tsParser.d.ts +6 -3
- package/dist/indexer/ts/tsParser.d.ts.map +1 -1
- package/dist/indexer/ts/tsParser.js +131 -27
- package/dist/indexer/ts/tsParser.js.map +1 -1
- package/dist/live-index/checkpoint-service.d.ts +15 -0
- package/dist/live-index/checkpoint-service.d.ts.map +1 -1
- package/dist/live-index/checkpoint-service.js +74 -0
- package/dist/live-index/checkpoint-service.js.map +1 -1
- package/dist/live-index/coordinator.d.ts.map +1 -1
- package/dist/live-index/coordinator.js +29 -1
- package/dist/live-index/coordinator.js.map +1 -1
- package/dist/mcp/context-response-projection.d.ts +18 -0
- package/dist/mcp/context-response-projection.d.ts.map +1 -0
- package/dist/mcp/context-response-projection.js +56 -0
- package/dist/mcp/context-response-projection.js.map +1 -0
- package/dist/mcp/hooks/memory-hint.d.ts.map +1 -1
- package/dist/mcp/hooks/memory-hint.js +16 -4
- package/dist/mcp/hooks/memory-hint.js.map +1 -1
- package/dist/mcp/savings-meter.d.ts +7 -0
- package/dist/mcp/savings-meter.d.ts.map +1 -1
- package/dist/mcp/savings-meter.js +34 -7
- package/dist/mcp/savings-meter.js.map +1 -1
- package/dist/mcp/token-usage.d.ts.map +1 -1
- package/dist/mcp/token-usage.js +20 -5
- package/dist/mcp/token-usage.js.map +1 -1
- package/dist/mcp/tool-call-formatter.d.ts.map +1 -1
- package/dist/mcp/tool-call-formatter.js +13 -1
- package/dist/mcp/tool-call-formatter.js.map +1 -1
- package/dist/mcp/tools/code.d.ts.map +1 -1
- package/dist/mcp/tools/code.js +27 -6
- package/dist/mcp/tools/code.js.map +1 -1
- package/dist/mcp/tools/context.d.ts.map +1 -1
- package/dist/mcp/tools/context.js +78 -1
- package/dist/mcp/tools/context.js.map +1 -1
- package/dist/mcp/tools/memory.d.ts.map +1 -1
- package/dist/mcp/tools/memory.js +72 -48
- package/dist/mcp/tools/memory.js.map +1 -1
- package/dist/mcp/tools/repo.d.ts.map +1 -1
- package/dist/mcp/tools/repo.js +92 -28
- package/dist/mcp/tools/repo.js.map +1 -1
- package/dist/mcp/tools/runtime.d.ts.map +1 -1
- package/dist/mcp/tools/runtime.js +50 -12
- package/dist/mcp/tools/runtime.js.map +1 -1
- package/dist/mcp/tools/slice-wire-format.d.ts.map +1 -1
- package/dist/mcp/tools/slice-wire-format.js +2 -0
- package/dist/mcp/tools/slice-wire-format.js.map +1 -1
- package/dist/mcp/tools/slice.d.ts.map +1 -1
- package/dist/mcp/tools/slice.js +5 -4
- package/dist/mcp/tools/slice.js.map +1 -1
- package/dist/mcp/tools/summary.d.ts.map +1 -1
- package/dist/mcp/tools/summary.js +5 -2
- package/dist/mcp/tools/summary.js.map +1 -1
- package/dist/mcp/tools/symbol.d.ts.map +1 -1
- package/dist/mcp/tools/symbol.js +150 -49
- package/dist/mcp/tools/symbol.js.map +1 -1
- package/dist/mcp/tools/tool-descriptors.d.ts.map +1 -1
- package/dist/mcp/tools/tool-descriptors.js +9 -2
- package/dist/mcp/tools/tool-descriptors.js.map +1 -1
- package/dist/mcp/tools.d.ts +48 -11
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +54 -6
- package/dist/mcp/tools.js.map +1 -1
- package/dist/retrieval/fallback.d.ts.map +1 -1
- package/dist/retrieval/fallback.js +8 -1
- package/dist/retrieval/fallback.js.map +1 -1
- package/dist/retrieval/feedback-boost.d.ts +3 -1
- package/dist/retrieval/feedback-boost.d.ts.map +1 -1
- package/dist/retrieval/feedback-boost.js +4 -2
- package/dist/retrieval/feedback-boost.js.map +1 -1
- package/dist/retrieval/model-mapping.d.ts.map +1 -1
- package/dist/retrieval/model-mapping.js +1 -0
- package/dist/retrieval/model-mapping.js.map +1 -1
- package/dist/retrieval/orchestrator.d.ts.map +1 -1
- package/dist/retrieval/orchestrator.js +13 -4
- package/dist/retrieval/orchestrator.js.map +1 -1
- package/dist/retrieval/types.d.ts +2 -1
- package/dist/retrieval/types.d.ts.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +40 -14
- package/dist/server.js.map +1 -1
- package/dist/services/health.d.ts +1 -1
- package/dist/services/health.d.ts.map +1 -1
- package/dist/services/health.js +1 -1
- package/dist/services/health.js.map +1 -1
- package/dist/services/summary.d.ts.map +1 -1
- package/dist/services/summary.js +71 -13
- package/dist/services/summary.js.map +1 -1
- package/dist/util/conditional-response.d.ts +16 -0
- package/dist/util/conditional-response.d.ts.map +1 -0
- package/dist/util/conditional-response.js +20 -0
- package/dist/util/conditional-response.js.map +1 -0
- package/dist/util/hashing.d.ts +2 -0
- package/dist/util/hashing.d.ts.map +1 -1
- package/dist/util/hashing.js +8 -4
- package/dist/util/hashing.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -159,6 +159,7 @@ Cards include **confidence-scored call resolution** (the pass-2 resolver traces
|
|
|
159
159
|
- Confidence-scored dependency edges trace real call relationships across files
|
|
160
160
|
- Community detection and call-chain tracing reveal architectural structure
|
|
161
161
|
- ETag-based conditional requests avoid re-fetching unchanged symbols
|
|
162
|
+
- Workflow ETag caching now seeds `slice.build` with `knownCardEtags` so repeated slice builds can skip unchanged cards
|
|
162
163
|
|
|
163
164
|
[Indexing & Language Support Deep Dive →](./docs/feature-deep-dives/indexing-languages.md)
|
|
164
165
|
|
|
@@ -263,7 +264,7 @@ Raw code access (Rung 4) is **policy-gated**. Agents must provide:
|
|
|
263
264
|
|
|
264
265
|
Requests that don't meet policy are denied with actionable guidance ("try `getHotPath` with these identifiers instead"). Every access is audit-logged.
|
|
265
266
|
|
|
266
|
-
The sandboxed runtime execution tool (`sdl.runtime.execute`) has its own governance layer:
|
|
267
|
+
The sandboxed runtime execution tool (`sdl.runtime.execute`) has its own governance layer: enabled by default, but still guarded by 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.
|
|
267
268
|
|
|
268
269
|
**Why it matters:**
|
|
269
270
|
- Proof-of-need gating prevents agents from wastefully reading raw code
|
|
@@ -306,9 +307,9 @@ Run tests, linters, and scripts through SDL-MCP's governance layer instead of un
|
|
|
306
307
|
|
|
307
308
|
---
|
|
308
309
|
|
|
309
|
-
### Development Memories — Cross-Session Knowledge Persistence
|
|
310
|
+
### Development Memories — Cross-Session Knowledge Persistence (Opt-In)
|
|
310
311
|
|
|
311
|
-
Agents forget everything between sessions. SDL-MCP fixes this with
|
|
312
|
+
Agents forget everything between sessions. SDL-MCP fixes this with an **opt-in graph-backed memory system** that lets agents store decisions, bugfix context, and task notes linked directly to the symbols and files they relate to. Memory is **disabled by default** and must be explicitly enabled in the configuration. When enabled, memories are stored both in the graph database (for fast querying) and as checked-in markdown files (for version control and team sharing).
|
|
312
313
|
|
|
313
314
|
```mermaid
|
|
314
315
|
flowchart LR
|
|
@@ -322,11 +323,12 @@ flowchart LR
|
|
|
322
323
|
Graph --> Recall["Relevant memory surfaced<br/>race condition fix in authenticate()"]
|
|
323
324
|
```
|
|
324
325
|
|
|
325
|
-
|
|
326
|
+
When enabled, memories are **automatically surfaced** inside graph slices — when an agent builds a slice touching symbols with linked memories, those memories appear alongside the cards. During re-indexing, memories linked to changed symbols are **flagged as stale**, prompting agents to review and update them. Four MCP tools (`store`, `query`, `remove`, `surface`) provide full CRUD plus intelligent ranking by confidence, recency, and symbol overlap. Memory tools are only available when memory is enabled in the configuration.
|
|
326
327
|
|
|
327
328
|
**Why it matters:**
|
|
328
329
|
- Structured knowledge **persists across sessions**, linked directly to symbols and files
|
|
329
|
-
-
|
|
330
|
+
- Opt-in and disabled by default — enable via `"memory": { "enabled": true }` in config
|
|
331
|
+
- When enabled, automatically surfaced inside graph slices when touching related symbols
|
|
330
332
|
- Stale memories flagged when linked symbols change during re-indexing
|
|
331
333
|
- Dual storage: graph DB for fast querying + markdown files for version control and team sharing
|
|
332
334
|
|
|
@@ -394,7 +396,7 @@ Each gateway tool accepts an `action` discriminator field (e.g., `{ action: "sym
|
|
|
394
396
|
<tr><td rowspan="4"><strong>Repository</strong></td>
|
|
395
397
|
<td><code>sdl.repo.register</code></td><td>Register a codebase for indexing</td></tr>
|
|
396
398
|
<tr><td><code>sdl.repo.status</code></td><td>Health, versions, watcher, prefetch, live-index stats</td></tr>
|
|
397
|
-
<tr><td><code>sdl.repo.overview</code></td><td>Codebase summary: stats, directories, hotspots, clusters</td></tr>
|
|
399
|
+
<tr><td><code>sdl.repo.overview</code></td><td>Codebase summary: stats, directories, hotspots, clusters, with conditional ETag fetch support</td></tr>
|
|
398
400
|
<tr><td><code>sdl.index.refresh</code></td><td>Trigger full or incremental re-indexing</td></tr>
|
|
399
401
|
|
|
400
402
|
<tr><td rowspan="3"><strong>Live Buffer</strong></td>
|
|
@@ -413,8 +415,8 @@ Each gateway tool accepts an `action` discriminator field (e.g., `{ action: "sym
|
|
|
413
415
|
<tr><td><code>sdl.slice.spillover.get</code></td><td>Page through overflow symbols beyond the budget</td></tr>
|
|
414
416
|
|
|
415
417
|
<tr><td rowspan="3"><strong>Code Access</strong></td>
|
|
416
|
-
<td><code>sdl.code.getSkeleton</code></td><td>Signatures + control flow, bodies elided</td></tr>
|
|
417
|
-
<tr><td><code>sdl.code.getHotPath</code></td><td>Lines matching specific identifiers + context</td></tr>
|
|
418
|
+
<td><code>sdl.code.getSkeleton</code></td><td>Signatures + control flow, bodies elided, with conditional ETag fetch support</td></tr>
|
|
419
|
+
<tr><td><code>sdl.code.getHotPath</code></td><td>Lines matching specific identifiers + context, with conditional ETag fetch support</td></tr>
|
|
418
420
|
<tr><td><code>sdl.code.needWindow</code></td><td>Full source code (policy-gated, requires justification)</td></tr>
|
|
419
421
|
|
|
420
422
|
<tr><td><strong>Deltas</strong></td>
|
|
@@ -428,10 +430,10 @@ Each gateway tool accepts an `action` discriminator field (e.g., `{ action: "sym
|
|
|
428
430
|
<td><code>sdl.pr.risk.analyze</code></td><td>Scored PR risk with findings and test recommendations</td></tr>
|
|
429
431
|
|
|
430
432
|
<tr><td><strong>Context</strong></td>
|
|
431
|
-
<td><code>sdl.context.summary</code></td><td>Token-bounded portable briefing (markdown/JSON/clipboard)</td></tr>
|
|
433
|
+
<td><code>sdl.context.summary</code></td><td>Token-bounded portable briefing (markdown/JSON/clipboard) with conditional ETag fetch support</td></tr>
|
|
432
434
|
|
|
433
435
|
<tr><td rowspan="3"><strong>Agent</strong></td>
|
|
434
|
-
<td><code>sdl.agent.context</code></td><td>Task-shaped context retrieval with budget-controlled rung planning</td></tr>
|
|
436
|
+
<td><code>sdl.agent.context</code></td><td>Task-shaped context retrieval with budget-controlled rung planning and conditional ETag fetch support</td></tr>
|
|
435
437
|
<tr><td><code>sdl.agent.feedback</code></td><td>Record which symbols were useful or missing</td></tr>
|
|
436
438
|
<tr><td><code>sdl.agent.feedback.query</code></td><td>Query aggregated feedback statistics</td></tr>
|
|
437
439
|
|
|
@@ -32,7 +32,12 @@
|
|
|
32
32
|
"includeNodeModulesTypes": true,
|
|
33
33
|
"packageJsonPath": null,
|
|
34
34
|
"tsconfigPath": null,
|
|
35
|
-
"workspaceGlobs": null
|
|
35
|
+
"workspaceGlobs": null,
|
|
36
|
+
"memory": {
|
|
37
|
+
"enabled": true,
|
|
38
|
+
"surfacingEnabled": true,
|
|
39
|
+
"fileSyncEnabled": false
|
|
40
|
+
}
|
|
36
41
|
}
|
|
37
42
|
],
|
|
38
43
|
"graphDatabase": {
|
|
@@ -160,10 +165,12 @@
|
|
|
160
165
|
"toolQueueTimeoutMs": 30000
|
|
161
166
|
},
|
|
162
167
|
"runtime": {
|
|
163
|
-
"enabled":
|
|
168
|
+
"enabled": true,
|
|
164
169
|
"allowedRuntimes": [
|
|
165
170
|
"node",
|
|
166
|
-
"
|
|
171
|
+
"typescript",
|
|
172
|
+
"python",
|
|
173
|
+
"shell"
|
|
167
174
|
],
|
|
168
175
|
"allowedExecutables": [],
|
|
169
176
|
"maxDurationMs": 30000,
|
|
@@ -194,5 +201,8 @@
|
|
|
194
201
|
},
|
|
195
202
|
"security": {
|
|
196
203
|
"allowedRepoRoots": []
|
|
204
|
+
},
|
|
205
|
+
"memory": {
|
|
206
|
+
"enabled": false
|
|
197
207
|
}
|
|
198
208
|
}
|
|
@@ -99,6 +99,45 @@
|
|
|
99
99
|
"items": {
|
|
100
100
|
"type": "string"
|
|
101
101
|
}
|
|
102
|
+
},
|
|
103
|
+
"memory": {
|
|
104
|
+
"type": "object",
|
|
105
|
+
"description": "Memory subsystem configuration. Memory is disabled by default.",
|
|
106
|
+
"properties": {
|
|
107
|
+
"enabled": {
|
|
108
|
+
"type": "boolean",
|
|
109
|
+
"description": "Master enable for the memory subsystem. When false, all memory features are disabled.",
|
|
110
|
+
"default": false
|
|
111
|
+
},
|
|
112
|
+
"toolsEnabled": {
|
|
113
|
+
"type": "boolean",
|
|
114
|
+
"description": "Enable memory CRUD tools (store, query, remove, surface)",
|
|
115
|
+
"default": true
|
|
116
|
+
},
|
|
117
|
+
"fileSyncEnabled": {
|
|
118
|
+
"type": "boolean",
|
|
119
|
+
"description": "Enable .sdl-memory file read/import/write/delete",
|
|
120
|
+
"default": true
|
|
121
|
+
},
|
|
122
|
+
"surfacingEnabled": {
|
|
123
|
+
"type": "boolean",
|
|
124
|
+
"description": "Enable memory injection into repo.status and slice.build",
|
|
125
|
+
"default": true
|
|
126
|
+
},
|
|
127
|
+
"hintsEnabled": {
|
|
128
|
+
"type": "boolean",
|
|
129
|
+
"description": "Enable _memoryHint post-dispatch guidance",
|
|
130
|
+
"default": true
|
|
131
|
+
},
|
|
132
|
+
"defaultSurfaceLimit": {
|
|
133
|
+
"type": "integer",
|
|
134
|
+
"description": "Default number of memories to surface when limit is omitted",
|
|
135
|
+
"default": 5,
|
|
136
|
+
"minimum": 1,
|
|
137
|
+
"maximum": 50
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
"additionalProperties": false
|
|
102
141
|
}
|
|
103
142
|
}
|
|
104
143
|
}
|
|
@@ -483,7 +522,7 @@
|
|
|
483
522
|
},
|
|
484
523
|
"model": {
|
|
485
524
|
"type": "string",
|
|
486
|
-
"enum": ["all-MiniLM-L6-v2", "nomic-embed-text-v1.5"],
|
|
525
|
+
"enum": ["all-MiniLM-L6-v2", "nomic-embed-text-v1.5", "jina-embeddings-v2-base-code"],
|
|
487
526
|
"default": "all-MiniLM-L6-v2"
|
|
488
527
|
},
|
|
489
528
|
"modelCacheDir": {
|
|
@@ -916,8 +955,8 @@
|
|
|
916
955
|
}
|
|
917
956
|
},
|
|
918
957
|
"default": {
|
|
919
|
-
"enabled":
|
|
920
|
-
"allowedRuntimes": ["node", "python"],
|
|
958
|
+
"enabled": true,
|
|
959
|
+
"allowedRuntimes": ["node", "typescript", "python", "shell"],
|
|
921
960
|
"allowedExecutables": [],
|
|
922
961
|
"maxDurationMs": 30000,
|
|
923
962
|
"maxConcurrentJobs": 2,
|
|
@@ -1031,6 +1070,45 @@
|
|
|
1031
1070
|
"enabled": true,
|
|
1032
1071
|
"exclusive": true
|
|
1033
1072
|
}
|
|
1073
|
+
},
|
|
1074
|
+
"memory": {
|
|
1075
|
+
"type": "object",
|
|
1076
|
+
"description": "Memory subsystem configuration. Memory is disabled by default.",
|
|
1077
|
+
"properties": {
|
|
1078
|
+
"enabled": {
|
|
1079
|
+
"type": "boolean",
|
|
1080
|
+
"description": "Master enable for the memory subsystem. When false, all memory features are disabled.",
|
|
1081
|
+
"default": false
|
|
1082
|
+
},
|
|
1083
|
+
"toolsEnabled": {
|
|
1084
|
+
"type": "boolean",
|
|
1085
|
+
"description": "Enable memory CRUD tools (store, query, remove, surface)",
|
|
1086
|
+
"default": true
|
|
1087
|
+
},
|
|
1088
|
+
"fileSyncEnabled": {
|
|
1089
|
+
"type": "boolean",
|
|
1090
|
+
"description": "Enable .sdl-memory file read/import/write/delete",
|
|
1091
|
+
"default": true
|
|
1092
|
+
},
|
|
1093
|
+
"surfacingEnabled": {
|
|
1094
|
+
"type": "boolean",
|
|
1095
|
+
"description": "Enable memory injection into repo.status and slice.build",
|
|
1096
|
+
"default": true
|
|
1097
|
+
},
|
|
1098
|
+
"hintsEnabled": {
|
|
1099
|
+
"type": "boolean",
|
|
1100
|
+
"description": "Enable _memoryHint post-dispatch guidance",
|
|
1101
|
+
"default": true
|
|
1102
|
+
},
|
|
1103
|
+
"defaultSurfaceLimit": {
|
|
1104
|
+
"type": "integer",
|
|
1105
|
+
"description": "Default number of memories to surface when limit is omitted",
|
|
1106
|
+
"default": 5,
|
|
1107
|
+
"minimum": 1,
|
|
1108
|
+
"maximum": 50
|
|
1109
|
+
}
|
|
1110
|
+
},
|
|
1111
|
+
"additionalProperties": false
|
|
1034
1112
|
}
|
|
1035
1113
|
}
|
|
1036
1114
|
}
|