sdl-mcp 0.11.2 → 0.11.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.
Files changed (203) hide show
  1. package/README.md +12 -5
  2. package/config/sdlmcp.config.schema.json +1 -1
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/agent/context-engine.d.ts.map +1 -1
  5. package/dist/agent/context-engine.js +71 -13
  6. package/dist/agent/context-engine.js.map +1 -1
  7. package/dist/agent/context-ranking.d.ts.map +1 -1
  8. package/dist/agent/context-ranking.js +17 -4
  9. package/dist/agent/context-ranking.js.map +1 -1
  10. package/dist/agent/context-seeding.d.ts +6 -4
  11. package/dist/agent/context-seeding.d.ts.map +1 -1
  12. package/dist/agent/context-seeding.js +291 -60
  13. package/dist/agent/context-seeding.js.map +1 -1
  14. package/dist/agent/executor.d.ts +18 -5
  15. package/dist/agent/executor.d.ts.map +1 -1
  16. package/dist/agent/executor.js +347 -42
  17. package/dist/agent/executor.js.map +1 -1
  18. package/dist/agent/identifier-extraction.d.ts.map +1 -1
  19. package/dist/agent/identifier-extraction.js +6 -1
  20. package/dist/agent/identifier-extraction.js.map +1 -1
  21. package/dist/agent/types.d.ts +11 -2
  22. package/dist/agent/types.d.ts.map +1 -1
  23. package/dist/cli/argParsing.d.ts.map +1 -1
  24. package/dist/cli/argParsing.js +9 -0
  25. package/dist/cli/argParsing.js.map +1 -1
  26. package/dist/cli/commands/serve.d.ts.map +1 -1
  27. package/dist/cli/commands/serve.js +17 -1
  28. package/dist/cli/commands/serve.js.map +1 -1
  29. package/dist/cli/commands/tool-actions.d.ts +1 -1
  30. package/dist/cli/commands/tool-actions.d.ts.map +1 -1
  31. package/dist/cli/commands/tool-actions.js +123 -0
  32. package/dist/cli/commands/tool-actions.js.map +1 -1
  33. package/dist/cli/commands/tool-dispatch.d.ts +3 -0
  34. package/dist/cli/commands/tool-dispatch.d.ts.map +1 -1
  35. package/dist/cli/commands/tool-dispatch.js +101 -15
  36. package/dist/cli/commands/tool-dispatch.js.map +1 -1
  37. package/dist/cli/commands/tool-output.js +3 -3
  38. package/dist/cli/commands/tool-output.js.map +1 -1
  39. package/dist/cli/index.js +4 -1
  40. package/dist/cli/index.js.map +1 -1
  41. package/dist/cli/transport/http.d.ts +10 -6
  42. package/dist/cli/transport/http.d.ts.map +1 -1
  43. package/dist/cli/transport/http.js +377 -183
  44. package/dist/cli/transport/http.js.map +1 -1
  45. package/dist/cli/types.d.ts +1 -0
  46. package/dist/cli/types.d.ts.map +1 -1
  47. package/dist/code-mode/action-catalog.d.ts +2 -2
  48. package/dist/code-mode/action-catalog.d.ts.map +1 -1
  49. package/dist/code-mode/action-catalog.js +157 -104
  50. package/dist/code-mode/action-catalog.js.map +1 -1
  51. package/dist/code-mode/index.d.ts +13 -0
  52. package/dist/code-mode/index.d.ts.map +1 -1
  53. package/dist/code-mode/index.js +149 -146
  54. package/dist/code-mode/index.js.map +1 -1
  55. package/dist/code-mode/types.d.ts +3 -0
  56. package/dist/code-mode/types.d.ts.map +1 -1
  57. package/dist/code-mode/types.js +2 -0
  58. package/dist/code-mode/types.js.map +1 -1
  59. package/dist/code-mode/workflow-executor.d.ts.map +1 -1
  60. package/dist/code-mode/workflow-executor.js +30 -2
  61. package/dist/code-mode/workflow-executor.js.map +1 -1
  62. package/dist/code-mode/workflow-parser.d.ts +1 -0
  63. package/dist/code-mode/workflow-parser.d.ts.map +1 -1
  64. package/dist/code-mode/workflow-parser.js +3 -2
  65. package/dist/code-mode/workflow-parser.js.map +1 -1
  66. package/dist/code-mode/workflow-truncation.d.ts.map +1 -1
  67. package/dist/code-mode/workflow-truncation.js +21 -0
  68. package/dist/code-mode/workflow-truncation.js.map +1 -1
  69. package/dist/config/admin-api.d.ts +67 -0
  70. package/dist/config/admin-api.d.ts.map +1 -0
  71. package/dist/config/admin-api.js +762 -0
  72. package/dist/config/admin-api.js.map +1 -0
  73. package/dist/config/admin-metadata.d.ts +46 -0
  74. package/dist/config/admin-metadata.d.ts.map +1 -0
  75. package/dist/config/admin-metadata.js +131 -0
  76. package/dist/config/admin-metadata.js.map +1 -0
  77. package/dist/config/types.d.ts +0 -1
  78. package/dist/config/types.d.ts.map +1 -1
  79. package/dist/config/types.js +0 -5
  80. package/dist/config/types.js.map +1 -1
  81. package/dist/db/ladybug-core.d.ts +12 -3
  82. package/dist/db/ladybug-core.d.ts.map +1 -1
  83. package/dist/db/ladybug-core.js +192 -25
  84. package/dist/db/ladybug-core.js.map +1 -1
  85. package/dist/db/ladybug-processes.d.ts +1 -0
  86. package/dist/db/ladybug-processes.d.ts.map +1 -1
  87. package/dist/db/ladybug-processes.js +17 -0
  88. package/dist/db/ladybug-processes.js.map +1 -1
  89. package/dist/db/ladybug-schema.d.ts.map +1 -1
  90. package/dist/db/ladybug-schema.js +5 -17
  91. package/dist/db/ladybug-schema.js.map +1 -1
  92. package/dist/db/migrations/m014-add-packed-stats.js +3 -15
  93. package/dist/db/migrations/m014-add-packed-stats.js.map +1 -1
  94. package/dist/db/migrations/m015-backfill-packed-stats.js +3 -15
  95. package/dist/db/migrations/m015-backfill-packed-stats.js.map +1 -1
  96. package/dist/graph/overview.js +6 -6
  97. package/dist/graph/overview.js.map +1 -1
  98. package/dist/indexer/derived-refresh-queue.d.ts +4 -0
  99. package/dist/indexer/derived-refresh-queue.d.ts.map +1 -1
  100. package/dist/indexer/derived-refresh-queue.js +186 -16
  101. package/dist/indexer/derived-refresh-queue.js.map +1 -1
  102. package/dist/main.js +21 -5
  103. package/dist/main.js.map +1 -1
  104. package/dist/mcp/context-response-projection.d.ts +13 -7
  105. package/dist/mcp/context-response-projection.d.ts.map +1 -1
  106. package/dist/mcp/context-response-projection.js +144 -11
  107. package/dist/mcp/context-response-projection.js.map +1 -1
  108. package/dist/mcp/dispatch-limiter.d.ts +15 -2
  109. package/dist/mcp/dispatch-limiter.d.ts.map +1 -1
  110. package/dist/mcp/dispatch-limiter.js +57 -3
  111. package/dist/mcp/dispatch-limiter.js.map +1 -1
  112. package/dist/mcp/telemetry.d.ts +3 -0
  113. package/dist/mcp/telemetry.d.ts.map +1 -1
  114. package/dist/mcp/telemetry.js.map +1 -1
  115. package/dist/mcp/timing-diagnostics.d.ts +20 -0
  116. package/dist/mcp/timing-diagnostics.d.ts.map +1 -0
  117. package/dist/mcp/timing-diagnostics.js +82 -0
  118. package/dist/mcp/timing-diagnostics.js.map +1 -0
  119. package/dist/mcp/tool-call-formatter.d.ts +2 -2
  120. package/dist/mcp/tool-call-formatter.d.ts.map +1 -1
  121. package/dist/mcp/tool-call-formatter.js +331 -16
  122. package/dist/mcp/tool-call-formatter.js.map +1 -1
  123. package/dist/mcp/tools/code.d.ts.map +1 -1
  124. package/dist/mcp/tools/code.js +10 -1
  125. package/dist/mcp/tools/code.js.map +1 -1
  126. package/dist/mcp/tools/context.d.ts.map +1 -1
  127. package/dist/mcp/tools/context.js +41 -3
  128. package/dist/mcp/tools/context.js.map +1 -1
  129. package/dist/mcp/tools/file-gateway.d.ts +8 -0
  130. package/dist/mcp/tools/file-gateway.d.ts.map +1 -1
  131. package/dist/mcp/tools/file-gateway.js +25 -5
  132. package/dist/mcp/tools/file-gateway.js.map +1 -1
  133. package/dist/mcp/tools/file-write.d.ts.map +1 -1
  134. package/dist/mcp/tools/file-write.js +52 -2
  135. package/dist/mcp/tools/file-write.js.map +1 -1
  136. package/dist/mcp/tools/prRisk.d.ts +8 -3
  137. package/dist/mcp/tools/prRisk.d.ts.map +1 -1
  138. package/dist/mcp/tools/prRisk.js +45 -6
  139. package/dist/mcp/tools/prRisk.js.map +1 -1
  140. package/dist/mcp/tools/repo.d.ts.map +1 -1
  141. package/dist/mcp/tools/repo.js +146 -30
  142. package/dist/mcp/tools/repo.js.map +1 -1
  143. package/dist/mcp/tools/runtime.d.ts.map +1 -1
  144. package/dist/mcp/tools/runtime.js +43 -16
  145. package/dist/mcp/tools/runtime.js.map +1 -1
  146. package/dist/mcp/tools/scip.d.ts.map +1 -1
  147. package/dist/mcp/tools/scip.js +11 -1
  148. package/dist/mcp/tools/scip.js.map +1 -1
  149. package/dist/mcp/tools/search-edit/index.d.ts.map +1 -1
  150. package/dist/mcp/tools/search-edit/index.js +8 -0
  151. package/dist/mcp/tools/search-edit/index.js.map +1 -1
  152. package/dist/mcp/tools/usage.d.ts.map +1 -1
  153. package/dist/mcp/tools/usage.js +19 -6
  154. package/dist/mcp/tools/usage.js.map +1 -1
  155. package/dist/mcp/tools.d.ts +69 -10
  156. package/dist/mcp/tools.d.ts.map +1 -1
  157. package/dist/mcp/tools.js +54 -3
  158. package/dist/mcp/tools.js.map +1 -1
  159. package/dist/observability/aggregator.d.ts +10 -0
  160. package/dist/observability/aggregator.d.ts.map +1 -1
  161. package/dist/observability/aggregator.js +80 -9
  162. package/dist/observability/aggregator.js.map +1 -1
  163. package/dist/observability/event-tap.d.ts +11 -0
  164. package/dist/observability/event-tap.d.ts.map +1 -1
  165. package/dist/observability/event-tap.js.map +1 -1
  166. package/dist/observability/service.d.ts +7 -0
  167. package/dist/observability/service.d.ts.map +1 -1
  168. package/dist/observability/service.js +29 -1
  169. package/dist/observability/service.js.map +1 -1
  170. package/dist/observability/types.d.ts +17 -0
  171. package/dist/observability/types.d.ts.map +1 -1
  172. package/dist/observability/types.js.map +1 -1
  173. package/dist/retrieval/index-lifecycle.js +2 -2
  174. package/dist/retrieval/index-lifecycle.js.map +1 -1
  175. package/dist/retrieval/orchestrator.d.ts +1 -0
  176. package/dist/retrieval/orchestrator.d.ts.map +1 -1
  177. package/dist/retrieval/orchestrator.js +79 -8
  178. package/dist/retrieval/orchestrator.js.map +1 -1
  179. package/dist/retrieval/types.d.ts +4 -0
  180. package/dist/retrieval/types.d.ts.map +1 -1
  181. package/dist/server.d.ts +12 -0
  182. package/dist/server.d.ts.map +1 -1
  183. package/dist/server.js +95 -68
  184. package/dist/server.js.map +1 -1
  185. package/dist/ui/admin-shell.css +58 -0
  186. package/dist/ui/config.css +130 -0
  187. package/dist/ui/config.d.ts +3 -0
  188. package/dist/ui/config.d.ts.map +1 -0
  189. package/dist/ui/config.html +96 -0
  190. package/dist/ui/config.js +1050 -0
  191. package/dist/ui/config.js.map +1 -0
  192. package/dist/ui/graph.css +108 -0
  193. package/dist/ui/graph.html +52 -0
  194. package/dist/ui/graph.js +213 -181
  195. package/dist/ui/observability.css +1332 -0
  196. package/dist/ui/observability.html +350 -0
  197. package/dist/ui/observability.js +848 -703
  198. package/dist/ui/observability.js.map +1 -1
  199. package/dist/util/concurrency.d.ts +16 -0
  200. package/dist/util/concurrency.d.ts.map +1 -1
  201. package/dist/util/concurrency.js +14 -1
  202. package/dist/util/concurrency.js.map +1 -1
  203. package/package.json +3 -3
