sdl-mcp 0.9.0 → 0.9.2
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 +67 -5
- package/config/benchmark.ci.config.json +4 -4
- package/config/sdlmcp.config.example.json +5 -1
- package/config/sdlmcp.config.json +1 -1
- package/config/sdlmcp.config.schema.json +25 -4
- package/dist/agent/executor.d.ts +26 -3
- package/dist/agent/executor.d.ts.map +1 -1
- package/dist/agent/executor.js +392 -102
- package/dist/agent/executor.js.map +1 -1
- package/dist/agent/orchestrator.d.ts.map +1 -1
- package/dist/agent/orchestrator.js +68 -18
- package/dist/agent/orchestrator.js.map +1 -1
- package/dist/agent/planner.d.ts.map +1 -1
- package/dist/agent/planner.js +36 -37
- package/dist/agent/planner.js.map +1 -1
- package/dist/benchmark/edgeAccuracy.d.ts.map +1 -1
- package/dist/benchmark/edgeAccuracy.js +7 -1
- package/dist/benchmark/edgeAccuracy.js.map +1 -1
- package/dist/benchmark/threshold.d.ts.map +1 -1
- package/dist/benchmark/threshold.js +14 -3
- package/dist/benchmark/threshold.js.map +1 -1
- package/dist/cli/argParsing.d.ts.map +1 -1
- package/dist/cli/argParsing.js +16 -2
- package/dist/cli/argParsing.js.map +1 -1
- package/dist/cli/commands/doctor.js +16 -14
- 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 +43 -19
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/info.d.ts +3 -0
- package/dist/cli/commands/info.d.ts.map +1 -0
- package/dist/cli/commands/info.js +44 -0
- package/dist/cli/commands/info.js.map +1 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +413 -7
- 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 +20 -17
- 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 +107 -1
- package/dist/cli/commands/tool-actions.js.map +1 -1
- package/dist/cli/commands/version.d.ts +1 -0
- package/dist/cli/commands/version.d.ts.map +1 -1
- package/dist/cli/commands/version.js +3 -13
- package/dist/cli/commands/version.js.map +1 -1
- package/dist/cli/index.js +10 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/logging.d.ts.map +1 -1
- package/dist/cli/logging.js +3 -0
- package/dist/cli/logging.js.map +1 -1
- package/dist/cli/transport/http.d.ts +40 -3
- package/dist/cli/transport/http.d.ts.map +1 -1
- package/dist/cli/transport/http.js +92 -27
- package/dist/cli/transport/http.js.map +1 -1
- package/dist/cli/types.d.ts +3 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/code/gate.d.ts +3 -1
- package/dist/code/gate.d.ts.map +1 -1
- package/dist/code/gate.js +39 -27
- package/dist/code/gate.js.map +1 -1
- package/dist/code/hotpath.d.ts.map +1 -1
- package/dist/code/hotpath.js +3 -81
- package/dist/code/hotpath.js.map +1 -1
- package/dist/code/skeleton.d.ts +9 -1
- package/dist/code/skeleton.d.ts.map +1 -1
- package/dist/code/skeleton.js +27 -20
- package/dist/code/skeleton.js.map +1 -1
- package/dist/code/windows.d.ts +2 -0
- package/dist/code/windows.d.ts.map +1 -1
- package/dist/code/windows.js +21 -7
- package/dist/code/windows.js.map +1 -1
- package/dist/code-mode/action-catalog.d.ts +65 -0
- package/dist/code-mode/action-catalog.d.ts.map +1 -0
- package/dist/code-mode/action-catalog.js +558 -0
- package/dist/code-mode/action-catalog.js.map +1 -0
- package/dist/code-mode/chain-executor.d.ts +2 -2
- package/dist/code-mode/chain-executor.d.ts.map +1 -1
- package/dist/code-mode/chain-executor.js +187 -59
- package/dist/code-mode/chain-executor.js.map +1 -1
- package/dist/code-mode/chain-parser.d.ts +2 -0
- package/dist/code-mode/chain-parser.d.ts.map +1 -1
- package/dist/code-mode/chain-parser.js +7 -4
- package/dist/code-mode/chain-parser.js.map +1 -1
- package/dist/code-mode/descriptions.d.ts +1 -0
- package/dist/code-mode/descriptions.d.ts.map +1 -1
- package/dist/code-mode/descriptions.js +6 -2
- package/dist/code-mode/descriptions.js.map +1 -1
- package/dist/code-mode/index.d.ts +18 -0
- package/dist/code-mode/index.d.ts.map +1 -1
- package/dist/code-mode/index.js +199 -18
- package/dist/code-mode/index.js.map +1 -1
- package/dist/code-mode/ladder-validator.d.ts.map +1 -1
- package/dist/code-mode/ladder-validator.js +3 -0
- package/dist/code-mode/ladder-validator.js.map +1 -1
- package/dist/code-mode/manual-generator.d.ts.map +1 -1
- package/dist/code-mode/manual-generator.js +6 -1
- package/dist/code-mode/manual-generator.js.map +1 -1
- package/dist/code-mode/transforms.d.ts +22 -0
- package/dist/code-mode/transforms.d.ts.map +1 -0
- package/dist/code-mode/transforms.js +289 -0
- package/dist/code-mode/transforms.js.map +1 -0
- package/dist/code-mode/types.d.ts +88 -0
- package/dist/code-mode/types.d.ts.map +1 -1
- package/dist/code-mode/types.js +14 -0
- package/dist/code-mode/types.js.map +1 -1
- package/dist/config/constants.d.ts +5 -1
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/constants.js +5 -1
- package/dist/config/constants.js.map +1 -1
- package/dist/config/loadConfig.d.ts.map +1 -1
- package/dist/config/loadConfig.js +38 -20
- package/dist/config/loadConfig.js.map +1 -1
- package/dist/config/types.d.ts +102 -17
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +15 -2
- package/dist/config/types.js.map +1 -1
- package/dist/db/ladybug-clusters.d.ts.map +1 -1
- package/dist/db/ladybug-clusters.js +9 -7
- package/dist/db/ladybug-clusters.js.map +1 -1
- package/dist/db/ladybug-core.d.ts +2 -8
- package/dist/db/ladybug-core.d.ts.map +1 -1
- package/dist/db/ladybug-core.js +76 -46
- package/dist/db/ladybug-core.js.map +1 -1
- package/dist/db/ladybug-edges.d.ts +7 -0
- package/dist/db/ladybug-edges.d.ts.map +1 -1
- package/dist/db/ladybug-edges.js +48 -48
- package/dist/db/ladybug-edges.js.map +1 -1
- package/dist/db/ladybug-feedback.d.ts +2 -2
- package/dist/db/ladybug-feedback.d.ts.map +1 -1
- package/dist/db/ladybug-feedback.js +68 -30
- package/dist/db/ladybug-feedback.js.map +1 -1
- package/dist/db/ladybug-memory.d.ts.map +1 -1
- package/dist/db/ladybug-memory.js +20 -16
- package/dist/db/ladybug-memory.js.map +1 -1
- package/dist/db/ladybug-metrics.d.ts +10 -0
- package/dist/db/ladybug-metrics.d.ts.map +1 -1
- package/dist/db/ladybug-metrics.js +28 -4
- package/dist/db/ladybug-metrics.js.map +1 -1
- package/dist/db/ladybug-processes.d.ts.map +1 -1
- package/dist/db/ladybug-processes.js +9 -7
- package/dist/db/ladybug-processes.js.map +1 -1
- 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 +1 -0
- package/dist/db/ladybug-repos.d.ts.map +1 -1
- package/dist/db/ladybug-repos.js +62 -2
- package/dist/db/ladybug-repos.js.map +1 -1
- package/dist/db/ladybug-schema.d.ts +1 -1
- package/dist/db/ladybug-schema.d.ts.map +1 -1
- package/dist/db/ladybug-schema.js +16 -1
- package/dist/db/ladybug-schema.js.map +1 -1
- package/dist/db/ladybug-slices.d.ts.map +1 -1
- package/dist/db/ladybug-slices.js +3 -2
- package/dist/db/ladybug-slices.js.map +1 -1
- package/dist/db/ladybug-symbols.d.ts +12 -0
- package/dist/db/ladybug-symbols.d.ts.map +1 -1
- package/dist/db/ladybug-symbols.js +204 -63
- package/dist/db/ladybug-symbols.js.map +1 -1
- package/dist/db/ladybug-usage.d.ts +44 -0
- package/dist/db/ladybug-usage.d.ts.map +1 -0
- package/dist/db/ladybug-usage.js +192 -0
- package/dist/db/ladybug-usage.js.map +1 -0
- package/dist/db/ladybug-versions.d.ts.map +1 -1
- package/dist/db/ladybug-versions.js +8 -4
- package/dist/db/ladybug-versions.js.map +1 -1
- package/dist/db/ladybug.d.ts.map +1 -1
- package/dist/db/ladybug.js +11 -5
- package/dist/db/ladybug.js.map +1 -1
- package/dist/db/migrations/index.d.ts.map +1 -1
- package/dist/db/migrations/index.js +2 -1
- package/dist/db/migrations/index.js.map +1 -1
- package/dist/db/migrations/m006-add-usage-snapshot.d.ts +11 -0
- package/dist/db/migrations/m006-add-usage-snapshot.d.ts.map +1 -0
- package/dist/db/migrations/m006-add-usage-snapshot.js +36 -0
- package/dist/db/migrations/m006-add-usage-snapshot.js.map +1 -0
- package/dist/delta/blastRadius.d.ts.map +1 -1
- package/dist/delta/blastRadius.js +18 -11
- package/dist/delta/blastRadius.js.map +1 -1
- package/dist/delta/versioning.d.ts.map +1 -1
- package/dist/delta/versioning.js +31 -26
- package/dist/delta/versioning.js.map +1 -1
- package/dist/domain/errors.d.ts.map +1 -1
- package/dist/domain/errors.js +0 -12
- package/dist/domain/errors.js.map +1 -1
- package/dist/domain/types.d.ts +5 -1
- package/dist/domain/types.d.ts.map +1 -1
- package/dist/gateway/compact-schema.d.ts +2 -2
- package/dist/gateway/compact-schema.d.ts.map +1 -1
- package/dist/gateway/compact-schema.js +4 -21
- package/dist/gateway/compact-schema.js.map +1 -1
- package/dist/gateway/descriptions.d.ts +1 -1
- package/dist/gateway/descriptions.d.ts.map +1 -1
- package/dist/gateway/descriptions.js +11 -8
- package/dist/gateway/descriptions.js.map +1 -1
- package/dist/gateway/index.d.ts.map +1 -1
- package/dist/gateway/index.js +10 -5
- package/dist/gateway/index.js.map +1 -1
- package/dist/gateway/legacy.d.ts.map +1 -1
- package/dist/gateway/legacy.js +3 -1
- package/dist/gateway/legacy.js.map +1 -1
- package/dist/gateway/router.d.ts.map +1 -1
- package/dist/gateway/router.js +10 -3
- package/dist/gateway/router.js.map +1 -1
- package/dist/gateway/schemas.d.ts +171 -49
- package/dist/gateway/schemas.d.ts.map +1 -1
- package/dist/gateway/schemas.js +44 -5
- package/dist/gateway/schemas.js.map +1 -1
- package/dist/gateway/thin-schemas.d.ts +7 -12
- package/dist/gateway/thin-schemas.d.ts.map +1 -1
- package/dist/gateway/thin-schemas.js +29 -29
- package/dist/gateway/thin-schemas.js.map +1 -1
- package/dist/graph/buildGraph.js +1 -1
- package/dist/graph/buildGraph.js.map +1 -1
- package/dist/graph/graphSnapshotCache.d.ts +3 -0
- package/dist/graph/graphSnapshotCache.d.ts.map +1 -1
- package/dist/graph/graphSnapshotCache.js +140 -132
- package/dist/graph/graphSnapshotCache.js.map +1 -1
- package/dist/graph/index.d.ts +1 -1
- package/dist/graph/index.d.ts.map +1 -1
- package/dist/graph/index.js +1 -1
- package/dist/graph/index.js.map +1 -1
- package/dist/graph/metrics.d.ts +3 -1
- package/dist/graph/metrics.d.ts.map +1 -1
- package/dist/graph/metrics.js +88 -20
- package/dist/graph/metrics.js.map +1 -1
- package/dist/graph/minHeap.d.ts +22 -2
- package/dist/graph/minHeap.d.ts.map +1 -1
- package/dist/graph/minHeap.js +47 -2
- package/dist/graph/minHeap.js.map +1 -1
- package/dist/graph/overview.d.ts +7 -0
- package/dist/graph/overview.d.ts.map +1 -1
- package/dist/graph/overview.js +53 -1
- package/dist/graph/overview.js.map +1 -1
- package/dist/graph/prefetch-model.js +1 -1
- package/dist/graph/prefetch-model.js.map +1 -1
- package/dist/graph/score.d.ts +0 -1
- package/dist/graph/score.d.ts.map +1 -1
- package/dist/graph/score.js +11 -12
- package/dist/graph/score.js.map +1 -1
- package/dist/graph/slice/beam-score-worker.js +2 -0
- package/dist/graph/slice/beam-score-worker.js.map +1 -1
- package/dist/graph/slice/beam-search-engine.d.ts +8 -0
- package/dist/graph/slice/beam-search-engine.d.ts.map +1 -1
- package/dist/graph/slice/beam-search-engine.js +47 -12
- package/dist/graph/slice/beam-search-engine.js.map +1 -1
- package/dist/graph/slice/slice-serializer.d.ts.map +1 -1
- package/dist/graph/slice/slice-serializer.js +10 -9
- 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 +31 -0
- package/dist/graph/slice/start-node-resolver.js.map +1 -1
- package/dist/graph/slice.d.ts.map +1 -1
- package/dist/graph/slice.js +16 -4
- package/dist/graph/slice.js.map +1 -1
- package/dist/indexer/adapter/BaseAdapter.d.ts +2 -1
- package/dist/indexer/adapter/BaseAdapter.d.ts.map +1 -1
- package/dist/indexer/adapter/BaseAdapter.js +19 -4
- package/dist/indexer/adapter/BaseAdapter.js.map +1 -1
- package/dist/indexer/adapter/LanguageAdapter.d.ts +2 -2
- package/dist/indexer/adapter/LanguageAdapter.d.ts.map +1 -1
- package/dist/indexer/adapter/adapters.d.ts.map +1 -1
- package/dist/indexer/adapter/adapters.js +20 -0
- package/dist/indexer/adapter/adapters.js.map +1 -1
- package/dist/indexer/adapter/cpp.d.ts.map +1 -1
- package/dist/indexer/adapter/cpp.js +12 -5
- package/dist/indexer/adapter/cpp.js.map +1 -1
- package/dist/indexer/adapter/csharp.js +1 -1
- package/dist/indexer/adapter/csharp.js.map +1 -1
- package/dist/indexer/adapter/go.d.ts.map +1 -1
- package/dist/indexer/adapter/go.js +3 -4
- package/dist/indexer/adapter/go.js.map +1 -1
- package/dist/indexer/adapter/python.d.ts.map +1 -1
- package/dist/indexer/adapter/python.js +10 -5
- package/dist/indexer/adapter/python.js.map +1 -1
- package/dist/indexer/adapter/rust.js +6 -6
- package/dist/indexer/adapter/rust.js.map +1 -1
- package/dist/indexer/adapter/typescript.d.ts +2 -0
- package/dist/indexer/adapter/typescript.d.ts.map +1 -1
- package/dist/indexer/adapter/typescript.js +62 -0
- package/dist/indexer/adapter/typescript.js.map +1 -1
- package/dist/indexer/ann-index.js +1 -1
- package/dist/indexer/ann-index.js.map +1 -1
- package/dist/indexer/edge-builder/builtins.d.ts +4 -1
- package/dist/indexer/edge-builder/builtins.d.ts.map +1 -1
- package/dist/indexer/edge-builder/builtins.js +512 -66
- package/dist/indexer/edge-builder/builtins.js.map +1 -1
- package/dist/indexer/edge-builder/enclosing-symbol.d.ts +23 -0
- package/dist/indexer/edge-builder/enclosing-symbol.d.ts.map +1 -0
- package/dist/indexer/edge-builder/enclosing-symbol.js +37 -0
- package/dist/indexer/edge-builder/enclosing-symbol.js.map +1 -0
- package/dist/indexer/edge-builder/import-resolution.d.ts.map +1 -1
- package/dist/indexer/edge-builder/import-resolution.js +25 -0
- package/dist/indexer/edge-builder/import-resolution.js.map +1 -1
- package/dist/indexer/edge-builder/pass2.d.ts +1 -25
- package/dist/indexer/edge-builder/pass2.d.ts.map +1 -1
- package/dist/indexer/edge-builder/pass2.js +28 -158
- package/dist/indexer/edge-builder/pass2.js.map +1 -1
- package/dist/indexer/edge-builder/symbol-mapping.d.ts +38 -0
- package/dist/indexer/edge-builder/symbol-mapping.d.ts.map +1 -0
- package/dist/indexer/edge-builder/symbol-mapping.js +70 -0
- package/dist/indexer/edge-builder/symbol-mapping.js.map +1 -0
- package/dist/indexer/edge-builder/target-selection.d.ts +10 -0
- package/dist/indexer/edge-builder/target-selection.d.ts.map +1 -0
- package/dist/indexer/edge-builder/target-selection.js +63 -0
- package/dist/indexer/edge-builder/target-selection.js.map +1 -0
- package/dist/indexer/edge-builder/unresolved-imports.d.ts +6 -0
- package/dist/indexer/edge-builder/unresolved-imports.d.ts.map +1 -0
- package/dist/indexer/edge-builder/unresolved-imports.js +70 -0
- package/dist/indexer/edge-builder/unresolved-imports.js.map +1 -0
- package/dist/indexer/edge-builder.d.ts +5 -1
- package/dist/indexer/edge-builder.d.ts.map +1 -1
- package/dist/indexer/edge-builder.js +5 -1
- package/dist/indexer/edge-builder.js.map +1 -1
- package/dist/indexer/fileScanner.d.ts.map +1 -1
- package/dist/indexer/fileScanner.js +2 -1
- package/dist/indexer/fileScanner.js.map +1 -1
- package/dist/indexer/fingerprints.d.ts +23 -0
- package/dist/indexer/fingerprints.d.ts.map +1 -1
- package/dist/indexer/fingerprints.js +22 -0
- package/dist/indexer/fingerprints.js.map +1 -1
- package/dist/indexer/import-resolution/go-adapter.d.ts.map +1 -1
- package/dist/indexer/import-resolution/go-adapter.js +9 -1
- package/dist/indexer/import-resolution/go-adapter.js.map +1 -1
- package/dist/indexer/import-resolution/php-adapter.d.ts.map +1 -1
- package/dist/indexer/import-resolution/php-adapter.js +17 -2
- package/dist/indexer/import-resolution/php-adapter.js.map +1 -1
- package/dist/indexer/indexer-init.d.ts +68 -0
- package/dist/indexer/indexer-init.d.ts.map +1 -0
- package/dist/indexer/indexer-init.js +79 -0
- package/dist/indexer/indexer-init.js.map +1 -0
- package/dist/indexer/indexer-memory.d.ts +6 -0
- package/dist/indexer/indexer-memory.d.ts.map +1 -0
- package/dist/indexer/indexer-memory.js +98 -0
- package/dist/indexer/indexer-memory.js.map +1 -0
- package/dist/indexer/indexer-pass1.d.ts +12 -0
- package/dist/indexer/indexer-pass1.d.ts.map +1 -0
- package/dist/indexer/indexer-pass1.js +218 -0
- package/dist/indexer/indexer-pass1.js.map +1 -0
- package/dist/indexer/indexer-pass2.d.ts +41 -0
- package/dist/indexer/indexer-pass2.d.ts.map +1 -0
- package/dist/indexer/indexer-pass2.js +135 -0
- package/dist/indexer/indexer-pass2.js.map +1 -0
- package/dist/indexer/indexer-version.d.ts +6 -0
- package/dist/indexer/indexer-version.d.ts.map +1 -0
- package/dist/indexer/indexer-version.js +29 -0
- package/dist/indexer/indexer-version.js.map +1 -0
- package/dist/indexer/indexer.d.ts +2 -6
- package/dist/indexer/indexer.d.ts.map +1 -1
- package/dist/indexer/indexer.js +29 -535
- 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 +17 -3
- 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 +10 -3
- package/dist/indexer/parser/rust-process-file.js.map +1 -1
- package/dist/indexer/pass2/resolvers/c-pass2-resolver.d.ts.map +1 -1
- package/dist/indexer/pass2/resolvers/c-pass2-resolver.js +15 -5
- package/dist/indexer/pass2/resolvers/c-pass2-resolver.js.map +1 -1
- package/dist/indexer/pass2/resolvers/cpp-pass2-resolver.d.ts.map +1 -1
- package/dist/indexer/pass2/resolvers/cpp-pass2-resolver.js +19 -5
- package/dist/indexer/pass2/resolvers/cpp-pass2-resolver.js.map +1 -1
- package/dist/indexer/pass2/resolvers/csharp-pass2-resolver.d.ts.map +1 -1
- package/dist/indexer/pass2/resolvers/csharp-pass2-resolver.js +42 -20
- package/dist/indexer/pass2/resolvers/csharp-pass2-resolver.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 +14 -5
- package/dist/indexer/pass2/resolvers/go-pass2-resolver.js.map +1 -1
- package/dist/indexer/pass2/resolvers/java-pass2-resolver.d.ts.map +1 -1
- package/dist/indexer/pass2/resolvers/java-pass2-resolver.js +42 -20
- package/dist/indexer/pass2/resolvers/java-pass2-resolver.js.map +1 -1
- package/dist/indexer/pass2/resolvers/kotlin-pass2-resolver.d.ts.map +1 -1
- package/dist/indexer/pass2/resolvers/kotlin-pass2-resolver.js +12 -4
- package/dist/indexer/pass2/resolvers/kotlin-pass2-resolver.js.map +1 -1
- package/dist/indexer/pass2/resolvers/php-pass2-resolver.d.ts.map +1 -1
- package/dist/indexer/pass2/resolvers/php-pass2-resolver.js +12 -4
- package/dist/indexer/pass2/resolvers/php-pass2-resolver.js.map +1 -1
- package/dist/indexer/pass2/resolvers/python-pass2-resolver.d.ts.map +1 -1
- package/dist/indexer/pass2/resolvers/python-pass2-resolver.js +34 -103
- package/dist/indexer/pass2/resolvers/python-pass2-resolver.js.map +1 -1
- package/dist/indexer/pass2/resolvers/rust-pass2-resolver.d.ts +12 -1
- package/dist/indexer/pass2/resolvers/rust-pass2-resolver.d.ts.map +1 -1
- package/dist/indexer/pass2/resolvers/rust-pass2-resolver.js +117 -7
- package/dist/indexer/pass2/resolvers/rust-pass2-resolver.js.map +1 -1
- package/dist/indexer/pass2/resolvers/shell-pass2-resolver.d.ts.map +1 -1
- package/dist/indexer/pass2/resolvers/shell-pass2-resolver.js +12 -4
- package/dist/indexer/pass2/resolvers/shell-pass2-resolver.js.map +1 -1
- package/dist/indexer/rustIndexer.d.ts +6 -0
- package/dist/indexer/rustIndexer.d.ts.map +1 -1
- package/dist/indexer/rustIndexer.js +26 -3
- package/dist/indexer/rustIndexer.js.map +1 -1
- package/dist/indexer/summaries.d.ts +2 -1
- package/dist/indexer/summaries.d.ts.map +1 -1
- package/dist/indexer/summaries.js +119 -73
- package/dist/indexer/summaries.js.map +1 -1
- package/dist/indexer/treesitter/extractCalls.d.ts +1 -0
- package/dist/indexer/treesitter/extractCalls.d.ts.map +1 -1
- package/dist/indexer/treesitter/extractCalls.js +93 -17
- package/dist/indexer/treesitter/extractCalls.js.map +1 -1
- package/dist/indexer/treesitter/extractImports.d.ts.map +1 -1
- package/dist/indexer/treesitter/extractImports.js +15 -30
- package/dist/indexer/treesitter/extractImports.js.map +1 -1
- package/dist/indexer/treesitter/extractSymbols.d.ts +5 -22
- package/dist/indexer/treesitter/extractSymbols.d.ts.map +1 -1
- package/dist/indexer/treesitter/extractSymbols.js +39 -32
- package/dist/indexer/treesitter/extractSymbols.js.map +1 -1
- package/dist/indexer/treesitter/grammarLoader.js.map +1 -1
- package/dist/indexer/treesitter/tsTreesitter.d.ts +1 -1
- package/dist/indexer/treesitter/tsTreesitter.d.ts.map +1 -1
- package/dist/indexer/watcher.d.ts +5 -0
- package/dist/indexer/watcher.d.ts.map +1 -1
- package/dist/indexer/watcher.js +27 -10
- package/dist/indexer/watcher.js.map +1 -1
- package/dist/indexer/worker.js +15 -3
- package/dist/indexer/worker.js.map +1 -1
- package/dist/indexer/workerPool.d.ts.map +1 -1
- package/dist/indexer/workerPool.js +38 -6
- package/dist/indexer/workerPool.js.map +1 -1
- package/dist/info/report.d.ts +35 -0
- package/dist/info/report.d.ts.map +1 -0
- package/dist/info/report.js +66 -0
- package/dist/info/report.js.map +1 -0
- package/dist/live-index/coordinator.d.ts +1 -1
- package/dist/live-index/coordinator.d.ts.map +1 -1
- package/dist/live-index/coordinator.js +4 -2
- package/dist/live-index/coordinator.js.map +1 -1
- package/dist/live-index/debounce.js.map +1 -1
- package/dist/live-index/file-patcher.d.ts.map +1 -1
- package/dist/live-index/file-patcher.js +9 -1
- package/dist/live-index/file-patcher.js.map +1 -1
- package/dist/live-index/overlay-merge.d.ts +1 -0
- package/dist/live-index/overlay-merge.d.ts.map +1 -1
- package/dist/live-index/overlay-merge.js +9 -0
- package/dist/live-index/overlay-merge.js.map +1 -1
- package/dist/live-index/overlay-reader.d.ts.map +1 -1
- package/dist/live-index/overlay-reader.js +11 -1
- package/dist/live-index/overlay-reader.js.map +1 -1
- package/dist/live-index/overlay-store.js +1 -1
- package/dist/live-index/overlay-store.js.map +1 -1
- package/dist/live-index/reconcile-queue.d.ts +2 -0
- package/dist/live-index/reconcile-queue.d.ts.map +1 -1
- package/dist/live-index/reconcile-queue.js +15 -1
- package/dist/live-index/reconcile-queue.js.map +1 -1
- package/dist/live-index/reconcile-worker.d.ts +13 -1
- package/dist/live-index/reconcile-worker.d.ts.map +1 -1
- package/dist/live-index/reconcile-worker.js +33 -18
- package/dist/live-index/reconcile-worker.js.map +1 -1
- package/dist/main.js +3 -2
- package/dist/main.js.map +1 -1
- package/dist/mcp/errors.d.ts +7 -0
- package/dist/mcp/errors.d.ts.map +1 -1
- package/dist/mcp/errors.js +93 -0
- package/dist/mcp/errors.js.map +1 -1
- package/dist/mcp/hooks/memory-hint.d.ts +10 -0
- package/dist/mcp/hooks/memory-hint.d.ts.map +1 -0
- package/dist/mcp/hooks/memory-hint.js +105 -0
- package/dist/mcp/hooks/memory-hint.js.map +1 -0
- package/dist/mcp/request-normalization.d.ts +2 -0
- package/dist/mcp/request-normalization.d.ts.map +1 -0
- package/dist/mcp/request-normalization.js +52 -0
- package/dist/mcp/request-normalization.js.map +1 -0
- package/dist/mcp/savings-meter.d.ts +49 -0
- package/dist/mcp/savings-meter.d.ts.map +1 -0
- package/dist/mcp/savings-meter.js +152 -0
- package/dist/mcp/savings-meter.js.map +1 -0
- package/dist/mcp/token-accumulator.d.ts +53 -0
- package/dist/mcp/token-accumulator.d.ts.map +1 -0
- package/dist/mcp/token-accumulator.js +89 -0
- package/dist/mcp/token-accumulator.js.map +1 -0
- package/dist/mcp/token-usage.d.ts +1 -0
- package/dist/mcp/token-usage.d.ts.map +1 -1
- package/dist/mcp/token-usage.js +4 -2
- package/dist/mcp/token-usage.js.map +1 -1
- package/dist/mcp/tool-call-formatter.d.ts +12 -0
- package/dist/mcp/tool-call-formatter.d.ts.map +1 -0
- package/dist/mcp/tool-call-formatter.js +216 -0
- package/dist/mcp/tool-call-formatter.js.map +1 -0
- package/dist/mcp/tool-presentation.d.ts +8 -0
- package/dist/mcp/tool-presentation.d.ts.map +1 -0
- package/dist/mcp/tool-presentation.js +73 -0
- package/dist/mcp/tool-presentation.js.map +1 -0
- package/dist/mcp/tools/agent-feedback.d.ts.map +1 -1
- package/dist/mcp/tools/agent-feedback.js +4 -3
- package/dist/mcp/tools/agent-feedback.js.map +1 -1
- package/dist/mcp/tools/agent.d.ts +1 -239
- package/dist/mcp/tools/agent.d.ts.map +1 -1
- package/dist/mcp/tools/agent.js +26 -111
- package/dist/mcp/tools/agent.js.map +1 -1
- package/dist/mcp/tools/buffer.d.ts.map +1 -1
- package/dist/mcp/tools/buffer.js +46 -7
- package/dist/mcp/tools/buffer.js.map +1 -1
- package/dist/mcp/tools/code.d.ts.map +1 -1
- package/dist/mcp/tools/code.js +57 -20
- package/dist/mcp/tools/code.js.map +1 -1
- package/dist/mcp/tools/delta.d.ts.map +1 -1
- package/dist/mcp/tools/delta.js +7 -4
- package/dist/mcp/tools/delta.js.map +1 -1
- package/dist/mcp/tools/index.d.ts.map +1 -1
- package/dist/mcp/tools/index.js +12 -3
- package/dist/mcp/tools/index.js.map +1 -1
- package/dist/mcp/tools/info.d.ts +4 -0
- package/dist/mcp/tools/info.d.ts.map +1 -0
- package/dist/mcp/tools/info.js +7 -0
- package/dist/mcp/tools/info.js.map +1 -0
- package/dist/mcp/tools/memory.d.ts +1 -1
- package/dist/mcp/tools/memory.d.ts.map +1 -1
- package/dist/mcp/tools/memory.js +37 -95
- package/dist/mcp/tools/memory.js.map +1 -1
- package/dist/mcp/tools/prRisk.d.ts +5 -1
- package/dist/mcp/tools/prRisk.d.ts.map +1 -1
- package/dist/mcp/tools/prRisk.js +8 -3
- 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 +33 -17
- 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 +101 -13
- package/dist/mcp/tools/runtime.js.map +1 -1
- package/dist/mcp/tools/slice.d.ts.map +1 -1
- package/dist/mcp/tools/slice.js +51 -101
- package/dist/mcp/tools/slice.js.map +1 -1
- package/dist/mcp/tools/summary.d.ts.map +1 -1
- package/dist/mcp/tools/summary.js +27 -14
- package/dist/mcp/tools/summary.js.map +1 -1
- package/dist/mcp/tools/symbol.d.ts.map +1 -1
- package/dist/mcp/tools/symbol.js +156 -37
- package/dist/mcp/tools/symbol.js.map +1 -1
- package/dist/mcp/tools/usage.d.ts +9 -0
- package/dist/mcp/tools/usage.d.ts.map +1 -0
- package/dist/mcp/tools/usage.js +130 -0
- package/dist/mcp/tools/usage.js.map +1 -0
- package/dist/mcp/tools.d.ts +965 -393
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +119 -12
- package/dist/mcp/tools.js.map +1 -1
- package/dist/memory/file-sync.d.ts +2 -0
- package/dist/memory/file-sync.d.ts.map +1 -1
- package/dist/memory/file-sync.js +90 -18
- package/dist/memory/file-sync.js.map +1 -1
- package/dist/memory/surface.d.ts +19 -0
- package/dist/memory/surface.d.ts.map +1 -0
- package/dist/memory/surface.js +72 -0
- package/dist/memory/surface.js.map +1 -0
- package/dist/policy/engine.d.ts.map +1 -1
- package/dist/policy/engine.js +22 -1
- package/dist/policy/engine.js.map +1 -1
- package/dist/runtime/artifacts.d.ts.map +1 -1
- package/dist/runtime/artifacts.js +5 -0
- package/dist/runtime/artifacts.js.map +1 -1
- package/dist/runtime/executor.d.ts +1 -1
- package/dist/runtime/executor.d.ts.map +1 -1
- package/dist/runtime/executor.js +11 -7
- package/dist/runtime/executor.js.map +1 -1
- package/dist/runtime/runtimes.d.ts +30 -18
- package/dist/runtime/runtimes.d.ts.map +1 -1
- package/dist/runtime/runtimes.js +262 -220
- package/dist/runtime/runtimes.js.map +1 -1
- package/dist/server.d.ts +9 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +113 -16
- package/dist/server.js.map +1 -1
- package/dist/services/health.d.ts +1 -0
- package/dist/services/health.d.ts.map +1 -1
- package/dist/services/health.js +4 -2
- package/dist/services/health.js.map +1 -1
- package/dist/services/summary.d.ts.map +1 -1
- package/dist/services/summary.js +2 -1
- package/dist/services/summary.js.map +1 -1
- package/dist/sync/pull.d.ts.map +1 -1
- package/dist/sync/pull.js +3 -2
- package/dist/sync/pull.js.map +1 -1
- package/dist/sync/sync.d.ts.map +1 -1
- package/dist/sync/sync.js +53 -14
- package/dist/sync/sync.js.map +1 -1
- package/dist/sync/types.d.ts +1 -0
- package/dist/sync/types.d.ts.map +1 -1
- package/dist/ts/diagnostics.d.ts.map +1 -1
- package/dist/ts/diagnostics.js +8 -4
- package/dist/ts/diagnostics.js.map +1 -1
- package/dist/ts/mapping.d.ts.map +1 -1
- package/dist/ts/mapping.js +29 -2
- package/dist/ts/mapping.js.map +1 -1
- package/dist/util/logger.d.ts +16 -19
- package/dist/util/logger.d.ts.map +1 -1
- package/dist/util/logger.js +109 -104
- package/dist/util/logger.js.map +1 -1
- package/dist/util/package-info.d.ts +2 -0
- package/dist/util/package-info.d.ts.map +1 -0
- package/dist/util/package-info.js +13 -0
- package/dist/util/package-info.js.map +1 -0
- package/dist/util/paths.d.ts.map +1 -1
- package/dist/util/paths.js +20 -5
- package/dist/util/paths.js.map +1 -1
- package/dist/util/pidfile.d.ts.map +1 -1
- package/dist/util/pidfile.js +6 -1
- package/dist/util/pidfile.js.map +1 -1
- package/dist/util/resolve-symbol-id.d.ts +18 -0
- package/dist/util/resolve-symbol-id.d.ts.map +1 -0
- package/dist/util/resolve-symbol-id.js +64 -0
- package/dist/util/resolve-symbol-id.js.map +1 -0
- package/dist/util/resolve-symbol-ref.d.ts +31 -0
- package/dist/util/resolve-symbol-ref.d.ts.map +1 -0
- package/dist/util/resolve-symbol-ref.js +153 -0
- package/dist/util/resolve-symbol-ref.js.map +1 -0
- package/dist/util/safeJson.d.ts +1 -1
- package/dist/util/safeJson.d.ts.map +1 -1
- package/dist/util/safeJson.js +1 -1
- package/dist/util/safeJson.js.map +1 -1
- package/dist/util/safeRegex.js +2 -2
- package/dist/util/safeRegex.js.map +1 -1
- package/dist/util/truncation.d.ts.map +1 -1
- package/dist/util/truncation.js +1 -5
- package/dist/util/truncation.js.map +1 -1
- package/package.json +18 -12
- package/scripts/postinstall-prune.mjs +269 -0
- package/templates/AGENTS.md.template +84 -0
- package/templates/CLAUDE.md.template +41 -179
- package/templates/CODEX.md.template +28 -0
- package/templates/GEMINI.md.template +28 -0
- package/templates/OPENCODE.md.template +27 -0
- package/migrations/.gitkeep +0 -1
- package/migrations/0001_init.sql +0 -61
- package/migrations/0002_edges_indexes.sql +0 -2
- package/migrations/0003_versions.sql +0 -22
- package/migrations/0004_metrics_audit.sql +0 -23
- package/migrations/0005_slice_handles.sql +0 -15
- package/migrations/0006_content_addressed.sql +0 -29
- package/migrations/0007_add_language_to_symbols.sql +0 -28
- package/migrations/0008_performance_indexes.sql +0 -21
- package/migrations/0009_fix_edge_fks.sql +0 -37
- package/migrations/0010_standardize_fks.sql +0 -35
- package/migrations/0011_add_directory_column.sql +0 -20
- package/migrations/0012_symbol_references.sql +0 -16
- package/migrations/0013_sync_artifacts.sql +0 -17
- package/migrations/0014_add_edge_confidence.sql +0 -19
- package/migrations/0015_add_edge_resolution_strategy.sql +0 -5
- package/migrations/0016_symbol_embeddings.sql +0 -14
- package/migrations/0017_agent_feedback.sql +0 -34
- package/migrations/0018_summary_cache.sql +0 -15
- package/migrations/0019_canonical_test.sql +0 -1
- package/migrations/0020_deduplicate_edges.sql +0 -27
- package/templates/README.md +0 -228
- package/templates/plugin-template/LICENSE +0 -21
- package/templates/plugin-template/README.md +0 -309
- package/templates/plugin-template/index.ts +0 -160
- package/templates/plugin-template/package.json +0 -31
- package/templates/plugin-template/test/plugin.test.ts +0 -186
- package/templates/plugin-template/tsconfig.json +0 -21
package/README.md
CHANGED
|
@@ -11,11 +11,9 @@
|
|
|
11
11
|
|
|
12
12
|
<br/>
|
|
13
13
|
|
|
14
|
-

