sdl-mcp 0.8.1 → 0.8.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 +81 -110
- package/dist/agent/executor.d.ts.map +1 -1
- package/dist/agent/executor.js +6 -5
- package/dist/agent/executor.js.map +1 -1
- package/dist/agent/orchestrator.d.ts.map +1 -1
- package/dist/agent/orchestrator.js +2 -1
- package/dist/agent/orchestrator.js.map +1 -1
- package/dist/cli/commands/serve.d.ts.map +1 -1
- package/dist/cli/commands/serve.js +55 -29
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/transport/http.d.ts.map +1 -1
- package/dist/cli/transport/http.js +23 -9
- package/dist/cli/transport/http.js.map +1 -1
- package/dist/code/gate.d.ts +1 -1
- package/dist/code/gate.d.ts.map +1 -1
- package/dist/code/hotpath.d.ts +1 -1
- package/dist/code/hotpath.d.ts.map +1 -1
- package/dist/code/hotpath.js +86 -24
- package/dist/code/hotpath.js.map +1 -1
- package/dist/code/redact.d.ts.map +1 -1
- package/dist/code/redact.js +9 -4
- package/dist/code/redact.js.map +1 -1
- package/dist/code/skeleton.d.ts +1 -1
- package/dist/code/skeleton.d.ts.map +1 -1
- package/dist/code/skeleton.js +394 -122
- package/dist/code/skeleton.js.map +1 -1
- package/dist/code/windows.d.ts +2 -2
- package/dist/code/windows.d.ts.map +1 -1
- package/dist/code/windows.js +9 -8
- package/dist/code/windows.js.map +1 -1
- package/dist/config/constants.d.ts +48 -0
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/constants.js +58 -1
- package/dist/config/constants.js.map +1 -1
- package/dist/db/kuzu-clusters.d.ts +54 -0
- package/dist/db/kuzu-clusters.d.ts.map +1 -0
- package/dist/db/kuzu-clusters.js +158 -0
- package/dist/db/kuzu-clusters.js.map +1 -0
- package/dist/db/kuzu-config.d.ts +20 -0
- package/dist/db/kuzu-config.d.ts.map +1 -0
- package/dist/db/kuzu-config.js +34 -0
- package/dist/db/kuzu-config.js.map +1 -0
- package/dist/db/kuzu-core.d.ts +20 -0
- package/dist/db/kuzu-core.d.ts.map +1 -0
- package/dist/db/kuzu-core.js +137 -0
- package/dist/db/kuzu-core.js.map +1 -0
- package/dist/db/kuzu-edges.d.ts +60 -0
- package/dist/db/kuzu-edges.d.ts.map +1 -0
- package/dist/db/kuzu-edges.js +440 -0
- package/dist/db/kuzu-edges.js.map +1 -0
- package/dist/db/kuzu-embeddings.d.ts +58 -0
- package/dist/db/kuzu-embeddings.d.ts.map +1 -0
- package/dist/db/kuzu-embeddings.js +207 -0
- package/dist/db/kuzu-embeddings.js.map +1 -0
- package/dist/db/kuzu-feedback.d.ts +45 -0
- package/dist/db/kuzu-feedback.d.ts.map +1 -0
- package/dist/db/kuzu-feedback.js +169 -0
- package/dist/db/kuzu-feedback.js.map +1 -0
- package/dist/db/kuzu-metrics.d.ts +19 -0
- package/dist/db/kuzu-metrics.d.ts.map +1 -0
- package/dist/db/kuzu-metrics.js +173 -0
- package/dist/db/kuzu-metrics.js.map +1 -0
- package/dist/db/kuzu-processes.d.ts +56 -0
- package/dist/db/kuzu-processes.d.ts.map +1 -0
- package/dist/db/kuzu-processes.js +153 -0
- package/dist/db/kuzu-processes.js.map +1 -0
- package/dist/db/kuzu-queries.d.ts +32 -436
- package/dist/db/kuzu-queries.d.ts.map +1 -1
- package/dist/db/kuzu-queries.js +44 -2320
- package/dist/db/kuzu-queries.js.map +1 -1
- package/dist/db/kuzu-repos.d.ts +57 -0
- package/dist/db/kuzu-repos.d.ts.map +1 -0
- package/dist/db/kuzu-repos.js +209 -0
- package/dist/db/kuzu-repos.js.map +1 -0
- package/dist/db/kuzu-slices.d.ts +27 -0
- package/dist/db/kuzu-slices.d.ts.map +1 -0
- package/dist/db/kuzu-slices.js +63 -0
- package/dist/db/kuzu-slices.js.map +1 -0
- package/dist/db/kuzu-symbols.d.ts +71 -0
- package/dist/db/kuzu-symbols.d.ts.map +1 -0
- package/dist/db/kuzu-symbols.js +481 -0
- package/dist/db/kuzu-symbols.js.map +1 -0
- package/dist/db/kuzu-versions.d.ts +34 -0
- package/dist/db/kuzu-versions.d.ts.map +1 -0
- package/dist/db/kuzu-versions.js +157 -0
- package/dist/db/kuzu-versions.js.map +1 -0
- package/dist/db/kuzu.d.ts.map +1 -1
- package/dist/db/kuzu.js +81 -39
- package/dist/db/kuzu.js.map +1 -1
- package/dist/delta/blastRadius.d.ts +1 -1
- package/dist/delta/blastRadius.d.ts.map +1 -1
- package/dist/delta/blastRadius.js +1 -1
- package/dist/delta/blastRadius.js.map +1 -1
- package/dist/delta/diff.d.ts +1 -1
- package/dist/delta/diff.d.ts.map +1 -1
- package/dist/delta/diff.js +5 -4
- package/dist/delta/diff.js.map +1 -1
- package/dist/delta/versioning.d.ts.map +1 -1
- package/dist/delta/versioning.js +2 -1
- package/dist/delta/versioning.js.map +1 -1
- package/dist/domain/errors.d.ts +34 -0
- package/dist/domain/errors.d.ts.map +1 -0
- package/dist/domain/errors.js +50 -0
- package/dist/domain/errors.js.map +1 -0
- package/dist/domain/repositories/symbol-repository.d.ts +1 -1
- package/dist/domain/repositories/symbol-repository.d.ts.map +1 -1
- package/dist/domain/types.d.ts +691 -0
- package/dist/domain/types.d.ts.map +1 -0
- package/dist/domain/types.js +33 -0
- package/dist/domain/types.js.map +1 -0
- package/dist/experiments/event-log-replay.d.ts +1 -1
- package/dist/experiments/event-log-replay.d.ts.map +1 -1
- package/dist/graph/cache.d.ts +1 -1
- package/dist/graph/cache.d.ts.map +1 -1
- package/dist/graph/metrics.d.ts +1 -1
- package/dist/graph/metrics.d.ts.map +1 -1
- package/dist/graph/metrics.js +48 -9
- package/dist/graph/metrics.js.map +1 -1
- package/dist/graph/overview.d.ts +1 -1
- package/dist/graph/overview.d.ts.map +1 -1
- package/dist/graph/prefetch.d.ts.map +1 -1
- package/dist/graph/prefetch.js +8 -1
- package/dist/graph/prefetch.js.map +1 -1
- package/dist/graph/process.d.ts.map +1 -1
- package/dist/graph/process.js +4 -5
- package/dist/graph/process.js.map +1 -1
- package/dist/graph/slice/beam-search-engine.d.ts +1 -1
- package/dist/graph/slice/beam-search-engine.d.ts.map +1 -1
- package/dist/graph/slice/result.d.ts +1 -1
- package/dist/graph/slice/result.d.ts.map +1 -1
- package/dist/graph/slice/slice-serializer.d.ts +1 -1
- package/dist/graph/slice/slice-serializer.d.ts.map +1 -1
- package/dist/graph/slice/slice-serializer.js +1 -1
- package/dist/graph/slice/slice-serializer.js.map +1 -1
- package/dist/graph/slice/start-node-resolver.d.ts.map +1 -1
- package/dist/graph/slice/start-node-resolver.js +90 -0
- package/dist/graph/slice/start-node-resolver.js.map +1 -1
- package/dist/graph/slice.d.ts +1 -1
- package/dist/graph/slice.d.ts.map +1 -1
- package/dist/graph/slice.js +9 -8
- package/dist/graph/slice.js.map +1 -1
- package/dist/graph/sliceCache.d.ts +1 -1
- package/dist/graph/sliceCache.d.ts.map +1 -1
- package/dist/indexer/adapter/cpp.d.ts.map +1 -1
- package/dist/indexer/adapter/cpp.js +2 -1
- package/dist/indexer/adapter/cpp.js.map +1 -1
- package/dist/indexer/adapter/csharp.d.ts.map +1 -1
- package/dist/indexer/adapter/csharp.js +2 -1
- package/dist/indexer/adapter/csharp.js.map +1 -1
- package/dist/indexer/adapter/php.d.ts.map +1 -1
- package/dist/indexer/adapter/php.js +15 -6
- package/dist/indexer/adapter/php.js.map +1 -1
- package/dist/indexer/adapter/plugin/loader.d.ts +1 -1
- package/dist/indexer/adapter/plugin/loader.d.ts.map +1 -1
- package/dist/indexer/adapter/plugin/loader.js +19 -2
- package/dist/indexer/adapter/plugin/loader.js.map +1 -1
- package/dist/indexer/adapter/rust.js +1 -1
- package/dist/indexer/adapter/rust.js.map +1 -1
- package/dist/indexer/configEdges.d.ts.map +1 -1
- package/dist/indexer/configEdges.js +2 -1
- package/dist/indexer/configEdges.js.map +1 -1
- package/dist/indexer/edge-builder/pass2.d.ts.map +1 -1
- package/dist/indexer/edge-builder/pass2.js +13 -2
- package/dist/indexer/edge-builder/pass2.js.map +1 -1
- package/dist/indexer/embeddings-local.d.ts.map +1 -1
- package/dist/indexer/embeddings-local.js +2 -2
- package/dist/indexer/embeddings-local.js.map +1 -1
- package/dist/indexer/fileScanner.d.ts.map +1 -1
- package/dist/indexer/fileScanner.js +1 -0
- package/dist/indexer/fileScanner.js.map +1 -1
- package/dist/indexer/fingerprints.d.ts.map +1 -1
- package/dist/indexer/fingerprints.js +2 -3
- package/dist/indexer/fingerprints.js.map +1 -1
- package/dist/indexer/indexer.d.ts +1 -1
- package/dist/indexer/indexer.d.ts.map +1 -1
- package/dist/indexer/indexer.js +50 -5
- package/dist/indexer/indexer.js.map +1 -1
- package/dist/indexer/parser/process-file.d.ts.map +1 -1
- package/dist/indexer/parser/process-file.js +41 -5
- package/dist/indexer/parser/process-file.js.map +1 -1
- package/dist/indexer/parser/rust-process-file.d.ts.map +1 -1
- package/dist/indexer/parser/rust-process-file.js +39 -4
- package/dist/indexer/parser/rust-process-file.js.map +1 -1
- package/dist/indexer/pass2/resolvers/go-pass2-resolver.d.ts.map +1 -1
- package/dist/indexer/pass2/resolvers/go-pass2-resolver.js +15 -5
- package/dist/indexer/pass2/resolvers/go-pass2-resolver.js.map +1 -1
- package/dist/indexer/rustIndexer.d.ts.map +1 -1
- package/dist/indexer/rustIndexer.js +9 -2
- package/dist/indexer/rustIndexer.js.map +1 -1
- package/dist/indexer/treesitter/tsTreesitter.d.ts.map +1 -1
- package/dist/indexer/treesitter/tsTreesitter.js +3 -2
- package/dist/indexer/treesitter/tsTreesitter.js.map +1 -1
- package/dist/indexer/watcher.d.ts.map +1 -1
- package/dist/indexer/watcher.js +25 -14
- package/dist/indexer/watcher.js.map +1 -1
- package/dist/indexer/worker.d.ts.map +1 -1
- package/dist/indexer/worker.js +2 -0
- package/dist/indexer/worker.js.map +1 -1
- package/dist/indexer/workerPool.d.ts.map +1 -1
- package/dist/indexer/workerPool.js +2 -1
- package/dist/indexer/workerPool.js.map +1 -1
- package/dist/live-index/coordinator.d.ts.map +1 -1
- package/dist/live-index/coordinator.js +2 -1
- package/dist/live-index/coordinator.js.map +1 -1
- package/dist/live-index/draft-parser.d.ts.map +1 -1
- package/dist/live-index/draft-parser.js +3 -1
- package/dist/live-index/draft-parser.js.map +1 -1
- package/dist/live-index/file-patcher.d.ts.map +1 -1
- package/dist/live-index/file-patcher.js +2 -1
- package/dist/live-index/file-patcher.js.map +1 -1
- package/dist/live-index/idle-monitor.d.ts.map +1 -1
- package/dist/live-index/idle-monitor.js +2 -1
- package/dist/live-index/idle-monitor.js.map +1 -1
- package/dist/live-index/reconcile-worker.d.ts.map +1 -1
- package/dist/live-index/reconcile-worker.js +2 -1
- package/dist/live-index/reconcile-worker.js.map +1 -1
- package/dist/main.js +39 -16
- package/dist/main.js.map +1 -1
- package/dist/mcp/errors.d.ts +2 -27
- package/dist/mcp/errors.d.ts.map +1 -1
- package/dist/mcp/errors.js +3 -43
- package/dist/mcp/errors.js.map +1 -1
- package/dist/mcp/health.d.ts.map +1 -1
- package/dist/mcp/health.js +12 -2
- package/dist/mcp/health.js.map +1 -1
- package/dist/mcp/ids.d.ts.map +1 -1
- package/dist/mcp/ids.js +3 -2
- package/dist/mcp/ids.js.map +1 -1
- package/dist/mcp/tools/code.js +1 -1
- package/dist/mcp/tools/code.js.map +1 -1
- package/dist/mcp/tools/delta.js +1 -1
- package/dist/mcp/tools/delta.js.map +1 -1
- package/dist/mcp/tools/policy.d.ts.map +1 -1
- package/dist/mcp/tools/policy.js +22 -2
- package/dist/mcp/tools/policy.js.map +1 -1
- package/dist/mcp/tools/prRisk.js +2 -2
- 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 +20 -9
- package/dist/mcp/tools/repo.js.map +1 -1
- package/dist/mcp/tools/slice.d.ts.map +1 -1
- package/dist/mcp/tools/slice.js +1 -1
- package/dist/mcp/tools/slice.js.map +1 -1
- package/dist/mcp/tools/symbol.d.ts.map +1 -1
- package/dist/mcp/tools/symbol.js +5 -4
- package/dist/mcp/tools/symbol.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +70 -56
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/types.d.ts +9 -687
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/mcp/types.js +12 -32
- package/dist/mcp/types.js.map +1 -1
- package/dist/policy/engine.d.ts +1 -1
- package/dist/policy/engine.d.ts.map +1 -1
- package/dist/policy/types.d.ts +1 -1
- package/dist/policy/types.d.ts.map +1 -1
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/dist/sync/pull.d.ts.map +1 -1
- package/dist/sync/pull.js +5 -4
- package/dist/sync/pull.js.map +1 -1
- package/dist/sync/sync.d.ts.map +1 -1
- package/dist/sync/sync.js +6 -5
- package/dist/sync/sync.js.map +1 -1
- package/dist/ts/diagnostics.d.ts.map +1 -1
- package/dist/ts/diagnostics.js +19 -5
- package/dist/ts/diagnostics.js.map +1 -1
- package/dist/ts/mapping.d.ts.map +1 -1
- package/dist/ts/mapping.js +2 -1
- package/dist/ts/mapping.js.map +1 -1
- package/dist/util/hashing.d.ts +1 -1
- package/dist/util/hashing.d.ts.map +1 -1
- package/dist/util/logger.d.ts +18 -0
- package/dist/util/logger.d.ts.map +1 -1
- package/dist/util/logger.js +120 -4
- package/dist/util/logger.js.map +1 -1
- package/dist/util/paths.d.ts.map +1 -1
- package/dist/util/paths.js +3 -2
- package/dist/util/paths.js.map +1 -1
- package/dist/util/pidfile.d.ts +58 -0
- package/dist/util/pidfile.d.ts.map +1 -0
- package/dist/util/pidfile.js +125 -0
- package/dist/util/pidfile.js.map +1 -0
- package/dist/util/safeJson.d.ts +44 -0
- package/dist/util/safeJson.d.ts.map +1 -0
- package/dist/util/safeJson.js +93 -0
- package/dist/util/safeJson.js.map +1 -0
- package/dist/util/safeRegex.d.ts +31 -0
- package/dist/util/safeRegex.d.ts.map +1 -0
- package/dist/util/safeRegex.js +111 -0
- package/dist/util/safeRegex.js.map +1 -0
- package/dist/util/shutdown.d.ts +79 -0
- package/dist/util/shutdown.d.ts.map +1 -0
- package/dist/util/shutdown.js +124 -0
- package/dist/util/shutdown.js.map +1 -0
- package/dist/util/truncation.d.ts +1 -1
- package/dist/util/truncation.d.ts.map +1 -1
- package/package.json +10 -10
package/README.md
CHANGED
|
@@ -30,25 +30,6 @@
|
|
|
30
30
|
</details>
|
|
31
31
|
</div>
|
|
32
32
|
|
|
33
|
-
SDL-MCP (Symbol Delta Ledger MCP Server) is a cards-first context system for coding agents.
|
|
34
|
-
|
|
35
|
-
Instead of opening large files first, SDL-MCP indexes repositories into symbol cards and graph edges so agents can:
|
|
36
|
-
|
|
37
|
-
- Search and retrieve small, structured context first
|
|
38
|
-
- Build task-specific graph slices with token budgets
|
|
39
|
-
- Refresh context with deltas between versions
|
|
40
|
-
- Request code windows through policy-gated access
|
|
41
|
-
|
|
42
|
-
## Why It Helps Coding Agents
|
|
43
|
-
|
|
44
|
-
- Lower token usage by default through cards/slices/skeletons
|
|
45
|
-
- Better relevance with dependency-aware context retrieval
|
|
46
|
-
- Safer context access via policy controls and auditing
|
|
47
|
-
- Faster iteration through incremental indexing and refresh workflows
|
|
48
|
-
- KuzuDB-backed graph persistence means indexing happens once, not every session
|
|
49
|
-
- Confidence-aware call resolution filtering and pass2 provenance in symbol cards and slices
|
|
50
|
-
- Works across TypeScript, JavaScript, Python, Go, Java, C#, C, C++, PHP, Rust, Kotlin, and Shell
|
|
51
|
-
|
|
52
33
|
## Claude Opus 4.6 High Overview
|
|
53
34
|
|
|
54
35
|
Question: "Review the code for SDL-MCP and explain to potential new users what this MCP server does and the benefits of
|
|
@@ -56,150 +37,140 @@ Question: "Review the code for SDL-MCP and explain to potential new users what t
|
|
|
56
37
|
|
|
57
38
|
Response: "# What is SDL-MCP?
|
|
58
39
|
|
|
59
|
-
**SDL-MCP** (Symbol Delta Ledger - Model Context Protocol) is an MCP server that
|
|
60
|
-
|
|
61
|
-
|
|
40
|
+
**SDL-MCP** (Symbol Delta Ledger - Model Context Protocol) is an MCP server that gives AI coding agents a structured,
|
|
41
|
+
token-efficient way to understand your codebase. Instead of feeding entire files into the context window, SDL-MCP
|
|
42
|
+
indexes your repository into a **searchable knowledge graph** of symbols and their relationships, then serves exactly
|
|
43
|
+
the right amount of context through a controlled escalation path.
|
|
44
|
+
|
|
45
|
+
It ships as an npm package (`npm install -g sdl-mcp`) with a CLI for setup and a server that any MCP-compatible client
|
|
46
|
+
(Claude Code, Claude Desktop, etc.) can connect to.
|
|
62
47
|
|
|
63
48
|
---
|
|
64
49
|
|
|
65
50
|
## The Problem It Solves
|
|
66
51
|
|
|
67
|
-
When AI assistants
|
|
68
|
-
|
|
52
|
+
When AI assistants work with code, they typically read whole files — often many of them — to gather enough context.
|
|
53
|
+
This has three costs:
|
|
69
54
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
55
|
+
1. **Context windows fill up fast.** A modest codebase can exceed token limits quickly.
|
|
56
|
+
2. **Irrelevant code dilutes focus.** Tokens are spent on code unrelated to the task.
|
|
57
|
+
3. **No incremental understanding.** Every interaction starts fresh with no memory of what was already analyzed.
|
|
73
58
|
|
|
74
|
-
SDL-MCP addresses all three by maintaining a **persistent, indexed
|
|
75
|
-
|
|
59
|
+
SDL-MCP addresses all three by maintaining a **persistent, indexed graph** of your codebase and controlling context
|
|
60
|
+
retrieval through the **Iris Gate Ladder**.
|
|
76
61
|
|
|
77
62
|
---
|
|
78
63
|
|
|
79
64
|
## How It Works
|
|
80
65
|
|
|
81
|
-
### 1.
|
|
66
|
+
### 1. Repository Indexing
|
|
67
|
+
|
|
68
|
+
SDL-MCP parses your codebase using either a **native Rust indexer** (default, fast, multi-threaded) or a **tree-sitter
|
|
69
|
+
TypeScript fallback**, and extracts every function, class, interface, type, and variable into **Symbol Cards** —
|
|
70
|
+
compact metadata records containing signatures, summaries, dependency edges, and metrics like fan-in/out.
|
|
82
71
|
|
|
83
|
-
|
|
84
|
-
every function, class, interface, type, and variable into **Symbol Cards** — compact metadata records containing the
|
|
85
|
-
symbol's signature, a brief summary, dependency edges, and metrics like fan-in/out.
|
|
72
|
+
**12 languages supported:** TypeScript, JavaScript, Python, Go, Java, C#, C, C++, PHP, Rust, Kotlin, and Shell.
|
|
86
73
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
compression ratio**.
|
|
74
|
+
Indexing happens once and is persisted in a **KuzuDB embedded graph database**. Incremental re-indexing picks up only
|
|
75
|
+
what changed.
|
|
90
76
|
|
|
91
77
|
### 2. The Iris Gate Ladder (4 Rungs)
|
|
92
78
|
|
|
93
|
-
|
|
79
|
+
Context is served in escalating detail — agents start small and only request more when needed:
|
|
94
80
|
|
|
95
|
-
| Rung | Tool |
|
|
96
|
-
|
|
97
|
-
| **1. Symbol Cards** | `sdl.symbol.getCard` |
|
|
98
|
-
| **2. Skeleton IR** | `sdl.code.getSkeleton` |
|
|
99
|
-
| **3. Hot-Path Excerpt** | `sdl.code.getHotPath` |
|
|
100
|
-
| **4. Raw Code Window** | `sdl.code.needWindow` |
|
|
81
|
+
| Rung | Tool | ~Tokens | What It Provides |
|
|
82
|
+
| :--- | :--- | :--- | :--- |
|
|
83
|
+
| **1. Symbol Cards** | `sdl.symbol.getCard` | 50–150 | Name, signature, summary, dependencies, metrics |
|
|
84
|
+
| **2. Skeleton IR** | `sdl.code.getSkeleton` | 200–400 | Signatures + control flow, bodies elided |
|
|
85
|
+
| **3. Hot-Path Excerpt** | `sdl.code.getHotPath` | 400–800 | Lines matching specific identifiers + context |
|
|
86
|
+
| **4. Raw Code Window** | `sdl.code.needWindow` | 1,000–4,000 | Full source code (policy-gated, requires
|
|
87
|
+
justification) |
|
|
101
88
|
|
|
102
|
-
|
|
89
|
+
> [!TIP]
|
|
90
|
+
> Most questions are answered at rungs 1–2 without ever reading raw code.
|
|
103
91
|
|
|
104
92
|
### 3. Graph Slices
|
|
105
93
|
|
|
106
|
-
When
|
|
107
|
-
|
|
108
|
-
|
|
94
|
+
When the agent needs broader context for a task, `sdl.slice.build` performs a **BFS/beam search** from entry symbols
|
|
95
|
+
across weighted dependency edges (call > config > import), bounded by a token budget. The result is the 20–30 most
|
|
96
|
+
relevant symbols for the task — not an arbitrary directory listing.
|
|
109
97
|
|
|
110
|
-
### 4. Delta Packs
|
|
98
|
+
### 4. Delta Packs & Blast Radius
|
|
111
99
|
|
|
112
|
-
When code changes, SDL-MCP computes **diffs at the symbol level** — not line-level diffs, but
|
|
113
|
-
signatures, invariants, and side effects. It also computes a **blast radius**: which other symbols are affected
|
|
114
|
-
|
|
100
|
+
When code changes, SDL-MCP computes **semantic diffs at the symbol level** — not line-level diffs, but changes to
|
|
101
|
+
signatures, invariants, and side effects. It also computes a **blast radius**: which other symbols are affected,
|
|
102
|
+
ranked by proximity, fan-in, and test coverage.
|
|
115
103
|
|
|
116
104
|
### 5. Proof-of-Need Gating
|
|
117
105
|
|
|
118
|
-
Raw code access requires
|
|
119
|
-
|
|
120
|
-
keeps token usage disciplined.
|
|
106
|
+
Raw code access (rung 4) requires the agent to justify _why_ it needs the code, _what identifiers_ it expects to find,
|
|
107
|
+
and _how many lines_. Requests are audited. This enforces disciplined token usage.
|
|
121
108
|
|
|
122
109
|
---
|
|
123
110
|
|
|
124
111
|
## Key Benefits
|
|
125
112
|
|
|
126
|
-
|
|
113
|
+
### Token Efficiency
|
|
127
114
|
|
|
128
|
-
- **10
|
|
129
|
-
- **
|
|
130
|
-
- **Incremental understanding** — delta packs mean the AI doesn't re-read unchanged code
|
|
131
|
-
- **Audit trail** — every raw code access is logged with justification
|
|
115
|
+
- **10–50x fewer tokens** per coding task compared to reading raw files
|
|
116
|
+
- **2,782x compression ratio** for a repository overview vs. a full card dump
|
|
132
117
|
|
|
133
|
-
|
|
118
|
+
### Better Relevance
|
|
134
119
|
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
-
- KuzuDB-backed graph persistence means indexing happens once, not every session
|
|
120
|
+
- Graph-based slicing finds related code that directory-based approaches miss
|
|
121
|
+
- Confidence-scored call resolution filters noise from low-confidence edges
|
|
138
122
|
|
|
139
|
-
|
|
123
|
+
### Incremental Understanding
|
|
140
124
|
|
|
141
|
-
-
|
|
142
|
-
-
|
|
143
|
-
- Works as a standard MCP server — compatible with any MCP-capable client
|
|
125
|
+
- Delta packs mean the agent doesn't re-read unchanged code
|
|
126
|
+
- Slice handles with leases and refresh support avoid rebuilding context from scratch
|
|
144
127
|
|
|
145
|
-
|
|
128
|
+
### Governance & Auditability
|
|
146
129
|
|
|
147
|
-
|
|
130
|
+
- Configurable policies control what agents can access
|
|
131
|
+
- Every raw code request is logged with justification
|
|
132
|
+
- Blast radius analysis shows ripple effects before changes land
|
|
148
133
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
```bash
|
|
152
|
-
sdl-mcp init # Create config + graph DB path
|
|
153
|
-
sdl-mcp index # Index your repositories
|
|
154
|
-
sdl-mcp serve # Start the MCP server (stdio or HTTP)
|
|
155
|
-
sdl-mcp doctor # Health check
|
|
156
|
-
sdl-mcp version # Version info
|
|
134
|
+
### Multi-Language
|
|
157
135
|
|
|
158
|
-
|
|
159
|
-
navigating your codebase efficiently.
|
|
136
|
+
- 12 language adapters with a generalized pass-2 resolver for cross-file semantic resolution
|
|
160
137
|
|
|
161
138
|
---
|
|
162
|
-
In Summary
|
|
163
139
|
|
|
164
|
-
|
|
165
|
-
text files. It gives AI assistants surgical access to exactly what they need, dramatically reducing token waste while
|
|
166
|
-
improving the quality of code understanding. Think of it as giving your AI a proper IDE-level understanding of your
|
|
167
|
-
code, rather than having it grep through files."
|
|
140
|
+
## Feature Summary
|
|
168
141
|
|
|
169
|
-
|
|
142
|
+
| Category | Features |
|
|
143
|
+
| :--- | :--- |
|
|
144
|
+
| **Indexing** | Native Rust + tree-sitter fallback, incremental indexing, live editor-buffer overlay, file watching |
|
|
145
|
+
| **Context** | Symbol cards, skeleton IR, hot-path excerpts, gated raw windows |
|
|
146
|
+
| **Graph** | Slices with handles/leases/refresh/spillover, cluster detection, call-chain tracing |
|
|
147
|
+
| **Change Tracking** | Delta packs, blast radius analysis, PR risk scoring |
|
|
148
|
+
| **Intelligence** | Semantic search reranking, LLM-generated summaries, predictive prefetch |
|
|
149
|
+
| **Governance** | Policy engine, proof-of-need gating, audit logging |
|
|
150
|
+
| **Agent Support** | `sdl.agent.orchestrate` autopilot, `sdl.context.summary` for copy/paste context |
|
|
151
|
+
| **Tools** | 17+ MCP tools, 10 CLI commands, HTTP API with graph explorer UI |
|
|
152
|
+
| **Integrations** | VSCode extension, Claude Code/Desktop, any MCP client |
|
|
170
153
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
```bash
|
|
174
|
-
npm install -g sdl-mcp
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
Or run without global install:
|
|
178
|
-
|
|
179
|
-
```bash
|
|
180
|
-
npx --yes sdl-mcp@latest version
|
|
181
|
-
```
|
|
154
|
+
---
|
|
182
155
|
|
|
183
|
-
|
|
156
|
+
## Getting Started
|
|
184
157
|
|
|
185
|
-
```bash
|
|
186
|
-
#
|
|
187
|
-
|
|
188
|
-
setx SDL_CONFIG_HOME "C:\[your path]"
|
|
158
|
+
```bash
|
|
159
|
+
# Install globally
|
|
160
|
+
npm install -g sdl-mcp
|
|
189
161
|
|
|
190
|
-
#
|
|
191
|
-
sdl-mcp init -y --auto-index
|
|
162
|
+
# Initialize config + index your repo
|
|
163
|
+
sdl-mcp init -y --auto-index
|
|
192
164
|
|
|
193
|
-
#
|
|
194
|
-
sdl-mcp serve --stdio
|
|
165
|
+
# Start the MCP server
|
|
166
|
+
sdl-mcp serve --stdio
|
|
195
167
|
|
|
196
|
-
|
|
197
|
-
|
|
168
|
+
Then point your MCP client at the server — the agent gains access to all SDL-MCP tools and can navigate your codebase
|
|
169
|
+
through the Iris Gate Ladder instead of bulk file reads.
|
|
198
170
|
|
|
199
|
-
|
|
200
|
-
|
|
171
|
+
[!NOTE]
|
|
172
|
+
See the full ./docs/getting-started.md and ./docs/mcp-tools-reference.md for detailed setup and usage instructions.
|
|
201
173
|
|
|
202
|
-
# 4) Copy the agent instructions from agent-workflows.md and paste them in the AGENTS.md file for your project.
|
|
203
174
|
```
|
|
204
175
|
|
|
205
176
|
## Core Feature Set
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/agent/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACT,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/agent/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACT,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,qBAAqB,CAAC;AAG7B,qBAAa,QAAQ;IACnB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,eAAe,CAA0C;gBAErD,YAAY,CAAC,EAAE,YAAY;IAcjC,OAAO,CACX,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,QAAQ,EAAE,EACjB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;YAY3D,WAAW;YAuCX,eAAe;YA0Cf,mBAAmB;YAsCnB,kBAAkB;YAsClB,cAAc;IAqF5B,OAAO,CAAC,gBAAgB;IAIxB,UAAU,IAAI,gBAAgB;IAM9B,UAAU,IAAI,MAAM,EAAE;IAItB,WAAW,IAAI,QAAQ,EAAE;IAIzB,iBAAiB,IAAI,MAAM,GAAG,SAAS;IAkBvC,KAAK,IAAI,IAAI;CAcd"}
|
package/dist/agent/executor.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { EvidenceCapture } from "./evidence.js";
|
|
2
|
+
import { IndexError } from "../domain/errors.js";
|
|
2
3
|
export class Executor {
|
|
3
4
|
evidenceCapture;
|
|
4
5
|
actions = [];
|
|
@@ -45,7 +46,7 @@ export class Executor {
|
|
|
45
46
|
await this.executeRawRung(task, context);
|
|
46
47
|
break;
|
|
47
48
|
default:
|
|
48
|
-
throw new
|
|
49
|
+
throw new IndexError(`Unknown rung type: ${rung}`);
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
52
|
catch (error) {
|
|
@@ -91,7 +92,7 @@ export class Executor {
|
|
|
91
92
|
this.metrics.successfulActions++;
|
|
92
93
|
}
|
|
93
94
|
catch (error) {
|
|
94
|
-
throw new
|
|
95
|
+
throw new IndexError(`Card rung execution failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
95
96
|
}
|
|
96
97
|
}
|
|
97
98
|
async executeSkeletonRung(_task, context) {
|
|
@@ -118,7 +119,7 @@ export class Executor {
|
|
|
118
119
|
this.metrics.successfulActions++;
|
|
119
120
|
}
|
|
120
121
|
catch (error) {
|
|
121
|
-
throw new
|
|
122
|
+
throw new IndexError(`Skeleton rung execution failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
122
123
|
}
|
|
123
124
|
}
|
|
124
125
|
async executeHotPathRung(_task, context) {
|
|
@@ -145,7 +146,7 @@ export class Executor {
|
|
|
145
146
|
this.metrics.successfulActions++;
|
|
146
147
|
}
|
|
147
148
|
catch (error) {
|
|
148
|
-
throw new
|
|
149
|
+
throw new IndexError(`HotPath rung execution failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
149
150
|
}
|
|
150
151
|
}
|
|
151
152
|
async executeRawRung(task, context) {
|
|
@@ -209,7 +210,7 @@ export class Executor {
|
|
|
209
210
|
this.actions.push(action);
|
|
210
211
|
}
|
|
211
212
|
catch (error) {
|
|
212
|
-
throw new
|
|
213
|
+
throw new IndexError(`Raw rung execution failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
213
214
|
}
|
|
214
215
|
}
|
|
215
216
|
generateActionId() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/agent/executor.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/agent/executor.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAMhD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,OAAO,QAAQ;IACX,eAAe,CAAkB;IACjC,OAAO,GAAa,EAAE,CAAC;IACvB,OAAO,CAAmB;IAC1B,SAAS,CAAS;IAClB,YAAY,CAA2B;IACvC,eAAe,GAAgC,IAAI,GAAG,EAAE,CAAC;IAEjE,YAAY,YAA2B;QACrC,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG;YACb,eAAe,EAAE,CAAC;YAClB,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,iBAAiB,EAAE,CAAC;YACpB,aAAa,EAAE,CAAC;YAChB,SAAS,EAAE,CAAC;SACb,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,OAAO,CACX,IAAe,EACf,KAAiB,EACjB,OAAiB;QAEjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE;YAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,CAAC;SAC1C,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,IAAe,EACf,IAAc,EACd,OAAiB;QAEjB,IAAI,CAAC;YACH,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,MAAM;oBACT,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAC1C,MAAM;gBACR,KAAK,UAAU;oBACb,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAC9C,MAAM;gBACR,KAAK,SAAS;oBACZ,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAC7C,MAAM;gBACR,KAAK,KAAK;oBACR,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACzC,MAAM;gBACR;oBACE,MAAM,IAAI,UAAU,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAW;gBACrB,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE;gBAC3B,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;gBACxB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,EAAE;aACb,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,KAAgB,EAChB,OAAiB;QAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO;iBACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;iBACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;YAExC,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,eAAe,CAAC,iBAAiB,CACpC,QAAQ,EACR,mBAAmB,QAAQ,EAAE,CAC9B,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YACjE,CAAC;YAED,MAAM,MAAM,GAAW;gBACrB,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,EAAE,OAAO,EAAE;gBAClB,MAAM,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,MAAM,EAAE;gBAC1C,SAAS,EAAE,SAAS;gBACpB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAClC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,CAAC;aAC/D,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,UAAU,CAClB,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACxF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,KAAgB,EAChB,OAAiB;QAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,OAAO;iBACtB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;iBACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YAEtC,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,eAAe,CAAC,eAAe,CAClC,QAAQ,EACR,gBAAgB,QAAQ,EAAE,CAC3B,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAW;gBACrB,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,EAAE,OAAO,EAAE;gBAClB,MAAM,EAAE,EAAE,cAAc,EAAE,SAAS,CAAC,MAAM,EAAE;gBAC5C,SAAS,EAAE,SAAS;gBACpB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAClC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC;aAC7D,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,UAAU,CAClB,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC5F,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,KAAgB,EAChB,OAAiB;QAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO;iBACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;iBACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;YAExC,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,eAAe,CAAC,cAAc,CACjC,QAAQ,EACR,gBAAgB,QAAQ,EAAE,CAC3B,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAW;gBACrB,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,EAAE,OAAO,EAAE;gBAClB,MAAM,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,MAAM,EAAE;gBAC5C,SAAS,EAAE,SAAS;gBACpB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAClC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC;aAC5D,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,UAAU,CAClB,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,IAAe,EACf,OAAiB;QAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO;iBACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;iBACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;YAExC,IAAI,gBAAgB,GAAG,IAAI,CAAC;YAC5B,IAAI,cAA0C,CAAC;YAE/C,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,aAAa,GAAyB;oBAC1C,WAAW,EAAE,YAAY;oBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,QAAQ;oBACR,iBAAiB,EAAE,EAAE;oBACrB,MAAM,EAAE,uBAAuB,IAAI,CAAC,QAAQ,OAAO;iBACpD,CAAC;gBAEF,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAC3D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAEnD,IAAI,cAAc,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;oBACvC,gBAAgB,GAAG,KAAK,CAAC;oBACzB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBACzB,IAAI,CAAC,eAAe,CAAC,iBAAiB,CACpC,QAAQ,EACR,CAAC,EACD,kCAAkC,CACnC,CAAC;gBACJ,CAAC;qBAAM,IACL,cAAc,CAAC,QAAQ,KAAK,uBAAuB;oBACnD,cAAc,CAAC,QAAQ,KAAK,sBAAsB,EAClD,CAAC;oBACD,gBAAgB,GAAG,KAAK,CAAC;oBACzB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBACzB,IAAI,CAAC,eAAe,CAAC,iBAAiB,CACpC,QAAQ,EACR,CAAC,EACD,iCAAiC,cAAc,CAAC,QAAQ,EAAE,CAC3D,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAW;gBACrB,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;gBACjD,KAAK,EAAE,EAAE,OAAO,EAAE;gBAClB,MAAM,EAAE,gBAAgB;oBACtB,CAAC,CAAC,EAAE,OAAO,EAAE,uCAAuC,EAAE;oBACtD,CAAC,CAAC;wBACE,OAAO,EAAE,gDAAgD;wBACzD,cAAc,EAAE,cAAc,EAAE,QAAQ;qBACzC;gBACL,KAAK,EAAE,gBAAgB;oBACrB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,qCAAqC,cAAc,EAAE,QAAQ,EAAE;gBACnE,SAAS,EAAE,SAAS;gBACpB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAClC,QAAQ,EAAE,gBAAgB;oBACxB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,CAAC;aACzD,CAAC;YAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACnC,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,UAAU,CAClB,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACvF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,OAAO,UAAU,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACvD,CAAC;IAED,UAAU;QACR,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3D,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;IAC/C,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YACrD,IAAI,QAAQ,CAAC,QAAQ,KAAK,uBAAuB,EAAE,CAAC;gBAClD,OAAO,iBAAiB,CAAC;YAC3B,CAAC;iBAAM,IAAI,QAAQ,CAAC,QAAQ,KAAK,sBAAsB,EAAE,CAAC;gBACxD,OAAO,gBAAgB,CAAC;YAC1B,CAAC;iBAAM,IAAI,QAAQ,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxC,OAAO,eAAe,CAAC;YACzB,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG;YACb,eAAe,EAAE,CAAC;YAClB,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,iBAAiB,EAAE,CAAC;YACpB,aAAa,EAAE,CAAC;YAChB,SAAS,EAAE,CAAC;SACb,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agent/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agent/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAQpB,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,YAAY,CAAe;;IAO7B,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmD1D,IAAI,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAetD,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,iBAAiB;YAgCX,wBAAwB;CAiDvC;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC"}
|
|
@@ -3,6 +3,7 @@ import { Executor } from "./executor.js";
|
|
|
3
3
|
import { PolicyEngine } from "../policy/engine.js";
|
|
4
4
|
import { getKuzuConn } from "../db/kuzu.js";
|
|
5
5
|
import * as kuzuDb from "../db/kuzu-queries.js";
|
|
6
|
+
import { ValidationError } from "../domain/errors.js";
|
|
6
7
|
export class Orchestrator {
|
|
7
8
|
planner;
|
|
8
9
|
policyEngine;
|
|
@@ -46,7 +47,7 @@ export class Orchestrator {
|
|
|
46
47
|
async plan(task) {
|
|
47
48
|
const validation = this.planner.validateTask(task);
|
|
48
49
|
if (!validation.valid) {
|
|
49
|
-
throw new
|
|
50
|
+
throw new ValidationError(`Task validation failed: ${validation.error}`);
|
|
50
51
|
}
|
|
51
52
|
const path = this.planner.plan(task);
|
|
52
53
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/agent/orchestrator.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/agent/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA8C3C,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6JvE"}
|
|
@@ -13,12 +13,35 @@ import { getCurrentTimestamp } from "../../util/time.js";
|
|
|
13
13
|
import { configurePrefetch, warmPrefetchOnServeStart, } from "../../graph/prefetch.js";
|
|
14
14
|
import { configureDefaultLiveIndexCoordinator, getDefaultLiveIndexCoordinator, getDefaultOverlayStore, } from "../../live-index/coordinator.js";
|
|
15
15
|
import { DEFAULT_IDLE_CHECKPOINT_INTERVAL_MS, DEFAULT_IDLE_CHECKPOINT_QUIET_PERIOD_MS, IdleMonitor, } from "../../live-index/idle-monitor.js";
|
|
16
|
+
import { ShutdownManager } from "../../util/shutdown.js";
|
|
17
|
+
import { findExistingProcess, writePidfile } from "../../util/pidfile.js";
|
|
18
|
+
import { enableFileLogging, getLogFilePath } from "../../util/logger.js";
|
|
19
|
+
// Enable file logging by default so crash evidence is always persisted.
|
|
20
|
+
if (!getLogFilePath()) {
|
|
21
|
+
enableFileLogging();
|
|
22
|
+
}
|
|
23
|
+
// Catch uncaught errors to prevent silent crashes (parity with main.ts)
|
|
24
|
+
process.on("uncaughtException", (error) => {
|
|
25
|
+
process.stderr.write(`[sdl-mcp] UNCAUGHT EXCEPTION: ${error}\n`);
|
|
26
|
+
process.stderr.write(`[sdl-mcp] Stack: ${error.stack}\n`);
|
|
27
|
+
});
|
|
28
|
+
process.on("unhandledRejection", (reason) => {
|
|
29
|
+
process.stderr.write(`[sdl-mcp] UNHANDLED REJECTION: ${reason}\n`);
|
|
30
|
+
});
|
|
16
31
|
export async function serveCommand(options) {
|
|
17
32
|
const configPath = activateCliConfigPath(options.config);
|
|
18
33
|
const config = loadConfig(configPath);
|
|
19
34
|
configureLogger(options.logLevel ?? "info", options.logFormat ?? "pretty");
|
|
20
35
|
const graphDbPath = await initGraphDb(config, configPath);
|
|
21
36
|
console.error(`Graph database initialized at ${graphDbPath}`);
|
|
37
|
+
// Check for an existing live server process (stale PIDs are auto-cleaned).
|
|
38
|
+
const existing = findExistingProcess(graphDbPath);
|
|
39
|
+
if (existing) {
|
|
40
|
+
console.error(`Found existing SDL-MCP server (PID ${existing.pid}, ` +
|
|
41
|
+
`transport: ${existing.transport}, started: ${existing.startedAt}). ` +
|
|
42
|
+
`Kill it first or use a different SDL_GRAPH_DB_PATH.`);
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
22
45
|
// Auto-register repositories if missing in database
|
|
23
46
|
const conn = await getKuzuConn();
|
|
24
47
|
for (const repo of config.repos) {
|
|
@@ -47,7 +70,10 @@ export async function serveCommand(options) {
|
|
|
47
70
|
console.error(`Starting file watchers for ${config.repos.length} repo(s)...`);
|
|
48
71
|
const results = await Promise.allSettled(config.repos.map(async (repo) => {
|
|
49
72
|
try {
|
|
50
|
-
return {
|
|
73
|
+
return {
|
|
74
|
+
repoId: repo.repoId,
|
|
75
|
+
handle: await watchRepository(repo.repoId),
|
|
76
|
+
};
|
|
51
77
|
}
|
|
52
78
|
catch (error) {
|
|
53
79
|
const msg = error instanceof Error ? error.message : String(error);
|
|
@@ -85,36 +111,35 @@ export async function serveCommand(options) {
|
|
|
85
111
|
idleMonitor.start();
|
|
86
112
|
}
|
|
87
113
|
registerTools(server, { liveIndex });
|
|
88
|
-
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
114
|
+
// Determine transport type and write PID file for process discovery.
|
|
115
|
+
const transport = options.transport === "stdio" ? "stdio" : "http";
|
|
116
|
+
const httpPort = options.port ?? 3000;
|
|
117
|
+
const pidfilePath = writePidfile(graphDbPath, transport, transport === "http" ? httpPort : undefined);
|
|
118
|
+
console.error(`PID file written: ${pidfilePath}`);
|
|
119
|
+
// Set up centralized shutdown manager.
|
|
120
|
+
const shutdownMgr = new ShutdownManager({
|
|
121
|
+
log: (msg) => console.error(`[sdl-mcp] ${msg}`),
|
|
122
|
+
});
|
|
123
|
+
shutdownMgr.setPidfilePath(pidfilePath);
|
|
124
|
+
shutdownMgr.addCleanup("idleMonitor", () => {
|
|
96
125
|
idleMonitor.stop();
|
|
97
|
-
|
|
126
|
+
});
|
|
127
|
+
shutdownMgr.addCleanup("server", () => server.stop());
|
|
128
|
+
shutdownMgr.addCleanup("db", () => closeKuzuDb());
|
|
129
|
+
shutdownMgr.addCleanup("watchers", async () => {
|
|
98
130
|
for (const watcher of watchers) {
|
|
99
131
|
await watcher.close();
|
|
100
132
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
void shutdown(signal).catch((error) => {
|
|
105
|
-
console.error(`Failed to handle ${signal}: ${error instanceof Error ? error.message : String(error)}`);
|
|
106
|
-
process.exit(1);
|
|
107
|
-
});
|
|
108
|
-
};
|
|
109
|
-
process.once("SIGINT", () => handleShutdown("SIGINT"));
|
|
110
|
-
process.once("SIGTERM", () => handleShutdown("SIGTERM"));
|
|
133
|
+
});
|
|
134
|
+
// Register all shutdown triggers.
|
|
135
|
+
shutdownMgr.registerSignals(); // SIGINT, SIGTERM, SIGHUP
|
|
111
136
|
if (options.transport === "stdio") {
|
|
112
|
-
//
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
137
|
+
// Monitor stdin so we detect terminal close / MCP client disconnect.
|
|
138
|
+
shutdownMgr.monitorStdin();
|
|
139
|
+
}
|
|
140
|
+
const activeLogFile = getLogFilePath();
|
|
141
|
+
if (activeLogFile) {
|
|
142
|
+
console.error(`[sdl-mcp] File logging enabled: ${activeLogFile}`);
|
|
118
143
|
}
|
|
119
144
|
try {
|
|
120
145
|
if (options.transport === "stdio") {
|
|
@@ -123,9 +148,10 @@ export async function serveCommand(options) {
|
|
|
123
148
|
}
|
|
124
149
|
else {
|
|
125
150
|
const host = options.host ?? "localhost";
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
151
|
+
console.error(`Starting MCP server on http://${host}:${httpPort}...`);
|
|
152
|
+
await setupHttpTransport(server, host, httpPort, graphDbPath, {
|
|
153
|
+
liveIndex,
|
|
154
|
+
});
|
|
129
155
|
}
|
|
130
156
|
await new Promise(() => { });
|
|
131
157
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/cli/commands/serve.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAoB,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,oCAAoC,EACpC,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,mCAAmC,EACnC,uCAAuC,EACvC,WAAW,GACZ,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/cli/commands/serve.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/cli/transport/http.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAiB5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAuBtE,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC,CAAC;
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/cli/transport/http.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAiB5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAuBtE,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC,CAAC;AAmDF,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,GAAE,qBAA0B,GACnC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CA+DtC;AA6YD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,qBAA0B,GACnC,OAAO,CAAC,IAAI,CAAC,CA2If"}
|