package/README.md CHANGED
@@ -368,6 +368,8 @@ The sandboxed runtime execution tool (`sdl.runtime.execute`) has its own governa
368
368
 
369
369
  `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`.
370
370
 
371
+ Unscoped natural-language context calls use confidence-gated hybrid retrieval by default. Exact symbol mentions and explicit `focusPaths` / `focusSymbols` stay on the fast path; low-confidence lexical results can escalate to bounded FTS + vector retrieval. Set `options.semantic: true` to force hybrid retrieval, or `options.semantic: false` to keep lexical-only behavior for deterministic debugging.
372
+
371
373
  The feedback loop (`sdl.agent.feedback`) records which symbols were useful and which were missing, improving future slice quality.
372
374
 
373
375
  For portable exports such as tickets and PR descriptions, use the CLI `sdl-mcp summary` command. It generates token-bounded context briefings in markdown, JSON, or clipboard format for use outside MCP environments.
@@ -375,6 +377,7 @@ For portable exports such as tickets and PR descriptions, use the CLI `sdl-mcp s
375
377
  **Why it matters:**
376
378
 
377
379
  - Task-shaped context retrieval plans the **right Iris Gate path** within a token budget
380
+ - Confidence-gated hybrid retrieval improves discovery without slowing known-target lookups
378
381
  - Feedback loop records what was useful/missing, improving future slice quality
379
382
  - Portable context summaries export findings for use outside MCP environments
380
383
 
@@ -474,7 +477,7 @@ flowchart LR
474
477
 
475
478
  ### CLI Tool Access — No MCP Server Required
476
479
 
477
- Access 35 SDL-MCP action aliases directly from the command line with `sdl-mcp tool`. No MCP server, transport, or SDK is required.
480
+ Access SDL-MCP direct action aliases plus the low-risk `action.search` and `manual` metadata proxies from the command line with `sdl-mcp tool`. No MCP server, transport, or SDK is required.
478
481
 
479
482
  ```bash