|
|
15
|
-

|
|
16
|
-

|
|
18
|
-

|
|
14
|
+

|
|
15
|
+

|
|
16
|
+

|
|
19
17
|
|
|
20
18
|
</div>
|
|
21
19
|
|
|
@@ -131,6 +129,12 @@ The core innovation. Named after the adjustable aperture that controls light flo
|
|
|
131
129
|
| "Show me the shape of `AuthService`" | ~4,000 tok | ~300 tok | **13x** |
|
|
132
130
|
| "Where is `this.cache` set?" | ~2,000 tok | ~500 tok | **4x** |
|
|
133
131
|
|
|
132
|
+
**Why it matters:**
|
|
133
|
+
- **4–20x token savings** on typical code understanding queries
|
|
134
|
+
- Most questions answered at Rungs 1–2 without ever reading raw code
|
|
135
|
+
- Controlled escalation prevents agents from over-consuming context
|
|
136
|
+
- Policy-gated raw access ensures agents prove they need full source
|
|
137
|
+
|
|
134
138
|
[Iris Gate Ladder Deep Dive →](./docs/feature-deep-dives/iris-gate-ladder.md)
|
|
135
139
|
|
|
136
140
|
<br/>
|
|
@@ -169,6 +173,12 @@ Every function, class, interface, type, and variable becomes a **Symbol Card**:
|
|
|
169
173
|
|
|
170
174
|
Cards include **confidence-scored call resolution** (the pass-2 resolver traces imports, aliases, barrel re-exports, and tagged templates to produce accurate dependency edges), **community detection** (cluster membership), and **call-chain tracing** (process participation with entry/intermediate/exit roles).
|
|
171
175
|
|
|
176
|
+
**Why it matters:**
|
|
177
|
+
- **~100 tokens per symbol** vs. ~2,000 tokens to read the full file
|
|
178
|
+
- Confidence-scored dependency edges trace real call relationships across files
|
|
179
|
+
- Community detection and call-chain tracing reveal architectural structure
|
|
180
|
+
- ETag-based conditional requests avoid re-fetching unchanged symbols
|
|
181
|
+
|
|
172
182
|
[Indexing & Language Support Deep Dive →](./docs/feature-deep-dives/indexing-languages.md)
|
|
173
183
|
|
|
174
184
|
---
|
|
@@ -198,6 +208,12 @@ Instead of reading files in the same directory, SDL-MCP follows the *dependency
|
|
|
198
208
|
|
|
199
209
|
Slices have handles, leases, refresh (delta-only updates), and spillover (paged overflow). You can also skip the symbol search entirely — pass a `taskText` string and SDL-MCP auto-discovers the relevant entry symbols.
|
|
200
210
|
|
|
211
|
+
**Why it matters:**
|
|
212
|
+
- Follows the **dependency graph**, not directory boundaries, for cross-cutting context
|
|
213
|
+
- Weighted edge scoring (call > config > import) prioritizes the most relevant symbols
|
|
214
|
+
- Token-budgeted: returns only what fits within your budget (~800 tokens vs. ~16,000 for raw files)
|
|
215
|
+
- Natural-language task-text auto-discovers entry symbols — no symbol IDs needed
|
|
216
|
+
|
|
201
217
|
[Graph Slicing Deep Dive →](./docs/feature-deep-dives/graph-slicing.md)
|
|
202
218
|
|
|
203
219
|
---
|
|
@@ -223,6 +239,12 @@ Slices have handles, leases, refresh (delta-only updates), and spillover (paged
|
|
|
223
239
|
|
|
224
240
|
**PR risk analysis** (`sdl.pr.risk.analyze`) wraps this into a scored assessment with findings, evidence, and test recommendations. **Fan-in trend analysis** detects "amplifier" symbols whose growing dependency count means changes ripple further over time.
|
|
225
241
|
|
|
242
|
+
**Why it matters:**
|
|
243
|
+
- Semantic diffs show what a change **means**, not just what lines moved
|
|
244
|
+
- Ranked blast radius identifies which dependent symbols are most at risk
|
|
245
|
+
- Fan-in trend analysis detects "amplifier" symbols whose changes ripple further over time
|
|
246
|
+
- PR risk scoring produces actionable findings with test re-run recommendations
|
|
247
|
+
|
|
226
248
|
[Delta & Blast Radius Deep Dive →](./docs/feature-deep-dives/delta-blast-radius.md)
|
|
227
249
|
|
|
228
250
|
---
|
|
@@ -240,6 +262,11 @@ SDL-MCP doesn't wait for you to save. As you type in your editor, buffer updates
|
|
|
240
262
|
LadybugDB (durable)
|
|
241
263
|
```
|
|
242
264
|
|
|
265
|
+
**Why it matters:**
|
|
266
|
+
- Search, cards, and slices reflect **unsaved editor changes** in real time
|
|
267
|
+
- No manual re-index needed during active development
|
|
268
|
+
- Background AST parsing with in-memory overlay keeps queries fast
|
|
269
|
+
|
|
243
270
|
[Live Indexing Deep Dive →](./docs/feature-deep-dives/live-indexing.md)
|
|
244
271
|
|
|
245
272
|
---
|
|
@@ -255,6 +282,12 @@ Requests that don't meet policy are denied with actionable guidance ("try `getHo
|
|
|
255
282
|
|
|
256
283
|
The sandboxed runtime execution tool (`sdl.runtime.execute`) has its own governance layer: disabled by default, executable allowlisting, CWD jailing, environment scrubbing, concurrency limits, and timeout enforcement.
|
|
257
284
|
|
|
285
|
+
**Why it matters:**
|
|
286
|
+
- Proof-of-need gating prevents agents from wastefully reading raw code
|
|
287
|
+
- Denied requests include **actionable next-best-action** guidance
|
|
288
|
+
- Full audit logging of every code access decision
|
|
289
|
+
- Sandboxed runtime with executable allowlisting, CWD jailing, and environment scrubbing
|
|
290
|
+
|
|
258
291
|
[Governance & Policy Deep Dive →](./docs/feature-deep-dives/governance-policy.md)
|
|
259
292
|
|
|
260
293
|
---
|
|
@@ -267,6 +300,11 @@ The feedback loop (`sdl.agent.feedback`) records which symbols were useful and w
|
|
|
267
300
|
|
|
268
301
|
`sdl.context.summary` generates portable, token-bounded context briefings in markdown, JSON, or clipboard format for use outside MCP environments.
|
|
269
302
|
|
|
303
|
+
**Why it matters:**
|
|
304
|
+
- Autonomous task execution plans the **optimal Iris Gate path** within a token budget
|
|
305
|
+
- Feedback loop records what was useful/missing, improving future slice quality
|
|
306
|
+
- Portable context summaries export findings for use outside MCP environments
|
|
307
|
+
|
|
270
308
|
[Agent Orchestration Deep Dive →](./docs/feature-deep-dives/agent-orchestration.md)
|
|
271
309
|
|
|
272
310
|
---
|
|
@@ -275,6 +313,12 @@ The feedback loop (`sdl.agent.feedback`) records which symbols were useful and w
|
|
|
275
313
|
|
|
276
314
|
Run tests, linters, and scripts through SDL-MCP's governance layer instead of uncontrolled shell access. Three runtimes (Node.js, Python, Shell), code-mode or args-mode, smart output summarization with keyword-matched excerpts, and gzip artifact persistence.
|
|
277
315
|
|
|
316
|
+
**Why it matters:**
|
|
317
|
+
- Run tests, linters, and scripts **under governance** instead of uncontrolled shell access
|
|
318
|
+
- 16 runtimes supported (Node, Python, Go, Java, Rust, Shell, and more)
|
|
319
|
+
- Executable allowlisting, CWD jailing, timeout enforcement, and environment scrubbing
|
|
320
|
+
- Smart output summarization with keyword-matched excerpts and gzip artifact persistence
|
|
321
|
+
|
|
278
322
|
[Runtime Execution Deep Dive →](./docs/feature-deep-dives/runtime-execution.md)
|
|
279
323
|
|
|
280
324
|
---
|
|
@@ -302,6 +346,12 @@ Agents forget everything between sessions. SDL-MCP fixes this with a **graph-bac
|
|
|
302
346
|
|
|
303
347
|
Memories are **automatically surfaced** inside graph slices — when an agent builds a slice touching symbols with linked memories, those memories appear alongside the cards. During re-indexing, memories linked to changed symbols are **flagged as stale**, prompting agents to review and update them. Four MCP tools (`store`, `query`, `remove`, `surface`) provide full CRUD plus intelligent ranking by confidence, recency, and symbol overlap.
|
|
304
348
|
|
|
349
|
+
**Why it matters:**
|
|
350
|
+
- Structured knowledge **persists across sessions**, linked directly to symbols and files
|
|
351
|
+
- Automatically surfaced inside graph slices when touching related symbols
|
|
352
|
+
- Stale memories flagged when linked symbols change during re-indexing
|
|
353
|
+
- Dual storage: graph DB for fast querying + markdown files for version control and team sharing
|
|
354
|
+
|
|
305
355
|
[Development Memories Deep Dive →](./docs/feature-deep-dives/development-memories.md)
|
|
306
356
|
|
|
307
357
|
---
|
|
@@ -323,6 +373,12 @@ echo '{"repoId":"my-repo"}' | sdl-mcp tool symbol.search --query "auth"
|
|
|
323
373
|
|
|
324
374
|
Features include typed argument coercion (string, number, boolean, string[], json), budget flag merging, stdin JSON piping with CLI-flags-win 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.
|
|
325
375
|
|
|
376
|
+
**Why it matters:**
|
|
377
|
+
- All MCP tool actions accessible from **any terminal** — no server, transport, or SDK required
|
|
378
|
+
- Same code paths and Zod validation as the MCP server — identical behavior
|
|
379
|
+
- Four output formats (json, json-compact, pretty, table) for scripting and CI pipelines
|
|
380
|
+
- Auto-resolves repoId from cwd, supports stdin JSON piping and per-action `--help`
|
|
381
|
+
|
|
326
382
|
[CLI Tool Access Deep Dive →](./docs/feature-deep-dives/cli-tool-access.md)
|
|
327
383
|
|
|
328
384
|
---
|
|
@@ -340,6 +396,12 @@ The tool gateway consolidates all 29 MCP tools into **4 namespace-scoped tools**
|
|
|
340
396
|
|
|
341
397
|
Each gateway tool accepts an `action` discriminator field (e.g., `{ action: "symbol.search", repoId: "x", query: "auth" }`) and routes to the same handlers with double Zod validation. Thin wire schemas in `tools/list` keep the registration compact while full validation happens server-side. Legacy flat tool names are optionally emitted alongside for backward compatibility.
|
|
342
398
|
|
|
399
|
+
**Why it matters:**
|
|
400
|
+
- **81% token reduction** in `tools/list` overhead (~3,742 → ~713 tokens per conversation)
|
|
401
|
+
- 29 tools consolidated into 4 namespace-scoped tools for simpler agent selection
|
|
402
|
+
- Fewer tool choices means faster and more accurate tool dispatch by the agent
|
|
403
|
+
- Backward-compatible: legacy flat tool names optionally emitted alongside
|
|
404
|
+
|
|
343
405
|
[Tool Gateway Deep Dive →](./docs/feature-deep-dives/tool-gateway.md)
|
|
344
406
|
|
|
345
407
|
<br/>
|
|
@@ -4,16 +4,16 @@
|
|
|
4
4
|
"thresholds": {
|
|
5
5
|
"indexing": {
|
|
6
6
|
"indexTimePerFile": {
|
|
7
|
-
"maxMs":
|
|
7
|
+
"maxMs": 3000,
|
|
8
8
|
"trend": "lower-is-better",
|
|
9
9
|
"allowableIncreasePercent": 30,
|
|
10
|
-
"_comment": "Raised for LadybugDB graph backend: graph writes are inherently slower than SQLite inserts. CI runners see ~
|
|
10
|
+
"_comment": "Raised for LadybugDB graph backend: graph writes are inherently slower than SQLite inserts. CI runners see ~2000-2500ms per file."
|
|
11
11
|
},
|
|
12
12
|
"indexTimePerSymbol": {
|
|
13
|
-
"maxMs":
|
|
13
|
+
"maxMs": 250,
|
|
14
14
|
"trend": "lower-is-better",
|
|
15
15
|
"allowableIncreasePercent": 30,
|
|
16
|
-
"_comment": "Raised for LadybugDB graph backend: per-symbol graph operations cost more than SQLite row inserts."
|
|
16
|
+
"_comment": "Raised for LadybugDB graph backend: per-symbol graph operations cost more than SQLite row inserts. CI runners see ~150-200ms per symbol."
|
|
17
17
|
}
|
|
18
18
|
},
|
|
19
19
|
"quality": {
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"maxWindowLines": 180,
|
|
40
40
|
"maxWindowTokens": 1400,
|
|
41
41
|
"requireIdentifiers": true,
|
|
42
|
-
"allowBreakGlass":
|
|
42
|
+
"allowBreakGlass": false
|
|
43
43
|
},
|
|
44
44
|
"redaction": {
|
|
45
45
|
"enabled": true,
|
|
@@ -137,6 +137,10 @@
|
|
|
137
137
|
"writeQueueTimeoutMs": 30000,
|
|
138
138
|
"toolQueueTimeoutMs": 30000
|
|
139
139
|
},
|
|
140
|
+
"httpAuth": {
|
|
141
|
+
"enabled": true,
|
|
142
|
+
"token": null
|
|
143
|
+
},
|
|
140
144
|
"codeMode": {
|
|
141
145
|
"enabled": false,
|
|
142
146
|
"exclusive": false,
|
|
@@ -145,7 +145,7 @@
|
|
|
145
145
|
"maxWindowLines": 180,
|
|
146
146
|
"maxWindowTokens": 1400,
|
|
147
147
|
"requireIdentifiers": true,
|
|
148
|
-
"allowBreakGlass":
|
|
148
|
+
"allowBreakGlass": false
|
|
149
149
|
}
|
|
150
150
|
},
|
|
151
151
|
"redaction": {
|
|
@@ -263,7 +263,7 @@
|
|
|
263
263
|
"type": "integer",
|
|
264
264
|
"description": "Quiet-period threshold in milliseconds before idle checkpoint compaction runs",
|
|
265
265
|
"minimum": 1000,
|
|
266
|
-
"maximum":
|
|
266
|
+
"maximum": 600000,
|
|
267
267
|
"default": 15000
|
|
268
268
|
},
|
|
269
269
|
"maxDraftFiles": {
|
|
@@ -489,7 +489,7 @@
|
|
|
489
489
|
"model": {
|
|
490
490
|
"type": "string",
|
|
491
491
|
"enum": ["all-MiniLM-L6-v2", "nomic-embed-text-v1.5"],
|
|
492
|
-
"default": "
|
|
492
|
+
"default": "nomic-embed-text-v1.5"
|
|
493
493
|
},
|
|
494
494
|
"modelCacheDir": {
|
|
495
495
|
"type": "string",
|
|
@@ -581,7 +581,7 @@
|
|
|
581
581
|
"enabled": true,
|
|
582
582
|
"alpha": 0.6,
|
|
583
583
|
"provider": "local",
|
|
584
|
-
"model": "
|
|
584
|
+
"model": "nomic-embed-text-v1.5",
|
|
585
585
|
"generateSummaries": false,
|
|
586
586
|
"summaryModel": "claude-haiku-4-5-20251001",
|
|
587
587
|
"summaryMaxConcurrency": 5,
|
|
@@ -833,6 +833,27 @@
|
|
|
833
833
|
"emitLegacyTools": true
|
|
834
834
|
}
|
|
835
835
|
},
|
|
836
|
+
"httpAuth": {
|
|
837
|
+
"type": "object",
|
|
838
|
+
"description": "HTTP transport authentication configuration — set a static bearer token or disable auth entirely",
|
|
839
|
+
"properties": {
|
|
840
|
+
"enabled": {
|
|
841
|
+
"type": "boolean",
|
|
842
|
+
"description": "Enable bearer-token authentication for /mcp and /api/* endpoints",
|
|
843
|
+
"default": true
|
|
844
|
+
},
|
|
845
|
+
"token": {
|
|
846
|
+
"type": ["string", "null"],
|
|
847
|
+
"description": "Static bearer token. When null a random token is generated at startup.",
|
|
848
|
+
"minLength": 1,
|
|
849
|
+
"default": null
|
|
850
|
+
}
|
|
851
|
+
},
|
|
852
|
+
"default": {
|
|
853
|
+
"enabled": true,
|
|
854
|
+
"token": null
|
|
855
|
+
}
|
|
856
|
+
},
|
|
836
857
|
"codeMode": {
|
|
837
858
|
"type": "object",
|
|
838
859
|
"description": "Code Mode configuration — batch multiple tool calls in a single chain with $N references between steps",
|
package/dist/agent/executor.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { Action, AgentTask, Evidence, ExecutionMetrics, RungType } from "./types.js";
|
|
2
2
|
import type { PolicyEngine } from "../policy/engine.js";
|
|
3
|
+
import { evaluateRequest } from "../code/gate.js";
|
|
4
|
+
/** Injectable gate evaluator for testability. */
|
|
5
|
+
export type GateEvaluator = typeof evaluateRequest;
|
|
3
6
|
export declare class Executor {
|
|
4
7
|
private evidenceCapture;
|
|
5
8
|
private actions;
|
|
@@ -7,21 +10,41 @@ export declare class Executor {
|
|
|
7
10
|
private startTime;
|
|
8
11
|
private policyEngine;
|
|
9
12
|
private policyDecisions;
|
|
10
|
-
|
|
13
|
+
private gateEvaluator;
|
|
14
|
+
private connPromise;
|
|
15
|
+
constructor(policyEngine?: PolicyEngine, gateEvaluator?: GateEvaluator);
|
|
16
|
+
private getConn;
|
|
11
17
|
execute(task: AgentTask, rungs: RungType[], context: string[]): Promise<{
|
|
12
18
|
actions: Action[];
|
|
13
19
|
evidence: Evidence[];
|
|
14
20
|
success: boolean;
|
|
15
21
|
}>;
|
|
22
|
+
private getNextEscalationRung;
|
|
16
23
|
private executeRung;
|
|
24
|
+
/**
|
|
25
|
+
* Resolve file: context entries to symbol IDs by querying the DB.
|
|
26
|
+
*/
|
|
27
|
+
private resolveFileSymbols;
|
|
28
|
+
/**
|
|
29
|
+
* Extract symbol IDs and file paths from context entries,
|
|
30
|
+
* resolving file: entries to their constituent symbol IDs.
|
|
31
|
+
*/
|
|
32
|
+
private resolveContextToSymbols;
|
|
17
33
|
private executeCardRung;
|
|
18
34
|
private executeSkeletonRung;
|
|
19
35
|
private executeHotPathRung;
|
|
20
36
|
private executeRawRung;
|
|
37
|
+
/**
|
|
38
|
+
* Extract potential identifiers from task text for hot-path searching.
|
|
39
|
+
*/
|
|
40
|
+
private extractIdentifiersFromTask;
|
|
21
41
|
private generateActionId;
|
|
42
|
+
/**
|
|
43
|
+
* Returns a frozen snapshot of execution metrics computed at the end of
|
|
44
|
+
* the most recent `execute()` call. Calling this during execution will
|
|
45
|
+
* return stale data — use only after `execute()` resolves.
|
|
46
|
+
*/
|
|
22
47
|
getMetrics(): ExecutionMetrics;
|
|
23
|
-
getActions(): Action[];
|
|
24
|
-
getEvidence(): Evidence[];
|
|
25
48
|
getNextBestAction(): string | undefined;
|
|
26
49
|
reset(): void;
|
|
27
50
|
}
|
|
@@ -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;AAM7B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIlD,iDAAiD;AACjD,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC;AAmDnD,qBAAa,QAAQ;IACnB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAkD;gBAEzD,YAAY,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,aAAa;IActE,OAAO,CAAC,OAAO;IAOT,OAAO,CACX,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,QAAQ,EAAE,EACjB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC;QACT,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IAkFF,OAAO,CAAC,qBAAqB;YAYf,WAAW;IA0CzB;;OAEG;YACW,kBAAkB;IA2BhC;;;OAGG;YACW,uBAAuB;YAqBvB,eAAe;YAiFf,mBAAmB;YAqFnB,kBAAkB;YAgElB,cAAc;IAwG5B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA6ClC,OAAO,CAAC,gBAAgB;IAIxB;;;;OAIG;IACH,UAAU,IAAI,gBAAgB;IAI9B,iBAAiB,IAAI,MAAM,GAAG,SAAS;IAgBvC,KAAK,IAAI,IAAI;CAiBd"}
|