homegraph 1.4.1 → 1.5.0
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 +48 -11
- package/dist/bin/homegraph.js +295 -72
- package/dist/bin/homegraph.js.map +1 -1
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +32 -11
- package/dist/context/index.js.map +1 -1
- package/dist/db/index.d.ts +143 -1
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +293 -16
- package/dist/db/index.js.map +1 -1
- package/dist/db/queries.d.ts +43 -4
- package/dist/db/queries.d.ts.map +1 -1
- package/dist/db/queries.js +138 -14
- package/dist/db/queries.js.map +1 -1
- package/dist/db/sqlite-adapter.d.ts +24 -17
- package/dist/db/sqlite-adapter.d.ts.map +1 -1
- package/dist/db/sqlite-adapter.js +292 -36
- package/dist/db/sqlite-adapter.js.map +1 -1
- package/dist/db/wal-valve.d.ts +15 -2
- package/dist/db/wal-valve.d.ts.map +1 -1
- package/dist/db/wal-valve.js +88 -6
- package/dist/db/wal-valve.js.map +1 -1
- package/dist/extraction/arkts-batch-worker.js +3 -2
- package/dist/extraction/arkts-batch-worker.js.map +1 -1
- package/dist/extraction/default-ignore.d.ts +39 -0
- package/dist/extraction/default-ignore.d.ts.map +1 -0
- package/dist/extraction/default-ignore.js +221 -0
- package/dist/extraction/default-ignore.js.map +1 -0
- package/dist/extraction/index.d.ts +9 -10
- package/dist/extraction/index.d.ts.map +1 -1
- package/dist/extraction/index.js +227 -323
- package/dist/extraction/index.js.map +1 -1
- package/dist/extraction/languages/arkts.d.ts +90 -6
- package/dist/extraction/languages/arkts.d.ts.map +1 -1
- package/dist/extraction/languages/arkts.js +1579 -128
- package/dist/extraction/languages/arkts.js.map +1 -1
- package/dist/extraction/store-worker.d.ts +20 -0
- package/dist/extraction/store-worker.d.ts.map +1 -0
- package/dist/extraction/store-worker.js +102 -0
- package/dist/extraction/store-worker.js.map +1 -0
- package/dist/extraction/store-writer.d.ts +48 -0
- package/dist/extraction/store-writer.d.ts.map +1 -0
- package/dist/extraction/store-writer.js +167 -0
- package/dist/extraction/store-writer.js.map +1 -0
- package/dist/extraction/tree-sitter.d.ts.map +1 -1
- package/dist/extraction/tree-sitter.js +47 -0
- package/dist/extraction/tree-sitter.js.map +1 -1
- package/dist/extraction/wasm-runtime-flags.d.ts +14 -4
- package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -1
- package/dist/extraction/wasm-runtime-flags.js +55 -7
- package/dist/extraction/wasm-runtime-flags.js.map +1 -1
- package/dist/index.d.ts +16 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +135 -97
- package/dist/index.js.map +1 -1
- package/dist/mcp/query-worker.d.ts +2 -2
- package/dist/mcp/query-worker.js +2 -2
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +42 -26
- package/dist/mcp/tools.js.map +1 -1
- package/dist/resolution/callback-synthesizer.d.ts +52 -16
- package/dist/resolution/callback-synthesizer.d.ts.map +1 -1
- package/dist/resolution/callback-synthesizer.js +234 -180
- package/dist/resolution/callback-synthesizer.js.map +1 -1
- package/dist/resolution/cooperative-yield.d.ts +10 -2
- package/dist/resolution/cooperative-yield.d.ts.map +1 -1
- package/dist/resolution/cooperative-yield.js +6 -4
- package/dist/resolution/cooperative-yield.js.map +1 -1
- package/dist/resolution/frameworks/go.d.ts.map +1 -1
- package/dist/resolution/frameworks/go.js +29 -6
- package/dist/resolution/frameworks/go.js.map +1 -1
- package/dist/resolution/import-resolver.d.ts +2 -3
- package/dist/resolution/import-resolver.d.ts.map +1 -1
- package/dist/resolution/import-resolver.js +166 -7
- package/dist/resolution/import-resolver.js.map +1 -1
- package/dist/resolution/index.d.ts +87 -2
- package/dist/resolution/index.d.ts.map +1 -1
- package/dist/resolution/index.js +739 -131
- package/dist/resolution/index.js.map +1 -1
- package/dist/resolution/memory-budget.d.ts +48 -0
- package/dist/resolution/memory-budget.d.ts.map +1 -0
- package/dist/resolution/memory-budget.js +162 -0
- package/dist/resolution/memory-budget.js.map +1 -0
- package/dist/resolution/name-matcher.d.ts +12 -1
- package/dist/resolution/name-matcher.d.ts.map +1 -1
- package/dist/resolution/name-matcher.js +439 -97
- package/dist/resolution/name-matcher.js.map +1 -1
- package/dist/resolution/resolver-pool.d.ts +106 -0
- package/dist/resolution/resolver-pool.d.ts.map +1 -0
- package/dist/resolution/resolver-pool.js +344 -0
- package/dist/resolution/resolver-pool.js.map +1 -0
- package/dist/resolution/resolver-worker.d.ts +17 -0
- package/dist/resolution/resolver-worker.d.ts.map +1 -0
- package/dist/resolution/resolver-worker.js +141 -0
- package/dist/resolution/resolver-worker.js.map +1 -0
- package/dist/resolution/types.d.ts +3 -0
- package/dist/resolution/types.d.ts.map +1 -1
- package/dist/spec/build/diff-parser.d.ts +55 -0
- package/dist/spec/build/diff-parser.d.ts.map +1 -0
- package/dist/spec/build/diff-parser.js +205 -0
- package/dist/spec/build/diff-parser.js.map +1 -0
- package/dist/spec/build/git-scanner.d.ts +93 -0
- package/dist/spec/build/git-scanner.d.ts.map +1 -0
- package/dist/spec/build/git-scanner.js +254 -0
- package/dist/spec/build/git-scanner.js.map +1 -0
- package/dist/spec/build/pipeline.d.ts +54 -0
- package/dist/spec/build/pipeline.d.ts.map +1 -0
- package/dist/spec/build/pipeline.js +170 -0
- package/dist/spec/build/pipeline.js.map +1 -0
- package/dist/spec/build/scan.d.ts +48 -0
- package/dist/spec/build/scan.d.ts.map +1 -0
- package/dist/spec/build/scan.js +89 -0
- package/dist/spec/build/scan.js.map +1 -0
- package/dist/spec/build/scope-resolver.d.ts +50 -0
- package/dist/spec/build/scope-resolver.d.ts.map +1 -0
- package/dist/spec/build/scope-resolver.js +105 -0
- package/dist/spec/build/scope-resolver.js.map +1 -0
- package/dist/spec/build/spec-extractor.d.ts +74 -0
- package/dist/spec/build/spec-extractor.d.ts.map +1 -0
- package/dist/spec/build/spec-extractor.js +344 -0
- package/dist/spec/build/spec-extractor.js.map +1 -0
- package/dist/spec/config.d.ts +35 -1
- package/dist/spec/config.d.ts.map +1 -1
- package/dist/spec/config.js +30 -5
- package/dist/spec/config.js.map +1 -1
- package/dist/spec/db/fts.d.ts.map +1 -1
- package/dist/spec/db/fts.js +19 -50
- package/dist/spec/db/fts.js.map +1 -1
- package/dist/spec/db/index.d.ts +5 -3
- package/dist/spec/db/index.d.ts.map +1 -1
- package/dist/spec/db/index.js +16 -1
- package/dist/spec/db/index.js.map +1 -1
- package/dist/spec/db/persist.d.ts +45 -0
- package/dist/spec/db/persist.d.ts.map +1 -0
- package/dist/spec/db/persist.js +66 -0
- package/dist/spec/db/persist.js.map +1 -0
- package/dist/spec/db/relations.d.ts +80 -1
- package/dist/spec/db/relations.d.ts.map +1 -1
- package/dist/spec/db/relations.js +175 -4
- package/dist/spec/db/relations.js.map +1 -1
- package/dist/spec/db/schema.d.ts +4 -0
- package/dist/spec/db/schema.d.ts.map +1 -1
- package/dist/spec/db/schema.js +4 -0
- package/dist/spec/db/schema.js.map +1 -1
- package/dist/spec/db/schema.sql +5 -1
- package/dist/spec/db/spec-node.d.ts +5 -0
- package/dist/spec/db/spec-node.d.ts.map +1 -1
- package/dist/spec/db/spec-node.js +11 -5
- package/dist/spec/db/spec-node.js.map +1 -1
- package/dist/spec/db/sql-utils.d.ts +11 -0
- package/dist/spec/db/sql-utils.d.ts.map +1 -0
- package/dist/spec/db/sql-utils.js +19 -0
- package/dist/spec/db/sql-utils.js.map +1 -0
- package/dist/spec/evolve/cluster-context.d.ts +30 -0
- package/dist/spec/evolve/cluster-context.d.ts.map +1 -0
- package/dist/spec/evolve/cluster-context.js +78 -0
- package/dist/spec/evolve/cluster-context.js.map +1 -0
- package/dist/spec/evolve/commit-spec-analyzer.d.ts +51 -0
- package/dist/spec/evolve/commit-spec-analyzer.d.ts.map +1 -0
- package/dist/spec/evolve/commit-spec-analyzer.js +88 -0
- package/dist/spec/evolve/commit-spec-analyzer.js.map +1 -0
- package/dist/spec/evolve/commit-spec-persister.d.ts +53 -0
- package/dist/spec/evolve/commit-spec-persister.d.ts.map +1 -0
- package/dist/spec/evolve/commit-spec-persister.js +93 -0
- package/dist/spec/evolve/commit-spec-persister.js.map +1 -0
- package/dist/spec/evolve/impact-locator.d.ts +23 -7
- package/dist/spec/evolve/impact-locator.d.ts.map +1 -1
- package/dist/spec/evolve/impact-locator.js +58 -14
- package/dist/spec/evolve/impact-locator.js.map +1 -1
- package/dist/spec/evolve/pipeline.d.ts +62 -25
- package/dist/spec/evolve/pipeline.d.ts.map +1 -1
- package/dist/spec/evolve/pipeline.js +436 -457
- package/dist/spec/evolve/pipeline.js.map +1 -1
- package/dist/spec/evolve/spec-rewriter.d.ts +13 -13
- package/dist/spec/evolve/spec-rewriter.d.ts.map +1 -1
- package/dist/spec/evolve/spec-rewriter.js +45 -45
- package/dist/spec/evolve/spec-rewriter.js.map +1 -1
- package/dist/spec/git/commits.d.ts +85 -0
- package/dist/spec/git/commits.d.ts.map +1 -0
- package/dist/spec/git/commits.js +218 -0
- package/dist/spec/git/commits.js.map +1 -0
- package/dist/spec/git/exec.d.ts +13 -0
- package/dist/spec/git/exec.d.ts.map +1 -0
- package/dist/spec/git/exec.js +19 -0
- package/dist/spec/git/exec.js.map +1 -0
- package/dist/spec/git/index.d.ts +9 -0
- package/dist/spec/git/index.d.ts.map +1 -0
- package/dist/spec/git/index.js +22 -0
- package/dist/spec/git/index.js.map +1 -0
- package/dist/spec/git-utils.d.ts +8 -0
- package/dist/spec/git-utils.d.ts.map +1 -0
- package/dist/spec/git-utils.js +14 -0
- package/dist/spec/git-utils.js.map +1 -0
- package/dist/spec/graph/index.d.ts +8 -0
- package/dist/spec/graph/index.d.ts.map +1 -0
- package/dist/spec/graph/index.js +17 -0
- package/dist/spec/graph/index.js.map +1 -0
- package/dist/spec/graph/queries.d.ts +6 -35
- package/dist/spec/graph/queries.d.ts.map +1 -1
- package/dist/spec/graph/queries.js +71 -248
- package/dist/spec/graph/queries.js.map +1 -1
- package/dist/spec/llm/agent-client.d.ts +59 -0
- package/dist/spec/llm/agent-client.d.ts.map +1 -0
- package/dist/spec/llm/agent-client.js +213 -0
- package/dist/spec/llm/agent-client.js.map +1 -0
- package/dist/spec/llm/agents/claude-code.d.ts +32 -0
- package/dist/spec/llm/agents/claude-code.d.ts.map +1 -0
- package/dist/spec/llm/agents/claude-code.js +125 -0
- package/dist/spec/llm/agents/claude-code.js.map +1 -0
- package/dist/spec/llm/agents/codex.d.ts +32 -0
- package/dist/spec/llm/agents/codex.d.ts.map +1 -0
- package/dist/spec/llm/agents/codex.js +145 -0
- package/dist/spec/llm/agents/codex.js.map +1 -0
- package/dist/spec/llm/agents/detect-utils.d.ts +28 -0
- package/dist/spec/llm/agents/detect-utils.d.ts.map +1 -0
- package/dist/spec/llm/agents/detect-utils.js +91 -0
- package/dist/spec/llm/agents/detect-utils.js.map +1 -0
- package/dist/spec/llm/agents/deveco-code.d.ts +33 -0
- package/dist/spec/llm/agents/deveco-code.d.ts.map +1 -0
- package/dist/spec/llm/agents/deveco-code.js +165 -0
- package/dist/spec/llm/agents/deveco-code.js.map +1 -0
- package/dist/spec/llm/agents/index.d.ts +31 -0
- package/dist/spec/llm/agents/index.d.ts.map +1 -0
- package/dist/spec/llm/agents/index.js +65 -0
- package/dist/spec/llm/agents/index.js.map +1 -0
- package/dist/spec/llm/agents/types.d.ts +76 -0
- package/dist/spec/llm/agents/types.d.ts.map +1 -0
- package/dist/spec/llm/agents/types.js +15 -0
- package/dist/spec/llm/agents/types.js.map +1 -0
- package/dist/spec/llm/client.d.ts +31 -11
- package/dist/spec/llm/client.d.ts.map +1 -1
- package/dist/spec/llm/client.js +143 -81
- package/dist/spec/llm/client.js.map +1 -1
- package/dist/spec/llm/factory.d.ts +41 -0
- package/dist/spec/llm/factory.d.ts.map +1 -0
- package/dist/spec/llm/factory.js +80 -0
- package/dist/spec/llm/factory.js.map +1 -0
- package/dist/spec/llm/prompts.d.ts +24 -8
- package/dist/spec/llm/prompts.d.ts.map +1 -1
- package/dist/spec/llm/prompts.js +100 -50
- package/dist/spec/llm/prompts.js.map +1 -1
- package/dist/spec/llm/retry.d.ts +53 -0
- package/dist/spec/llm/retry.d.ts.map +1 -0
- package/dist/spec/llm/retry.js +153 -0
- package/dist/spec/llm/retry.js.map +1 -0
- package/dist/spec/mine/clusterer.d.ts +63 -0
- package/dist/spec/mine/clusterer.d.ts.map +1 -0
- package/dist/spec/mine/clusterer.js +904 -0
- package/dist/spec/mine/clusterer.js.map +1 -0
- package/dist/spec/mine/clustering/features.d.ts +38 -0
- package/dist/spec/mine/clustering/features.d.ts.map +1 -0
- package/dist/spec/mine/clustering/features.js +108 -0
- package/dist/spec/mine/clustering/features.js.map +1 -0
- package/dist/spec/mine/clustering/index.d.ts +62 -0
- package/dist/spec/mine/clustering/index.d.ts.map +1 -0
- package/dist/spec/mine/clustering/index.js +259 -0
- package/dist/spec/mine/clustering/index.js.map +1 -0
- package/dist/spec/mine/clustering/leiden.d.ts +61 -0
- package/dist/spec/mine/clustering/leiden.d.ts.map +1 -0
- package/dist/spec/mine/clustering/leiden.js +489 -0
- package/dist/spec/mine/clustering/leiden.js.map +1 -0
- package/dist/spec/mine/clustering/text-similarity.d.ts +22 -0
- package/dist/spec/mine/clustering/text-similarity.d.ts.map +1 -0
- package/dist/spec/mine/clustering/text-similarity.js +98 -0
- package/dist/spec/mine/clustering/text-similarity.js.map +1 -0
- package/dist/spec/mine/generator.d.ts +54 -0
- package/dist/spec/mine/generator.d.ts.map +1 -0
- package/dist/spec/mine/generator.js +267 -0
- package/dist/spec/mine/generator.js.map +1 -0
- package/dist/spec/mine/persist.d.ts +37 -0
- package/dist/spec/mine/persist.d.ts.map +1 -0
- package/dist/spec/mine/persist.js +170 -0
- package/dist/spec/mine/persist.js.map +1 -0
- package/dist/spec/mine/pipeline.d.ts +41 -0
- package/dist/spec/mine/pipeline.d.ts.map +1 -0
- package/dist/spec/mine/pipeline.js +236 -0
- package/dist/spec/mine/pipeline.js.map +1 -0
- package/dist/spec/mine/progress-handler.d.ts +22 -0
- package/dist/spec/mine/progress-handler.d.ts.map +1 -0
- package/dist/spec/mine/progress-handler.js +108 -0
- package/dist/spec/mine/progress-handler.js.map +1 -0
- package/dist/spec/mine/progress.d.ts +23 -0
- package/dist/spec/mine/progress.d.ts.map +1 -0
- package/dist/spec/mine/progress.js +12 -0
- package/dist/spec/mine/progress.js.map +1 -0
- package/dist/spec/mine/scanner.d.ts +59 -0
- package/dist/spec/mine/scanner.d.ts.map +1 -0
- package/dist/spec/mine/scanner.js +383 -0
- package/dist/spec/mine/scanner.js.map +1 -0
- package/dist/spec/types.d.ts +32 -0
- package/dist/spec/types.d.ts.map +1 -1
- package/dist/spec/ui/index.d.ts +9 -0
- package/dist/spec/ui/index.d.ts.map +1 -0
- package/dist/spec/ui/index.js +16 -0
- package/dist/spec/ui/index.js.map +1 -0
- package/dist/spec/ui/progress-handler.d.ts +33 -0
- package/dist/spec/ui/progress-handler.d.ts.map +1 -0
- package/dist/spec/ui/progress-handler.js +132 -0
- package/dist/spec/ui/progress-handler.js.map +1 -0
- package/dist/spec/ui/progress.d.ts +24 -0
- package/dist/spec/ui/progress.d.ts.map +1 -0
- package/dist/spec/ui/progress.js +13 -0
- package/dist/spec/ui/progress.js.map +1 -0
- package/dist/spec/utils/fs.d.ts +45 -0
- package/dist/spec/utils/fs.d.ts.map +1 -0
- package/dist/spec/utils/fs.js +163 -0
- package/dist/spec/utils/fs.js.map +1 -0
- package/dist/spec/utils/index.d.ts +12 -0
- package/dist/spec/utils/index.d.ts.map +1 -0
- package/dist/spec/utils/index.js +26 -0
- package/dist/spec/utils/index.js.map +1 -0
- package/dist/spec/utils/meta.d.ts +32 -0
- package/dist/spec/utils/meta.d.ts.map +1 -0
- package/dist/spec/utils/meta.js +122 -0
- package/dist/spec/utils/meta.js.map +1 -0
- package/dist/spec/utils/truncate.d.ts +86 -0
- package/dist/spec/utils/truncate.d.ts.map +1 -0
- package/dist/spec/utils/truncate.js +172 -0
- package/dist/spec/utils/truncate.js.map +1 -0
- package/dist/spec/utils.d.ts +4 -16
- package/dist/spec/utils.d.ts.map +1 -1
- package/dist/spec/utils.js +6 -58
- package/dist/spec/utils.js.map +1 -1
- package/dist/sync/watcher.d.ts +25 -1
- package/dist/sync/watcher.d.ts.map +1 -1
- package/dist/sync/watcher.js +76 -3
- package/dist/sync/watcher.js.map +1 -1
- package/dist/telemetry/index.js +3 -3
- package/dist/telemetry/index.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +7 -3
package/dist/mcp/tools.js
CHANGED
|
@@ -40,6 +40,7 @@ const VIEWTREE_STRUCTURE_VIAS = new Set([
|
|
|
40
40
|
'builder',
|
|
41
41
|
'builder-param',
|
|
42
42
|
]);
|
|
43
|
+
const sqlite_adapter_1 = require("../db/sqlite-adapter");
|
|
43
44
|
/**
|
|
44
45
|
* An expected, recoverable "homegraph can't serve this" condition — most
|
|
45
46
|
* importantly a project with no index. The dispatch catch converts these to
|
|
@@ -713,10 +714,6 @@ exports.tools = [
|
|
|
713
714
|
description: 'Whether to include full code diffs per commit (default: true).',
|
|
714
715
|
default: true,
|
|
715
716
|
},
|
|
716
|
-
dbPath: {
|
|
717
|
-
type: 'string',
|
|
718
|
-
description: 'Explicit path to the Commit4Spec database. Overrides repoPath-based resolution.',
|
|
719
|
-
},
|
|
720
717
|
},
|
|
721
718
|
required: ['query'],
|
|
722
719
|
},
|
|
@@ -739,10 +736,6 @@ exports.tools = [
|
|
|
739
736
|
type: 'string',
|
|
740
737
|
description: 'Path to the repository root. Defaults to the current working directory.',
|
|
741
738
|
},
|
|
742
|
-
dbPath: {
|
|
743
|
-
type: 'string',
|
|
744
|
-
description: 'Explicit path to the Commit4Spec database. Overrides repoPath-based resolution.',
|
|
745
|
-
},
|
|
746
739
|
},
|
|
747
740
|
required: ['filePath'],
|
|
748
741
|
},
|
|
@@ -781,10 +774,6 @@ exports.tools = [
|
|
|
781
774
|
description: 'Maximum number of matching Specs to return (default: 10).',
|
|
782
775
|
default: 10,
|
|
783
776
|
},
|
|
784
|
-
dbPath: {
|
|
785
|
-
type: 'string',
|
|
786
|
-
description: 'Explicit path to the Commit4Spec database. Overrides repoPath-based resolution.',
|
|
787
|
-
},
|
|
788
777
|
},
|
|
789
778
|
required: ['symbol'],
|
|
790
779
|
},
|
|
@@ -4545,7 +4534,7 @@ class ToolHandler {
|
|
|
4545
4534
|
// homegraph_node's findSymbolMatches.) Qualified tokens keep findAllSymbols.
|
|
4546
4535
|
const isQual = /[.\/]|::/.test(t);
|
|
4547
4536
|
const raw = isQual ? this.findAllSymbols(cg, t).nodes : cg.getNodesByName(t);
|
|
4548
|
-
|
|
4537
|
+
let cands = raw
|
|
4549
4538
|
.filter((n) => SEED_KINDS.has(n.kind) && !isTestPath(n.filePath))
|
|
4550
4539
|
.sort((a, b) => {
|
|
4551
4540
|
// Prefer callables over types when both share a name, then body size.
|
|
@@ -4555,6 +4544,28 @@ class ToolHandler {
|
|
|
4555
4544
|
return bc - ac;
|
|
4556
4545
|
return (bodyLines(b) > 1 ? 1 : 0) - (bodyLines(a) > 1 ? 1 : 0) || bodyLines(b) - bodyLines(a);
|
|
4557
4546
|
});
|
|
4547
|
+
// Field-name seeding fallback (#1196): a camelCase token that names NO
|
|
4548
|
+
// definition of its own is usually an object-literal key / API field —
|
|
4549
|
+
// seed its camel-infix callable definers instead.
|
|
4550
|
+
if (cands.length === 0 && !isQual && /[a-z][A-Z]/.test(t)) {
|
|
4551
|
+
const lcToken = t.toLowerCase();
|
|
4552
|
+
cands = cg
|
|
4553
|
+
.getNodesByNameSubstring(t, {
|
|
4554
|
+
kinds: ['function', 'method', 'component'],
|
|
4555
|
+
limit: 60,
|
|
4556
|
+
})
|
|
4557
|
+
.filter((n) => CALLABLE.has(n.kind) && !isTestPath(n.filePath))
|
|
4558
|
+
.filter((n) => {
|
|
4559
|
+
const idx = n.name.toLowerCase().indexOf(lcToken);
|
|
4560
|
+
if (idx < 0)
|
|
4561
|
+
return false;
|
|
4562
|
+
if (idx === 0)
|
|
4563
|
+
return n.name.length > t.length;
|
|
4564
|
+
return /[A-Z]/.test(n.name.charAt(idx));
|
|
4565
|
+
})
|
|
4566
|
+
.sort((a, b) => a.name.length - b.name.length)
|
|
4567
|
+
.slice(0, 3);
|
|
4568
|
+
}
|
|
4558
4569
|
// A specific name (<=3 defs) injects all its defs. An overloaded name
|
|
4559
4570
|
// (`validate` = 10, `request` = 44) would flood the subgraph, so inject
|
|
4560
4571
|
// only: the overloads whose file/class the query ALSO names (the agent
|
|
@@ -6248,20 +6259,28 @@ class ToolHandler {
|
|
|
6248
6259
|
lines.push(`> ⚠ ${(0, worktree_1.worktreeMismatchWarning)(mismatch).replace(/\n/g, '\n> ')}`, '');
|
|
6249
6260
|
}
|
|
6250
6261
|
lines.push(`**Files indexed:** ${stats.fileCount}`, `**Total nodes:** ${stats.nodeCount}`, `**Total edges:** ${stats.edgeCount}`, `**Database size:** ${(stats.dbSizeBytes / 1024 / 1024).toFixed(2)} MB`);
|
|
6251
|
-
// Surface the active SQLite backend
|
|
6252
|
-
|
|
6253
|
-
|
|
6262
|
+
// Surface the active SQLite backend: node:sqlite → better-sqlite3 → wasm.
|
|
6263
|
+
const backend = cg.getBackend();
|
|
6264
|
+
if (backend === 'node-sqlite') {
|
|
6265
|
+
lines.push(`**Backend:** node-sqlite (built-in)`);
|
|
6266
|
+
}
|
|
6267
|
+
else if (backend === 'native') {
|
|
6268
|
+
lines.push(`**Backend:** native (better-sqlite3)`);
|
|
6269
|
+
}
|
|
6270
|
+
else {
|
|
6271
|
+
lines.push(`**Backend:** ⚠ wasm (no WAL backend available) — ` +
|
|
6272
|
+
`5-10x slower than WAL. Fix: ${sqlite_adapter_1.WASM_FALLBACK_FIX_RECIPE}`);
|
|
6273
|
+
}
|
|
6254
6274
|
// Effective journal mode. 'wal' ⇒ concurrent reads never block on a writer;
|
|
6255
|
-
// anything else ⇒ they can ("database is locked"). node:sqlite
|
|
6256
|
-
//
|
|
6257
|
-
// virtualized mounts, WSL2 /mnt). See issue #238.
|
|
6275
|
+
// anything else ⇒ they can ("database is locked"). node:sqlite / native
|
|
6276
|
+
// support WAL; wasm remaps to DELETE.
|
|
6258
6277
|
const journalMode = cg.getJournalMode();
|
|
6259
6278
|
if (journalMode === 'wal') {
|
|
6260
6279
|
lines.push(`**Journal mode:** wal (concurrent reads safe)`);
|
|
6261
6280
|
}
|
|
6262
6281
|
else {
|
|
6263
6282
|
lines.push(`**Journal mode:** ⚠ ${journalMode || 'unknown'} — WAL not active, so reads ` +
|
|
6264
|
-
`can block on a concurrent write
|
|
6283
|
+
`can block on a concurrent write`);
|
|
6265
6284
|
}
|
|
6266
6285
|
lines.push('', '**Nodes by Kind:**');
|
|
6267
6286
|
for (const [kind, count] of Object.entries(stats.nodesByKind)) {
|
|
@@ -6477,7 +6496,6 @@ class ToolHandler {
|
|
|
6477
6496
|
if (typeof query !== 'string')
|
|
6478
6497
|
return query;
|
|
6479
6498
|
const repoPath = args.repoPath;
|
|
6480
|
-
const explicitDbPath = args.dbPath;
|
|
6481
6499
|
const topKRaw = Number(args.topK);
|
|
6482
6500
|
const topK = Math.max(1, Math.min(isNaN(topKRaw) ? 5 : topKRaw, 50));
|
|
6483
6501
|
const includeFragments = args.includeFragments !== false;
|
|
@@ -6487,7 +6505,7 @@ class ToolHandler {
|
|
|
6487
6505
|
const { searchAndGetContext } = require('../spec/graph/queries');
|
|
6488
6506
|
const { truncateCodeDiff, truncateSubtitles, computeBudgetProfile, } = require('../spec/utils');
|
|
6489
6507
|
// Resolve the database path.
|
|
6490
|
-
const dbPath = resolveDbPath(repoPath || process.cwd()
|
|
6508
|
+
const dbPath = resolveDbPath(repoPath || process.cwd());
|
|
6491
6509
|
// Open the database.
|
|
6492
6510
|
let db;
|
|
6493
6511
|
try {
|
|
@@ -6587,13 +6605,12 @@ class ToolHandler {
|
|
|
6587
6605
|
if (typeof filePath !== 'string')
|
|
6588
6606
|
return filePath;
|
|
6589
6607
|
const repoPath = args.repoPath;
|
|
6590
|
-
const explicitDbPath = args.dbPath;
|
|
6591
6608
|
// Lazily require spec modules so the MCP startup path stays lean.
|
|
6592
6609
|
const { resolveDbPath } = require('../spec/utils');
|
|
6593
6610
|
const { createDatabase } = require('../db/sqlite-adapter');
|
|
6594
6611
|
const { findSpecsByFilePath } = require('../spec/graph/queries');
|
|
6595
6612
|
// Resolve the database path.
|
|
6596
|
-
const dbPath = resolveDbPath(repoPath || process.cwd()
|
|
6613
|
+
const dbPath = resolveDbPath(repoPath || process.cwd());
|
|
6597
6614
|
// Open the database.
|
|
6598
6615
|
let db;
|
|
6599
6616
|
try {
|
|
@@ -6654,7 +6671,6 @@ class ToolHandler {
|
|
|
6654
6671
|
const file = fileRaw;
|
|
6655
6672
|
const line = typeof args.line === 'number' ? args.line : undefined;
|
|
6656
6673
|
const repoPath = args.repoPath;
|
|
6657
|
-
const explicitDbPath = args.dbPath;
|
|
6658
6674
|
const topKRaw = Number(args.topK);
|
|
6659
6675
|
const topK = Math.max(1, Math.min(isNaN(topKRaw) ? 10 : topKRaw, 50));
|
|
6660
6676
|
// Lazily require all needed modules
|
|
@@ -6709,7 +6725,7 @@ class ToolHandler {
|
|
|
6709
6725
|
}, null, 2));
|
|
6710
6726
|
}
|
|
6711
6727
|
// Step 2: Resolve the Spec database path
|
|
6712
|
-
const dbPath = resolveDbPath(repoPath || process.cwd()
|
|
6728
|
+
const dbPath = resolveDbPath(repoPath || process.cwd());
|
|
6713
6729
|
// Step 3: Open the Spec database
|
|
6714
6730
|
let db;
|
|
6715
6731
|
try {
|