480
483
  # Search for symbols
@@ -489,14 +492,18 @@ echo '{"repoId":"my-repo"}' | sdl-mcp tool symbol.search --query "auth"
489
492
  # Apply a single-file targeted write
490
493
  sdl-mcp tool file.write --repo-id my-repo --file-path config/app.json \
491
494
  --json-path server.port --json-value 8080
495
+
496
+ # Discover and inspect metadata without opening the graph DB
497
+ sdl-mcp tool action.search --query manual --summary-only
498
+ sdl-mcp tool manual --actions action.search --format json
492
499
  ```
493
500
 
494
- Features include typed argument coercion (string, number, boolean, string[], json), budget flag merging, stdin JSON piping with CLI flag precedence, auto-resolved `repoId` from cwd, four output formats (json, json-compact, pretty, table), typo suggestions, and per-action `--help`. The CLI dispatches through the same gateway router and Zod schemas as the MCP server identical code paths, identical validation.
501
+ Features include typed argument coercion (string, number, boolean, string[], json), budget flag merging, stdin JSON piping with CLI flag precedence, auto-resolved `repoId` from cwd for graph actions, four output formats (json, json-compact, pretty, table), typo suggestions, and per-action `--help`. Direct graph actions dispatch through the same gateway router and Zod schemas as the MCP server; `action.search` and `manual` run in process against the same metadata handlers used by MCP registration.
495
502
 
496
503
  **Why it matters:**
497
504
 
498
- - 35 direct action aliases accessible from **any terminal** no server, transport, or SDK required
499
- - Same code paths and Zod validation as the MCP server — identical behavior
505
+ - 35 direct graph/action aliases plus `action.search` and `manual` metadata proxies accessible from **any terminal** - no server, transport, or SDK required
506
+ - Direct graph actions keep gateway-router/Zod parity; metadata proxies share the same MCP registration handlers
500
507
  - Four output formats (json, json-compact, pretty, table) for scripting and CI pipelines
501
508
  - Auto-resolves repoId from cwd, supports stdin JSON piping and per-action `--help`
502
509
 
@@ -539,7 +546,7 @@ Each gateway tool accepts an `action` discriminator field (e.g., `{ action: "sym
539
546
 
540
547
  ### Observability Dashboard
541
548
 
542
- Built-in read-only dashboard surfaces every metric needed to diagnose SDL-MCP behaviour without parsing stderr logs. Cyberpunk-corporate dark UI at `/ui/observability` on the HTTP transport, 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 savings, SCIP ingest health, deterministic bottleneck classification, and OS-level resource samples. 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, 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).
543
550
 
544
551
  <br/>
545
552
 
@@ -1193,7 +1193,7 @@
1193
1193
  },
1194
1194
  "toolQueueTimeoutMs": {
1195
1195
  "type": "integer",
1196
- "description": "Timeout for queued tool dispatch operations in milliseconds",
1196
+ "description": "How long a foreground MCP tool request can wait for a dispatch slot before its handler starts. Timed-out requests fail with a retryable unavailable error; running handlers are not canceled.",
1197
1197
  "minimum": 5000,
1198
1198
  "maximum": 120000,
1199
1199
  "default": 30000