sdl-mcp 0.11.3 → 0.11.4
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 -11
- package/config/sdlmcp.config.example.json +32 -5
- package/config/sdlmcp.config.json +3 -2
- package/config/sdlmcp.config.schema.json +60 -7
- package/dist/.tsbuildinfo +1 -1
- package/dist/agent/context-engine.d.ts.map +1 -1
- package/dist/agent/context-engine.js.map +1 -1
- package/dist/agent/context-seeding.d.ts.map +1 -1
- package/dist/agent/context-seeding.js +15 -0
- package/dist/agent/context-seeding.js.map +1 -1
- package/dist/cli/argParsing.d.ts.map +1 -1
- package/dist/cli/argParsing.js +3 -0
- package/dist/cli/argParsing.js.map +1 -1
- package/dist/cli/commands/doctor.js +47 -6
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +33 -15
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +484 -132
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/serve.d.ts.map +1 -1
- package/dist/cli/commands/serve.js +23 -20
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/commands/tool-actions.d.ts.map +1 -1
- package/dist/cli/commands/tool-actions.js +76 -1
- package/dist/cli/commands/tool-actions.js.map +1 -1
- package/dist/cli/commands/tool-dispatch.d.ts.map +1 -1
- package/dist/cli/commands/tool-dispatch.js +63 -10
- package/dist/cli/commands/tool-dispatch.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/transport/http.d.ts +8 -0
- package/dist/cli/transport/http.d.ts.map +1 -1
- package/dist/cli/transport/http.js +51 -10
- 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 +61 -17
- package/dist/code-mode/action-catalog.js.map +1 -1
- package/dist/code-mode/descriptions.d.ts.map +1 -1
- package/dist/code-mode/descriptions.js +4 -1
- package/dist/code-mode/descriptions.js.map +1 -1
- package/dist/code-mode/index.d.ts.map +1 -1
- package/dist/code-mode/index.js +76 -17
- package/dist/code-mode/index.js.map +1 -1
- package/dist/code-mode/manual-generator.d.ts.map +1 -1
- package/dist/code-mode/manual-generator.js +25 -31
- package/dist/code-mode/manual-generator.js.map +1 -1
- package/dist/code-mode/ref-resolver.d.ts +1 -0
- package/dist/code-mode/ref-resolver.d.ts.map +1 -1
- package/dist/code-mode/ref-resolver.js +31 -4
- package/dist/code-mode/ref-resolver.js.map +1 -1
- package/dist/code-mode/transforms.d.ts.map +1 -1
- package/dist/code-mode/transforms.js +7 -1
- package/dist/code-mode/transforms.js.map +1 -1
- package/dist/code-mode/workflow-executor.d.ts.map +1 -1
- package/dist/code-mode/workflow-executor.js +52 -7
- package/dist/code-mode/workflow-executor.js.map +1 -1
- package/dist/code-mode/workflow-parser.d.ts.map +1 -1
- package/dist/code-mode/workflow-parser.js +15 -4
- package/dist/code-mode/workflow-parser.js.map +1 -1
- package/dist/code-mode/workflow-truncation.d.ts.map +1 -1
- package/dist/code-mode/workflow-truncation.js +23 -4
- package/dist/code-mode/workflow-truncation.js.map +1 -1
- package/dist/config/admin-metadata.d.ts.map +1 -1
- package/dist/config/admin-metadata.js +9 -0
- package/dist/config/admin-metadata.js.map +1 -1
- package/dist/config/configPath.d.ts.map +1 -1
- package/dist/config/configPath.js +4 -13
- package/dist/config/configPath.js.map +1 -1
- package/dist/config/constants.d.ts +11 -4
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/constants.js +11 -4
- package/dist/config/constants.js.map +1 -1
- package/dist/config/semantic-embedding-model-plan.d.ts +13 -0
- package/dist/config/semantic-embedding-model-plan.d.ts.map +1 -0
- package/dist/config/semantic-embedding-model-plan.js +82 -0
- package/dist/config/semantic-embedding-model-plan.js.map +1 -0
- package/dist/config/types.d.ts +55 -4
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +35 -10
- package/dist/config/types.js.map +1 -1
- package/dist/db/ladybug-core.d.ts +4 -2
- package/dist/db/ladybug-core.d.ts.map +1 -1
- package/dist/db/ladybug-core.js +9 -5
- package/dist/db/ladybug-core.js.map +1 -1
- package/dist/db/ladybug-derived-state.d.ts +2 -1
- package/dist/db/ladybug-derived-state.d.ts.map +1 -1
- package/dist/db/ladybug-derived-state.js +6 -1
- package/dist/db/ladybug-derived-state.js.map +1 -1
- package/dist/db/ladybug-prefetch-outcomes.d.ts +48 -0
- package/dist/db/ladybug-prefetch-outcomes.d.ts.map +1 -0
- package/dist/db/ladybug-prefetch-outcomes.js +109 -0
- package/dist/db/ladybug-prefetch-outcomes.js.map +1 -0
- package/dist/db/ladybug-queries.d.ts +1 -0
- package/dist/db/ladybug-queries.d.ts.map +1 -1
- package/dist/db/ladybug-queries.js +2 -0
- package/dist/db/ladybug-queries.js.map +1 -1
- package/dist/db/ladybug-repos.d.ts.map +1 -1
- package/dist/db/ladybug-repos.js +5 -0
- package/dist/db/ladybug-repos.js.map +1 -1
- package/dist/db/ladybug-schema.d.ts.map +1 -1
- package/dist/db/ladybug-schema.js +42 -0
- package/dist/db/ladybug-schema.js.map +1 -1
- package/dist/db/ladybug.d.ts.map +1 -1
- package/dist/db/ladybug.js +24 -19
- 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 -0
- package/dist/db/migrations/index.js.map +1 -1
- package/dist/db/migrations/m019-add-prefetch-outcomes.d.ts +5 -0
- package/dist/db/migrations/m019-add-prefetch-outcomes.d.ts.map +1 -0
- package/dist/db/migrations/m019-add-prefetch-outcomes.js +74 -0
- package/dist/db/migrations/m019-add-prefetch-outcomes.js.map +1 -0
- package/dist/gateway/descriptions.js +2 -2
- package/dist/gateway/descriptions.js.map +1 -1
- package/dist/gateway/router.d.ts.map +1 -1
- package/dist/gateway/router.js +6 -1
- package/dist/gateway/router.js.map +1 -1
- package/dist/gateway/schemas.d.ts +104 -3
- package/dist/gateway/schemas.d.ts.map +1 -1
- package/dist/gateway/schemas.js +179 -44
- package/dist/gateway/schemas.js.map +1 -1
- package/dist/graph/index.d.ts +3 -1
- package/dist/graph/index.d.ts.map +1 -1
- package/dist/graph/index.js +2 -1
- package/dist/graph/index.js.map +1 -1
- package/dist/graph/prefetch-model.d.ts +1 -0
- package/dist/graph/prefetch-model.d.ts.map +1 -1
- package/dist/graph/prefetch-model.js.map +1 -1
- package/dist/graph/prefetch-outcomes.d.ts +93 -0
- package/dist/graph/prefetch-outcomes.d.ts.map +1 -0
- package/dist/graph/prefetch-outcomes.js +429 -0
- package/dist/graph/prefetch-outcomes.js.map +1 -0
- package/dist/graph/prefetch.d.ts +33 -6
- package/dist/graph/prefetch.d.ts.map +1 -1
- package/dist/graph/prefetch.js +440 -61
- package/dist/graph/prefetch.js.map +1 -1
- package/dist/graph/slice/edge-projector.d.ts.map +1 -1
- package/dist/graph/slice/edge-projector.js +17 -4
- package/dist/graph/slice/edge-projector.js.map +1 -1
- package/dist/indexer/derived-refresh-queue.d.ts +5 -1
- package/dist/indexer/derived-refresh-queue.d.ts.map +1 -1
- package/dist/indexer/derived-refresh-queue.js +67 -3
- package/dist/indexer/derived-refresh-queue.js.map +1 -1
- package/dist/indexer/finalize-derived-state.d.ts.map +1 -1
- package/dist/indexer/finalize-derived-state.js +43 -72
- package/dist/indexer/finalize-derived-state.js.map +1 -1
- package/dist/indexer/metrics-updater.d.ts.map +1 -1
- package/dist/indexer/metrics-updater.js +14 -35
- package/dist/indexer/metrics-updater.js.map +1 -1
- package/dist/live-index/checkpoint-service.d.ts.map +1 -1
- package/dist/live-index/checkpoint-service.js +21 -1
- package/dist/live-index/checkpoint-service.js.map +1 -1
- package/dist/live-index/types.d.ts +1 -0
- package/dist/live-index/types.d.ts.map +1 -1
- package/dist/main.js +4 -0
- package/dist/main.js.map +1 -1
- package/dist/mcp/context-response-projection.d.ts.map +1 -1
- package/dist/mcp/context-response-projection.js +9 -6
- package/dist/mcp/context-response-projection.js.map +1 -1
- package/dist/mcp/dispatch-limiter.d.ts +2 -0
- package/dist/mcp/dispatch-limiter.d.ts.map +1 -1
- package/dist/mcp/dispatch-limiter.js +25 -1
- package/dist/mcp/dispatch-limiter.js.map +1 -1
- package/dist/mcp/server-instructions.d.ts +2 -0
- package/dist/mcp/server-instructions.d.ts.map +1 -0
- package/dist/mcp/server-instructions.js +14 -0
- package/dist/mcp/server-instructions.js.map +1 -0
- package/dist/mcp/telemetry.d.ts +16 -0
- package/dist/mcp/telemetry.d.ts.map +1 -1
- package/dist/mcp/telemetry.js +9 -0
- package/dist/mcp/telemetry.js.map +1 -1
- package/dist/mcp/tool-call-formatter.d.ts.map +1 -1
- package/dist/mcp/tool-call-formatter.js +57 -1
- package/dist/mcp/tool-call-formatter.js.map +1 -1
- package/dist/mcp/tools/buffer.d.ts.map +1 -1
- package/dist/mcp/tools/buffer.js +2 -1
- package/dist/mcp/tools/buffer.js.map +1 -1
- package/dist/mcp/tools/code.d.ts +2 -2
- package/dist/mcp/tools/code.d.ts.map +1 -1
- package/dist/mcp/tools/code.js +8 -5
- package/dist/mcp/tools/code.js.map +1 -1
- package/dist/mcp/tools/context.d.ts +19 -0
- package/dist/mcp/tools/context.d.ts.map +1 -1
- package/dist/mcp/tools/context.js +183 -3
- package/dist/mcp/tools/context.js.map +1 -1
- package/dist/mcp/tools/delta.d.ts +2 -1
- package/dist/mcp/tools/delta.d.ts.map +1 -1
- package/dist/mcp/tools/delta.js +4 -3
- package/dist/mcp/tools/delta.js.map +1 -1
- package/dist/mcp/tools/file-gateway.d.ts +126 -10
- package/dist/mcp/tools/file-gateway.d.ts.map +1 -1
- package/dist/mcp/tools/file-gateway.js +216 -20
- package/dist/mcp/tools/file-gateway.js.map +1 -1
- package/dist/mcp/tools/file-read.d.ts.map +1 -1
- package/dist/mcp/tools/file-read.js +64 -17
- package/dist/mcp/tools/file-read.js.map +1 -1
- package/dist/mcp/tools/prRisk.d.ts +20 -6
- package/dist/mcp/tools/prRisk.d.ts.map +1 -1
- package/dist/mcp/tools/prRisk.js +46 -16
- package/dist/mcp/tools/prRisk.js.map +1 -1
- package/dist/mcp/tools/repo.d.ts.map +1 -1
- package/dist/mcp/tools/repo.js +7 -2
- 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 +76 -7
- package/dist/mcp/tools/runtime.js.map +1 -1
- package/dist/mcp/tools/search-edit/index.d.ts.map +1 -1
- package/dist/mcp/tools/search-edit/index.js +1 -0
- package/dist/mcp/tools/search-edit/index.js.map +1 -1
- package/dist/mcp/tools/search-edit/plan-store.d.ts +37 -1
- package/dist/mcp/tools/search-edit/plan-store.d.ts.map +1 -1
- package/dist/mcp/tools/search-edit/plan-store.js +2 -1
- package/dist/mcp/tools/search-edit/plan-store.js.map +1 -1
- package/dist/mcp/tools/search-edit/planner.d.ts +20 -5
- package/dist/mcp/tools/search-edit/planner.d.ts.map +1 -1
- package/dist/mcp/tools/search-edit/planner.js +326 -1
- package/dist/mcp/tools/search-edit/planner.js.map +1 -1
- package/dist/mcp/tools/slice.d.ts.map +1 -1
- package/dist/mcp/tools/slice.js +3 -2
- package/dist/mcp/tools/slice.js.map +1 -1
- package/dist/mcp/tools/symbol-edit/ast.d.ts +28 -0
- package/dist/mcp/tools/symbol-edit/ast.d.ts.map +1 -0
- package/dist/mcp/tools/symbol-edit/ast.js +513 -0
- package/dist/mcp/tools/symbol-edit/ast.js.map +1 -0
- package/dist/mcp/tools/symbol-edit/index.d.ts +12 -0
- package/dist/mcp/tools/symbol-edit/index.d.ts.map +1 -0
- package/dist/mcp/tools/symbol-edit/index.js +633 -0
- package/dist/mcp/tools/symbol-edit/index.js.map +1 -0
- package/dist/mcp/tools/symbol.d.ts +3 -2
- package/dist/mcp/tools/symbol.d.ts.map +1 -1
- package/dist/mcp/tools/symbol.js +13 -11
- 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 +8 -1
- package/dist/mcp/tools/tool-descriptors.js.map +1 -1
- package/dist/mcp/tools.d.ts +263 -8
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +156 -8
- package/dist/mcp/tools.js.map +1 -1
- package/dist/observability/aggregator.d.ts +10 -1
- package/dist/observability/aggregator.d.ts.map +1 -1
- package/dist/observability/aggregator.js +41 -3
- package/dist/observability/aggregator.js.map +1 -1
- package/dist/observability/types.d.ts +21 -0
- package/dist/observability/types.d.ts.map +1 -1
- package/dist/observability/types.js.map +1 -1
- package/dist/runtime/deferred-work-state.d.ts +28 -0
- package/dist/runtime/deferred-work-state.d.ts.map +1 -0
- package/dist/runtime/deferred-work-state.js +70 -0
- package/dist/runtime/deferred-work-state.js.map +1 -0
- package/dist/runtime/executor.d.ts.map +1 -1
- package/dist/runtime/executor.js +15 -1
- package/dist/runtime/executor.js.map +1 -1
- package/dist/runtime/runtimes.d.ts +1 -0
- package/dist/runtime/runtimes.d.ts.map +1 -1
- package/dist/runtime/runtimes.js +7 -0
- package/dist/runtime/runtimes.js.map +1 -1
- package/dist/runtime/types.d.ts +4 -0
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/server.d.ts +8 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +143 -2
- package/dist/server.js.map +1 -1
- package/dist/startup/derived-state-recovery.d.ts +23 -0
- package/dist/startup/derived-state-recovery.d.ts.map +1 -0
- package/dist/startup/derived-state-recovery.js +74 -0
- package/dist/startup/derived-state-recovery.js.map +1 -0
- package/dist/startup/prefetch-startup.d.ts +3 -0
- package/dist/startup/prefetch-startup.d.ts.map +1 -0
- package/dist/startup/prefetch-startup.js +21 -0
- package/dist/startup/prefetch-startup.js.map +1 -0
- package/dist/ui/observability.css +11 -7
- package/dist/ui/observability.html +24 -0
- package/dist/ui/observability.js +24 -3
- package/dist/ui/observability.js.map +1 -1
- package/dist/util/shutdown.d.ts +2 -2
- package/dist/util/shutdown.d.ts.map +1 -1
- package/dist/util/shutdown.js +15 -2
- package/dist/util/shutdown.js.map +1 -1
- package/package.json +2 -2
- package/templates/AGENTS.md.template +7 -1
- package/templates/CLAUDE.md.template +7 -1
- package/templates/CODEX.md.template +7 -1
- package/templates/SDL.md +243 -227
package/README.md
CHANGED
|
@@ -502,7 +502,7 @@ Features include typed argument coercion (string, number, boolean, string[], jso
|
|
|
502
502
|
|
|
503
503
|
**Why it matters:**
|
|
504
504
|
|
|
505
|
-
-
|
|
505
|
+
- 36 direct graph/action aliases plus `action.search` and `manual` metadata proxies accessible from **any terminal** - no server, transport, or SDK required
|
|
506
506
|
- Direct graph actions keep gateway-router/Zod parity; metadata proxies share the same MCP registration handlers
|
|
507
507
|
- Four output formats (json, json-compact, pretty, table) for scripting and CI pipelines
|
|
508
508
|
- Auto-resolves repoId from cwd, supports stdin JSON piping and per-action `--help`
|
|
@@ -513,12 +513,12 @@ Features include typed argument coercion (string, number, boolean, string[], jso
|
|
|
513
513
|
|
|
514
514
|
### Tool Gateway — Compact Tool Registration
|
|
515
515
|
|
|
516
|
-
The tool gateway projects the
|
|
516
|
+
The tool gateway projects the 35 gateway-routable SDL actions into **4 namespace-scoped tools** (`sdl.query`, `sdl.code`, `sdl.repo`, `sdl.agent`), reducing `tools/list` overhead from the full flat schema surface to a compact gateway surface.
|
|
517
517
|
|
|
518
518
|
```mermaid
|
|
519
519
|
%%{init: {"theme":"base","themeVariables":{"background":"#ffffff","primaryColor":"#E7F8F2","primaryBorderColor":"#0F766E","primaryTextColor":"#102A43","secondaryColor":"#E8F1FF","secondaryBorderColor":"#2563EB","secondaryTextColor":"#102A43","tertiaryColor":"#FFF4D6","tertiaryBorderColor":"#B45309","tertiaryTextColor":"#102A43","lineColor":"#0F766E","textColor":"#102A43","fontFamily":"Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"},"flowchart":{"curve":"basis","htmlLabels":true}}}%%
|
|
520
520
|
flowchart LR
|
|
521
|
-
Before["Flat mode<br/>
|
|
521
|
+
Before["Flat mode<br/>38 tools<br/>2 universal + 36 flat"] e1@--> After["Gateway mode<br/>6 tools<br/>2 universal + 4 gateway"]
|
|
522
522
|
After e2@--> Savings["Smaller tools/list payload<br/>lower agent startup overhead"]
|
|
523
523
|
|
|
524
524
|
classDef source fill:#E7F8F2,stroke:#0F766E,stroke-width:2px,color:#102A43;
|
|
@@ -536,7 +536,7 @@ Each gateway tool accepts an `action` discriminator field (e.g., `{ action: "sym
|
|
|
536
536
|
**Why it matters:**
|
|
537
537
|
|
|
538
538
|
- Large reduction in `tools/list` overhead for gateway-first agents
|
|
539
|
-
-
|
|
539
|
+
- 35 gateway-routable actions consolidated into 4 namespace-scoped tools for simpler agent selection
|
|
540
540
|
- Fewer tool choices means faster and more accurate tool dispatch by the agent
|
|
541
541
|
- Choose Code Mode for task-shaped retrieval first; opt out of exclusive Code Mode when you also need regular flat or gateway tools
|
|
542
542
|
|
|
@@ -546,7 +546,7 @@ Each gateway tool accepts an `action` discriminator field (e.g., `{ action: "sym
|
|
|
546
546
|
|
|
547
547
|
### Observability Dashboard
|
|
548
548
|
|
|
549
|
-
Built-in read-only dashboard surfaces every metric needed to diagnose SDL-MCP behaviour without parsing stderr logs. GlitterKill dark UI at `/ui/observability` on the HTTP transport or the loopback-only `sdl-mcp serve --stdio --dashboard-port <port>` sidecar, plus REST + SSE APIs (`/api/observability/snapshot`, `/timeseries`, `/beam-explain`, `/stream`) for programmatic access. Surfaces cache hit rates, hybrid-retrieval breakdowns (FTS / vector / PPR / RRF), beam-search decision traces, indexing pipeline metrics, write-pool and drain saturation, packed-wire token efficiency, and runtime CPU/memory/event-loop probes. See [Observability Dashboard Deep Dive](./docs/feature-deep-dives/observability-dashboard.md).
|
|
549
|
+
Built-in read-only dashboard surfaces every metric needed to diagnose SDL-MCP behaviour without parsing stderr logs. GlitterKill dark UI at `/ui/observability` on the HTTP transport or the loopback-only `sdl-mcp serve --stdio --dashboard-port <port>` sidecar, plus REST + SSE APIs (`/api/observability/snapshot`, `/timeseries`, `/beam-explain`, `/stream`) for programmatic access. Surfaces cache hit rates, predictive-context outcome learning, hybrid-retrieval breakdowns (FTS / vector / PPR / RRF), beam-search decision traces, indexing pipeline metrics, write-pool and drain saturation, packed-wire token efficiency, and runtime CPU/memory/event-loop probes. See [Observability Dashboard Deep Dive](./docs/feature-deep-dives/observability-dashboard.md).
|
|
550
550
|
|
|
551
551
|
<br/>
|
|
552
552
|
|
|
@@ -558,9 +558,9 @@ Built-in read-only dashboard surfaces every metric needed to diagnose SDL-MCP be
|
|
|
558
558
|
|
|
559
559
|
| Mode | Tool count | Composition |
|
|
560
560
|
| :------------------ | :--------- | :--------------------------------------------------------------- |
|
|
561
|
-
| Flat | `
|
|
561
|
+
| Flat | `38` | `2` universal + `36` flat tools |
|
|
562
562
|
| Gateway | `6` | `2` universal + `4` gateway tools |
|
|
563
|
-
| Gateway + legacy | `
|
|
563
|
+
| Gateway + legacy | `42` | `2` universal + `4` gateway + `36` flat tools |
|
|
564
564
|
| Code Mode exclusive | `5` | `sdl.action.search`, `sdl.context`, `sdl.file`, `sdl.manual`, `sdl.workflow` |
|
|
565
565
|
|
|
566
566
|
The generated source of truth is [`docs/generated/tool-inventory.md`](./docs/generated/tool-inventory.md).
|
|
@@ -578,9 +578,10 @@ The generated source of truth is [`docs/generated/tool-inventory.md`](./docs/gen
|
|
|
578
578
|
<tr><td><code>sdl.buffer.checkpoint</code></td><td>Force-write pending buffers to the durable database</td></tr>
|
|
579
579
|
<tr><td><code>sdl.buffer.status</code></td><td>Live indexing diagnostics and queue depth</td></tr>
|
|
580
580
|
|
|
581
|
-
<tr><td rowspan="
|
|
581
|
+
<tr><td rowspan="3"><strong>Symbols</strong></td>
|
|
582
582
|
<td><code>sdl.symbol.search</code></td><td>Search symbols by name (with optional semantic reranking)</td></tr>
|
|
583
583
|
<tr><td><code>sdl.symbol.getCard</code></td><td>Get one card or batch-fetch up to 100 cards with ETag-based conditional support</td></tr>
|
|
584
|
+
<tr><td><code>sdl.symbol.edit</code></td><td>Preview/apply one symbol-scoped edit with AST, range, file, and draft preconditions</td></tr>
|
|
584
585
|
|
|
585
586
|
<tr><td rowspan="3"><strong>Slices</strong></td>
|
|
586
587
|
<td><code>sdl.slice.build</code></td><td>Build a task-scoped dependency subgraph</td></tr>
|
|
@@ -650,7 +651,7 @@ The generated source of truth is [`docs/generated/tool-inventory.md`](./docs/gen
|
|
|
650
651
|
| `sdl-mcp doctor` | Validate runtime, config, DB, grammars, repo access |
|
|
651
652
|
| `sdl-mcp index` | Index repositories (with optional `--watch` mode) |
|
|
652
653
|
| `sdl-mcp serve` | Start MCP server (`--stdio` or `--http`) |
|
|
653
|
-
| `sdl-mcp tool` | Access
|
|
654
|
+
| `sdl-mcp tool` | Access 36 direct action aliases ([docs](./docs/feature-deep-dives/cli-tool-access.md)) |
|
|
654
655
|
| `sdl-mcp info` | Runtime diagnostics — version, Node.js, platform, database, config |
|
|
655
656
|
| `sdl-mcp summary` | Generate copy/paste context summaries from the CLI |
|
|
656
657
|
| `sdl-mcp health` | Compute composite health score with badge/JSON output |
|
|
@@ -772,8 +773,8 @@ flowchart TD
|
|
|
772
773
|
| [Context Modes](./docs/feature-deep-dives/context-modes.md) | Precise vs broad retrieval, adaptive symbol ranking, benchmark trade-offs |
|
|
773
774
|
| [Indexing & Languages](./docs/feature-deep-dives/indexing-languages.md) | Rust/TS engines, two-pass architecture, 12-language support |
|
|
774
775
|
| [Runtime Execution](./docs/feature-deep-dives/runtime-execution.md) | Sandboxed subprocess execution with governance |
|
|
775
|
-
| [CLI Tool Access](./docs/feature-deep-dives/cli-tool-access.md) | Direct CLI access to
|
|
776
|
-
| [Tool Gateway](./docs/feature-deep-dives/tool-gateway.md) |
|
|
776
|
+
| [CLI Tool Access](./docs/feature-deep-dives/cli-tool-access.md) | Direct CLI access to 36 action aliases, output formats, stdin piping, scripting |
|
|
777
|
+
| [Tool Gateway](./docs/feature-deep-dives/tool-gateway.md) | 35 gateway-routable actions, 4 namespace tools, thin schemas, migration guide |
|
|
777
778
|
| [Semantic Engine](./docs/feature-deep-dives/semantic-engine.md) | Pass-2 call resolution, embedding search, LLM summaries, confidence scoring |
|
|
778
779
|
| [Semantic Embeddings Setup](./docs/feature-deep-dives/semantic-embeddings-setup.md) | Dependencies, model installation, provider configuration, tier-by-tier setup |
|
|
779
780
|
| [Code Mode](./docs/feature-deep-dives/code-mode.md) | `sdl.context`, `sdl.workflow`, action discovery, manual reference, one-call workflows |
|
|
@@ -116,8 +116,13 @@
|
|
|
116
116
|
"semantic": {
|
|
117
117
|
"enabled": true,
|
|
118
118
|
"provider": "local",
|
|
119
|
-
"
|
|
120
|
-
"
|
|
119
|
+
"embeddingProfile": "specialized",
|
|
120
|
+
"symbolEmbeddingModels": [
|
|
121
|
+
"jina-embeddings-v2-base-code"
|
|
122
|
+
],
|
|
123
|
+
"fileSummaryEmbeddingModels": [
|
|
124
|
+
"nomic-embed-text-v1.5"
|
|
125
|
+
],
|
|
121
126
|
"modelCacheDir": null,
|
|
122
127
|
"generateSummaries": false,
|
|
123
128
|
"summaryProvider": null,
|
|
@@ -132,7 +137,9 @@
|
|
|
132
137
|
"fileSummaryEmbeddingMaxChars": 4096,
|
|
133
138
|
"embeddingsSequential": false,
|
|
134
139
|
"modelVariant": "default",
|
|
135
|
-
"executionProviders": [
|
|
140
|
+
"executionProviders": [
|
|
141
|
+
"cpu"
|
|
142
|
+
],
|
|
136
143
|
"retrieval": {
|
|
137
144
|
"mode": "hybrid",
|
|
138
145
|
"extensionsOptional": true,
|
|
@@ -187,7 +194,17 @@
|
|
|
187
194
|
"prefetch": {
|
|
188
195
|
"enabled": true,
|
|
189
196
|
"maxBudgetPercent": 20,
|
|
190
|
-
"warmTopN": 0
|
|
197
|
+
"warmTopN": 0,
|
|
198
|
+
"policy": {
|
|
199
|
+
"enabled": true,
|
|
200
|
+
"mode": "safe",
|
|
201
|
+
"minSamples": 20,
|
|
202
|
+
"suppressionWasteRate": 0.8,
|
|
203
|
+
"boostHitRate": 0.35,
|
|
204
|
+
"retentionDays": 14,
|
|
205
|
+
"maxPriorityBoost": 25,
|
|
206
|
+
"maxBudgetTrimPercent": 50
|
|
207
|
+
}
|
|
191
208
|
},
|
|
192
209
|
"tracing": {
|
|
193
210
|
"enabled": true,
|
|
@@ -223,7 +240,12 @@
|
|
|
223
240
|
},
|
|
224
241
|
"runtime": {
|
|
225
242
|
"enabled": true,
|
|
226
|
-
"allowedRuntimes": [
|
|
243
|
+
"allowedRuntimes": [
|
|
244
|
+
"node",
|
|
245
|
+
"typescript",
|
|
246
|
+
"python",
|
|
247
|
+
"shell"
|
|
248
|
+
],
|
|
227
249
|
"allowedExecutables": [],
|
|
228
250
|
"maxDurationMs": 30000,
|
|
229
251
|
"maxStdoutBytes": 1048576,
|
|
@@ -290,5 +312,10 @@
|
|
|
290
312
|
},
|
|
291
313
|
"memory": {
|
|
292
314
|
"enabled": false
|
|
315
|
+
},
|
|
316
|
+
"$": {
|
|
317
|
+
"prefetch": {
|
|
318
|
+
"policy": "{\"enabled\":true,\"mode\":\"safe\",\"minSamples\":20,\"suppressionWasteRate\":0.8,\"boostHitRate\":0.35,\"retentionDays\":14,\"maxPriorityBoost\":25,\"maxBudgetTrimPercent\":50}"
|
|
319
|
+
}
|
|
293
320
|
}
|
|
294
321
|
}
|
|
@@ -145,8 +145,9 @@
|
|
|
145
145
|
"provider": "mock",
|
|
146
146
|
"executionProviders": ["cpu"],
|
|
147
147
|
"modelVariant": "default",
|
|
148
|
-
"
|
|
149
|
-
"
|
|
148
|
+
"embeddingProfile": "specialized",
|
|
149
|
+
"symbolEmbeddingModels": ["jina-embeddings-v2-base-code"],
|
|
150
|
+
"fileSummaryEmbeddingModels": ["nomic-embed-text-v1.5"],
|
|
150
151
|
"generateSummaries": false
|
|
151
152
|
},
|
|
152
153
|
"prefetch": {
|
|
@@ -552,20 +552,36 @@
|
|
|
552
552
|
"enum": ["api", "local", "mock"],
|
|
553
553
|
"default": "local"
|
|
554
554
|
},
|
|
555
|
+
"embeddingProfile": {
|
|
556
|
+
"type": "string",
|
|
557
|
+
"enum": ["specialized", "max-recall"],
|
|
558
|
+
"default": "specialized",
|
|
559
|
+
"description": "Semantic embedding model profile. 'specialized' embeds Symbols with Jina and FileSummary nodes with Nomic. 'max-recall' restores both supported models on both lanes."
|
|
560
|
+
},
|
|
561
|
+
"symbolEmbeddingModels": {
|
|
562
|
+
"type": "array",
|
|
563
|
+
"items": { "type": "string" },
|
|
564
|
+
"default": ["jina-embeddings-v2-base-code"],
|
|
565
|
+
"description": "Embedding models to populate for Symbol nodes. Overrides embeddingProfile for the Symbol lane when set."
|
|
566
|
+
},
|
|
567
|
+
"fileSummaryEmbeddingModels": {
|
|
568
|
+
"type": "array",
|
|
569
|
+
"items": { "type": "string" },
|
|
570
|
+
"default": ["nomic-embed-text-v1.5"],
|
|
571
|
+
"description": "Embedding models to populate for FileSummary nodes. Overrides embeddingProfile for the FileSummary lane when set."
|
|
572
|
+
},
|
|
555
573
|
"model": {
|
|
556
574
|
"type": "string",
|
|
557
|
-
"
|
|
558
|
-
"default": "jina-embeddings-v2-base-code"
|
|
575
|
+
"description": "Deprecated legacy primary embedding model. When no embeddingProfile or per-lane model arrays are configured, model plus additionalModels are treated as one shared model list for both Symbol and FileSummary embeddings."
|
|
559
576
|
},
|
|
560
577
|
"additionalModels": {
|
|
561
578
|
"type": "array",
|
|
562
579
|
"items": { "type": "string" },
|
|
563
|
-
"
|
|
564
|
-
"description": "Extra embedding models to populate at index time so multiple vector lanes can contribute to hybrid fusion. Primary `model` is always populated; each name listed here gets a separate pass. Unknown model names are skipped."
|
|
580
|
+
"description": "Deprecated legacy shared extra embedding models. Use embeddingProfile, symbolEmbeddingModels, or fileSummaryEmbeddingModels instead."
|
|
565
581
|
},
|
|
566
582
|
"modelCacheDir": {
|
|
567
583
|
"type": "string",
|
|
568
|
-
"description": "Override directory for downloaded model files
|
|
584
|
+
"description": "Override directory for downloaded local embedding model files. Defaults to the platform-specific SDL-MCP model cache."
|
|
569
585
|
},
|
|
570
586
|
"generateSummaries": {
|
|
571
587
|
"type": "boolean",
|
|
@@ -830,7 +846,9 @@
|
|
|
830
846
|
"default": {
|
|
831
847
|
"enabled": true,
|
|
832
848
|
"provider": "local",
|
|
833
|
-
"
|
|
849
|
+
"embeddingProfile": "specialized",
|
|
850
|
+
"symbolEmbeddingModels": ["jina-embeddings-v2-base-code"],
|
|
851
|
+
"fileSummaryEmbeddingModels": ["nomic-embed-text-v1.5"],
|
|
834
852
|
"generateSummaries": false,
|
|
835
853
|
"summaryModel": "claude-haiku-4-5-20251001",
|
|
836
854
|
"summaryMaxConcurrency": 5,
|
|
@@ -996,12 +1014,47 @@
|
|
|
996
1014
|
"minimum": 0,
|
|
997
1015
|
"default": 0,
|
|
998
1016
|
"description": "Number of top-fan-in symbols to prefetch on serve start. Default 0 disables startup warming; raise only when you have evidence the warm set is consumed within the 5-minute stale window."
|
|
1017
|
+
},
|
|
1018
|
+
"policy": {
|
|
1019
|
+
"type": "object",
|
|
1020
|
+
"description": "Outcome-trained predictive context policy. Safe mode can suppress, trim, or boost existing prefetch strategies but cannot invent new strategy types.",
|
|
1021
|
+
"additionalProperties": false,
|
|
1022
|
+
"properties": {
|
|
1023
|
+
"enabled": { "type": "boolean", "default": true },
|
|
1024
|
+
"mode": { "enum": ["observe", "safe"], "default": "safe" },
|
|
1025
|
+
"minSamples": { "type": "integer", "minimum": 1, "default": 20 },
|
|
1026
|
+
"suppressionWasteRate": { "type": "number", "minimum": 0, "maximum": 1, "default": 0.8 },
|
|
1027
|
+
"boostHitRate": { "type": "number", "minimum": 0, "maximum": 1, "default": 0.35 },
|
|
1028
|
+
"retentionDays": { "type": "integer", "minimum": 1, "default": 14 },
|
|
1029
|
+
"maxPriorityBoost": { "type": "integer", "minimum": 0, "maximum": 100, "default": 25 },
|
|
1030
|
+
"maxBudgetTrimPercent": { "type": "integer", "minimum": 0, "maximum": 100, "default": 50 }
|
|
1031
|
+
},
|
|
1032
|
+
"default": {
|
|
1033
|
+
"enabled": true,
|
|
1034
|
+
"mode": "safe",
|
|
1035
|
+
"minSamples": 20,
|
|
1036
|
+
"suppressionWasteRate": 0.8,
|
|
1037
|
+
"boostHitRate": 0.35,
|
|
1038
|
+
"retentionDays": 14,
|
|
1039
|
+
"maxPriorityBoost": 25,
|
|
1040
|
+
"maxBudgetTrimPercent": 50
|
|
1041
|
+
}
|
|
999
1042
|
}
|
|
1000
1043
|
},
|
|
1001
1044
|
"default": {
|
|
1002
1045
|
"enabled": true,
|
|
1003
1046
|
"maxBudgetPercent": 20,
|
|
1004
|
-
"warmTopN": 0
|
|
1047
|
+
"warmTopN": 0,
|
|
1048
|
+
"policy": {
|
|
1049
|
+
"enabled": true,
|
|
1050
|
+
"mode": "safe",
|
|
1051
|
+
"minSamples": 20,
|
|
1052
|
+
"suppressionWasteRate": 0.8,
|
|
1053
|
+
"boostHitRate": 0.35,
|
|
1054
|
+
"retentionDays": 14,
|
|
1055
|
+
"maxPriorityBoost": 25,
|
|
1056
|
+
"maxBudgetTrimPercent": 50
|
|
1057
|
+
}
|
|
1005
1058
|
}
|
|
1006
1059
|
},
|
|
1007
1060
|
"observability": {
|