dep-context-mcp 1.1.2 → 1.2.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/dist/build-info.d.ts +3 -3
- package/dist/build-info.js +3 -3
- package/dist/config/loader.d.ts +5 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +9 -1
- package/dist/config/loader.js.map +1 -1
- package/dist/index.js +24 -1
- package/dist/index.js.map +1 -1
- package/dist/tools/clear-index.d.ts +31 -0
- package/dist/tools/clear-index.d.ts.map +1 -0
- package/dist/tools/clear-index.js +46 -0
- package/dist/tools/clear-index.js.map +1 -0
- package/dist/tools/search-codebase.d.ts +10 -0
- package/dist/tools/search-codebase.d.ts.map +1 -1
- package/dist/tools/search-codebase.js +66 -12
- package/dist/tools/search-codebase.js.map +1 -1
- package/dist/vector/chunker.d.ts +2 -1
- package/dist/vector/chunker.d.ts.map +1 -1
- package/dist/vector/chunker.js +58 -0
- package/dist/vector/chunker.js.map +1 -1
- package/dist/vector/index-manager.d.ts +6 -1
- package/dist/vector/index-manager.d.ts.map +1 -1
- package/dist/vector/index-manager.js +51 -10
- package/dist/vector/index-manager.js.map +1 -1
- package/package.json +1 -1
- package/dist/tools/index-dependencies.d.ts +0 -51
- package/dist/tools/index-dependencies.d.ts.map +0 -1
- package/dist/tools/index-dependencies.js +0 -90
- package/dist/tools/index-dependencies.js.map +0 -1
package/dist/build-info.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export declare const BUILD_INFO: {
|
|
2
|
-
readonly version: "1.
|
|
2
|
+
readonly version: "1.2.0";
|
|
3
3
|
readonly name: "dep-context-mcp";
|
|
4
4
|
readonly description: "MCP server providing AI coding assistants with dependency context from node_modules";
|
|
5
5
|
readonly author: "Johnny Jarecsni";
|
|
6
6
|
readonly license: "MIT";
|
|
7
|
-
readonly buildTimestamp: "2026-01-
|
|
8
|
-
readonly gitCommit: "
|
|
7
|
+
readonly buildTimestamp: "2026-01-27T06:42:46.624Z";
|
|
8
|
+
readonly gitCommit: "1d290e5";
|
|
9
9
|
readonly gitBranch: "main";
|
|
10
10
|
readonly nodeVersion: "v22.17.0";
|
|
11
11
|
readonly platform: "darwin";
|
package/dist/build-info.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// This file is auto-generated during build
|
|
2
2
|
// Do not edit manually - regenerated on each build
|
|
3
3
|
export const BUILD_INFO = {
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.2.0",
|
|
5
5
|
"name": "dep-context-mcp",
|
|
6
6
|
"description": "MCP server providing AI coding assistants with dependency context from node_modules",
|
|
7
7
|
"author": "Johnny Jarecsni",
|
|
8
8
|
"license": "MIT",
|
|
9
|
-
"buildTimestamp": "2026-01-
|
|
10
|
-
"gitCommit": "
|
|
9
|
+
"buildTimestamp": "2026-01-27T06:42:46.624Z",
|
|
10
|
+
"gitCommit": "1d290e5",
|
|
11
11
|
"gitBranch": "main",
|
|
12
12
|
"nodeVersion": "v22.17.0",
|
|
13
13
|
"platform": "darwin",
|
package/dist/config/loader.d.ts
CHANGED
|
@@ -25,11 +25,16 @@ export interface VectorStorageConfig {
|
|
|
25
25
|
chromaHost?: string;
|
|
26
26
|
localPath?: string;
|
|
27
27
|
}
|
|
28
|
+
export interface KeywordBoostConfig {
|
|
29
|
+
enabled: boolean;
|
|
30
|
+
factor: number;
|
|
31
|
+
}
|
|
28
32
|
export interface VectorConfig {
|
|
29
33
|
enabled: boolean;
|
|
30
34
|
embedding: VectorEmbeddingConfig;
|
|
31
35
|
storage: VectorStorageConfig;
|
|
32
36
|
indexConcurrency: number;
|
|
37
|
+
keywordBoost: KeywordBoostConfig;
|
|
33
38
|
}
|
|
34
39
|
export interface GitLabConfig {
|
|
35
40
|
enabled: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,EAAE,OAAO,CAAA;IACrB,eAAe,EAAE,OAAO,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC7B,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACD,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,wBAAwB,GAAG,wBAAwB,CAAA;QAC3D,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;CACF;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAA;IACzC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,qBAAqB,CAAA;IAChC,OAAO,EAAE,mBAAmB,CAAA;IAC5B,gBAAgB,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,EAAE,OAAO,CAAA;IACrB,eAAe,EAAE,OAAO,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC7B,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACD,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,wBAAwB,GAAG,wBAAwB,CAAA;QAC3D,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;CACF;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAA;IACzC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,qBAAqB,CAAA;IAChC,OAAO,EAAE,mBAAmB,CAAA;IAC5B,gBAAgB,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE,kBAAkB,CAAA;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,MAAM;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,gBAAgB,CAAA;IAC5B,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,YAAY,CAAA;CACrB;AA2CD,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAyG/D;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0CrE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
|
package/dist/config/loader.js
CHANGED
|
@@ -31,7 +31,11 @@ const DEFAULT_CONFIG = {
|
|
|
31
31
|
chromaHost: 'http://localhost:8000',
|
|
32
32
|
localPath: './.cache/dep-context/vectors'
|
|
33
33
|
},
|
|
34
|
-
indexConcurrency: 4
|
|
34
|
+
indexConcurrency: 4,
|
|
35
|
+
keywordBoost: {
|
|
36
|
+
enabled: false,
|
|
37
|
+
factor: 0.3
|
|
38
|
+
}
|
|
35
39
|
},
|
|
36
40
|
gitlab: {
|
|
37
41
|
enabled: false,
|
|
@@ -74,6 +78,10 @@ export function validateConfig(partial) {
|
|
|
74
78
|
storage: {
|
|
75
79
|
...DEFAULT_CONFIG.vector.storage,
|
|
76
80
|
...(partial.vector?.storage || {})
|
|
81
|
+
},
|
|
82
|
+
keywordBoost: {
|
|
83
|
+
...DEFAULT_CONFIG.vector.keywordBoost,
|
|
84
|
+
...(partial.vector?.keywordBoost || {})
|
|
77
85
|
}
|
|
78
86
|
},
|
|
79
87
|
gitlab: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -20,6 +20,7 @@ import { createRefreshDependencyHandler, isError as isRefreshError } from './too
|
|
|
20
20
|
import { createSearchDependenciesHandler } from './tools/search.js';
|
|
21
21
|
import { createSearchCodebaseHandler, searchCodebaseToolDef } from './tools/search-codebase.js';
|
|
22
22
|
import { createGetIndexStatusHandler, getIndexStatusToolDef } from './tools/index-status.js';
|
|
23
|
+
import { createClearIndexHandler, clearIndexToolDef } from './tools/clear-index.js';
|
|
23
24
|
import { createRelationshipAnalyzer } from './analysis/relationships.js';
|
|
24
25
|
import { createGetPackageRelationshipsHandler, getPackageRelationshipsToolDef } from './tools/relationships.js';
|
|
25
26
|
import { createVectorIndexManager } from './vector/index-manager.js';
|
|
@@ -45,7 +46,9 @@ async function initVectorSearch(config) {
|
|
|
45
46
|
return null;
|
|
46
47
|
}
|
|
47
48
|
logger.info(storageResult.message);
|
|
48
|
-
return createVectorIndexManager(providerResult.provider, storageResult.store
|
|
49
|
+
return createVectorIndexManager(providerResult.provider, storageResult.store, {
|
|
50
|
+
keywordBoost: config.vector.keywordBoost
|
|
51
|
+
});
|
|
49
52
|
}
|
|
50
53
|
async function main() {
|
|
51
54
|
// Log startup banner
|
|
@@ -88,6 +91,14 @@ async function main() {
|
|
|
88
91
|
}
|
|
89
92
|
});
|
|
90
93
|
const getIndexStatus = createGetIndexStatusHandler({ indexManager });
|
|
94
|
+
const clearIndex = createClearIndexHandler({
|
|
95
|
+
indexManager,
|
|
96
|
+
clearStore: async () => {
|
|
97
|
+
if (indexManager) {
|
|
98
|
+
await indexManager.clear();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
});
|
|
91
102
|
const relationshipAnalyzer = createRelationshipAnalyzer({
|
|
92
103
|
resolver,
|
|
93
104
|
listDependencies: async () => {
|
|
@@ -182,6 +193,7 @@ async function main() {
|
|
|
182
193
|
},
|
|
183
194
|
searchCodebaseToolDef,
|
|
184
195
|
getIndexStatusToolDef,
|
|
196
|
+
clearIndexToolDef,
|
|
185
197
|
getPackageRelationshipsToolDef
|
|
186
198
|
]
|
|
187
199
|
};
|
|
@@ -286,6 +298,17 @@ async function main() {
|
|
|
286
298
|
]
|
|
287
299
|
};
|
|
288
300
|
}
|
|
301
|
+
case 'clear_index': {
|
|
302
|
+
const result = await clearIndex();
|
|
303
|
+
return {
|
|
304
|
+
content: [
|
|
305
|
+
{
|
|
306
|
+
type: 'text',
|
|
307
|
+
text: JSON.stringify(result, null, 2)
|
|
308
|
+
}
|
|
309
|
+
]
|
|
310
|
+
};
|
|
311
|
+
}
|
|
289
312
|
case 'get_package_relationships': {
|
|
290
313
|
const input = args;
|
|
291
314
|
const result = await getPackageRelationships(input);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,QAAQ,CAAA;AAE/C,kDAAkD;AAClD,YAAY,EAAE,CAAA;AAEd,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,iCAAiC,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACvG,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,EAAE,8BAA8B,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAC9F,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAC/F,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC5F,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,EAAE,oCAAoC,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAA;AAC/G,OAAO,EAAE,wBAAwB,EAA2B,MAAM,2BAA2B,CAAA;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAA;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,KAAK,UAAU,gBAAgB,CAAC,MAA8C;IAC5E,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,mCAAmC;IACnC,MAAM,cAAc,GAAG,MAAM,2BAA2B,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACjF,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QACpC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAEnC,wBAAwB;IACxB,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAChE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAElC,OAAO,wBAAwB,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,QAAQ,CAAA;AAE/C,kDAAkD;AAClD,YAAY,EAAE,CAAA;AAEd,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,iCAAiC,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACvG,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,EAAE,8BAA8B,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAC9F,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAC/F,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC5F,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,EAAE,oCAAoC,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAA;AAC/G,OAAO,EAAE,wBAAwB,EAA2B,MAAM,2BAA2B,CAAA;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAA;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,KAAK,UAAU,gBAAgB,CAAC,MAA8C;IAC5E,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,mCAAmC;IACnC,MAAM,cAAc,GAAG,MAAM,2BAA2B,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACjF,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QACpC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAEnC,wBAAwB;IACxB,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAChE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAElC,OAAO,wBAAwB,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,EAAE;QAC5E,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY;KACzC,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,qBAAqB;IACrB,MAAM,aAAa,GAAG,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAA;IACpF,MAAM,CAAC,IAAI,CAAC,kCAAkC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAA;IACnE,MAAM,CAAC,IAAI,CAAC,mDAAmD,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS,IAAI,aAAa,EAAE,CAAC,CAAA;IAE/H,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;IAEjC,wBAAwB;IACxB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAC1D,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAEjD,8DAA8D;IAC9D,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAA;IAEnD,uBAAuB;IACvB,MAAM,oBAAoB,GAAG,iCAAiC,CAAC;QAC7D,KAAK;QACL,QAAQ;QACR,MAAM;KACP,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,6BAA6B,CAAC;QACrD,KAAK;QACL,QAAQ;QACR,YAAY;KACb,CAAC,CAAA;IAEF,MAAM,iBAAiB,GAAG,8BAA8B,CAAC;QACvD,KAAK;QACL,QAAQ;QACR,MAAM;QACN,YAAY;KACb,CAAC,CAAA;IAEF,MAAM,kBAAkB,GAAG,+BAA+B,CAAC;QACzD,QAAQ;KACT,CAAC,CAAA;IAEF,MAAM,cAAc,GAAG,2BAA2B,CAAC;QACjD,YAAY;QACZ,QAAQ;QACR,MAAM;QACN,kBAAkB,EAAE,KAAK,IAAI,EAAE;YAC7B,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;YAC5D,OAAO,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAC7E,CAAC;KACF,CAAC,CAAA;IACF,MAAM,cAAc,GAAG,2BAA2B,CAAC,EAAE,YAAY,EAAE,CAAC,CAAA;IAEpE,MAAM,UAAU,GAAG,uBAAuB,CAAC;QACzC,YAAY;QACZ,UAAU,EAAE,KAAK,IAAI,EAAE;YACrB,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,YAAY,CAAC,KAAK,EAAE,CAAA;YAC5B,CAAC;QACH,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;QACtD,QAAQ;QACR,gBAAgB,EAAE,KAAK,IAAI,EAAE;YAC3B,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAA;YACzC,sCAAsC;YACtC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;gBACnE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;gBAC/C,OAAO;oBACL,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,YAAY;iBAC9C,CAAA;YACH,CAAC,CAAC,CAAC,CAAA;YACH,OAAO,QAAQ,CAAA;QACjB,CAAC;KACF,CAAC,CAAA;IACF,MAAM,uBAAuB,GAAG,oCAAoC,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC,CAAA;IAExG,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;QACE,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,UAAU,CAAC,OAAO;KAC5B,EACD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;SACV;KACF,CACF,CAAA;IAED,6BAA6B;IAC7B,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QAC1D,OAAO;YACL,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,wBAAwB;oBAC9B,WAAW,EAAE,2OAA2O;oBACxP,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,wEAAwE;6BACtF;yBACF;wBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;qBAC1B;iBACF;gBACD;oBACE,IAAI,EAAE,mBAAmB;oBACzB,WAAW,EAAE,oKAAoK;oBACjL,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,UAAU,EAAE;gCACV,IAAI,EAAE,SAAS;gCACf,WAAW,EAAE,qDAAqD;6BACnE;4BACD,MAAM,EAAE;gCACN,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,gEAAgE;6BAC9E;yBACF;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,oBAAoB;oBAC1B,WAAW,EAAE,yIAAyI;oBACtJ,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,iCAAiC;6BAC/C;yBACF;wBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;qBAC1B;iBACF;gBACD;oBACE,IAAI,EAAE,qBAAqB;oBAC3B,WAAW,EAAE,kGAAkG;oBAC/G,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,8DAA8D;6BAC5E;4BACD,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,mDAAmD;6BACjE;yBACF;wBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;qBACpB;iBACF;gBACD,qBAAqB;gBACrB,qBAAqB;gBACrB,iBAAiB;gBACjB,8BAA8B;aAC/B;SACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,6BAA6B;IAC7B,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAA;QAEhD,IAAI,CAAC;YACH,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,wBAAwB,CAAC,CAAC,CAAC;oBAC9B,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC;wBACxC,WAAW,EAAG,IAAgC,CAAC,WAAW;qBAC3D,CAAC,CAAA;oBAEF,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC1B,OAAO;4BACL,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;iCAC1E;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,CAAA;oBACH,CAAC;oBAED,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,MAAM,CAAC,QAAQ;6BACtB;yBACF;qBACF,CAAA;gBACH,CAAC;gBAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;oBACzB,MAAM,KAAK,GAAG,IAAiD,CAAA;oBAC/D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAA;oBAE5C,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;6BACtC;yBACF;qBACF,CAAA;gBACH,CAAC;gBAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;oBAC1B,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;wBACrC,WAAW,EAAG,IAAgC,CAAC,WAAW;qBAC3D,CAAC,CAAA;oBAEF,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC3B,OAAO;4BACL,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;iCAC1E;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,CAAA;oBACH,CAAC;oBAED,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;6BACtC;yBACF;qBACF,CAAA;gBACH,CAAC;gBAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;oBAC3B,MAAM,KAAK,GAAG,IAAyC,CAAA;oBACvD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAA;oBAE9C,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;6BACtC;yBACF;qBACF,CAAA;gBACH,CAAC;gBAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;oBACvB,MAAM,KAAK,GAAG,IAA0F,CAAA;oBACxG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAA;oBAE1C,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;6BACtC;yBACF;qBACF,CAAA;gBACH,CAAC;gBAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;oBACxB,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAA;oBAErC,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;6BACtC;yBACF;qBACF,CAAA;gBACH,CAAC;gBAED,KAAK,aAAa,CAAC,CAAC,CAAC;oBACnB,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;oBAEjC,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;6BACtC;yBACF;qBACF,CAAA;gBACH,CAAC;gBAED,KAAK,2BAA2B,CAAC,CAAC,CAAC;oBACjC,MAAM,KAAK,GAAG,IAA+B,CAAA;oBAC7C,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,KAAK,CAAC,CAAA;oBAEnD,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;6BACtC;yBACF;qBACF,CAAA;gBACH,CAAC;gBAED;oBACE,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,iBAAiB,IAAI,EAAE;6BAC9B;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd,CAAA;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,0BAA0B,OAAO,EAAE;qBAC1C;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAA;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAA;IAC5C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAE/B,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;AACtD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool: clear_index
|
|
3
|
+
*
|
|
4
|
+
* Clears the vector search index. Useful for testing or resetting state.
|
|
5
|
+
*/
|
|
6
|
+
import type { VectorIndexManager } from '../vector/index-manager.js';
|
|
7
|
+
export interface ClearIndexOutput {
|
|
8
|
+
success: boolean;
|
|
9
|
+
message: string;
|
|
10
|
+
clearedChunks?: number;
|
|
11
|
+
clearedPackages?: number;
|
|
12
|
+
}
|
|
13
|
+
export interface ClearIndexDeps {
|
|
14
|
+
indexManager: VectorIndexManager | null;
|
|
15
|
+
clearStore: () => Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Creates the clear_index tool handler
|
|
19
|
+
*/
|
|
20
|
+
export declare function createClearIndexHandler(deps: ClearIndexDeps): () => Promise<ClearIndexOutput>;
|
|
21
|
+
/** Tool definition for MCP */
|
|
22
|
+
export declare const clearIndexToolDef: {
|
|
23
|
+
name: string;
|
|
24
|
+
description: string;
|
|
25
|
+
inputSchema: {
|
|
26
|
+
type: "object";
|
|
27
|
+
properties: {};
|
|
28
|
+
required: never[];
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=clear-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clear-index.d.ts","sourceRoot":"","sources":["../../src/tools/clear-index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAGpE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAA;IACvC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,cAAc,SACtB,OAAO,CAAC,gBAAgB,CAAC,CA8B9D;AAED,8BAA8B;AAC9B,eAAO,MAAM,iBAAiB;;;;;;;;CAQ7B,CAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool: clear_index
|
|
3
|
+
*
|
|
4
|
+
* Clears the vector search index. Useful for testing or resetting state.
|
|
5
|
+
*/
|
|
6
|
+
import { logger } from '../utils/logger.js';
|
|
7
|
+
/**
|
|
8
|
+
* Creates the clear_index tool handler
|
|
9
|
+
*/
|
|
10
|
+
export function createClearIndexHandler(deps) {
|
|
11
|
+
return async function clearIndex() {
|
|
12
|
+
const { indexManager, clearStore } = deps;
|
|
13
|
+
if (!indexManager) {
|
|
14
|
+
logger.trace('Tool called: clear_index (vector search disabled)');
|
|
15
|
+
return {
|
|
16
|
+
success: false,
|
|
17
|
+
message: 'Vector search is not enabled. Nothing to clear.'
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
logger.trace('Tool called: clear_index');
|
|
21
|
+
// Get current status before clearing
|
|
22
|
+
const status = indexManager.getStatus();
|
|
23
|
+
const clearedChunks = status.totalChunks;
|
|
24
|
+
const clearedPackages = status.packages.length;
|
|
25
|
+
// Clear the underlying store
|
|
26
|
+
await clearStore();
|
|
27
|
+
logger.info('Vector index cleared', { clearedChunks, clearedPackages });
|
|
28
|
+
return {
|
|
29
|
+
success: true,
|
|
30
|
+
message: `Cleared vector index: ${clearedPackages} packages, ${clearedChunks} chunks removed.`,
|
|
31
|
+
clearedChunks,
|
|
32
|
+
clearedPackages
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/** Tool definition for MCP */
|
|
37
|
+
export const clearIndexToolDef = {
|
|
38
|
+
name: 'clear_index',
|
|
39
|
+
description: 'Clears the vector search index completely. Use for testing or to force re-indexing of all packages. The index will be rebuilt automatically on the next search_codebase call.',
|
|
40
|
+
inputSchema: {
|
|
41
|
+
type: 'object',
|
|
42
|
+
properties: {},
|
|
43
|
+
required: []
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=clear-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clear-index.js","sourceRoot":"","sources":["../../src/tools/clear-index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAc3C;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAoB;IAC1D,OAAO,KAAK,UAAU,UAAU;QAC9B,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;QAEzC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAA;YACjE,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,iDAAiD;aAC3D,CAAA;QACH,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAExC,qCAAqC;QACrC,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,CAAA;QACvC,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAA;QACxC,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAA;QAE9C,6BAA6B;QAC7B,MAAM,UAAU,EAAE,CAAA;QAElB,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC,CAAA;QAEvE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,yBAAyB,eAAe,cAAc,aAAa,kBAAkB;YAC9F,aAAa;YACb,eAAe;SAChB,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAED,8BAA8B;AAC9B,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,+KAA+K;IAC5L,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;KACb;CACF,CAAA"}
|
|
@@ -11,6 +11,7 @@ export interface SearchCodebaseInput {
|
|
|
11
11
|
query: string;
|
|
12
12
|
limit?: number;
|
|
13
13
|
packageName?: string;
|
|
14
|
+
confirmIndexing?: boolean;
|
|
14
15
|
}
|
|
15
16
|
export interface SearchCodebaseOutput {
|
|
16
17
|
results: Array<{
|
|
@@ -24,6 +25,11 @@ export interface SearchCodebaseOutput {
|
|
|
24
25
|
totalIndexed: number;
|
|
25
26
|
message?: string;
|
|
26
27
|
autoIndexed?: boolean;
|
|
28
|
+
indexingRequired?: {
|
|
29
|
+
packagesToIndex: string[];
|
|
30
|
+
estimatedSeconds: number;
|
|
31
|
+
confirmMessage: string;
|
|
32
|
+
};
|
|
27
33
|
}
|
|
28
34
|
export interface SearchCodebaseDeps {
|
|
29
35
|
indexManager: VectorIndexManager | null;
|
|
@@ -57,6 +63,10 @@ export declare const searchCodebaseToolDef: {
|
|
|
57
63
|
type: string;
|
|
58
64
|
description: string;
|
|
59
65
|
};
|
|
66
|
+
confirmIndexing: {
|
|
67
|
+
type: string;
|
|
68
|
+
description: string;
|
|
69
|
+
};
|
|
60
70
|
};
|
|
61
71
|
required: string[];
|
|
62
72
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-codebase.d.ts","sourceRoot":"","sources":["../../src/tools/search-codebase.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"search-codebase.d.ts","sourceRoot":"","sources":["../../src/tools/search-codebase.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAMjD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,KAAK,CAAC;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,EAAE,MAAM,CAAA;KACd,CAAC,CAAA;IACF,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,gBAAgB,CAAC,EAAE;QACjB,eAAe,EAAE,MAAM,EAAE,CAAA;QACzB,gBAAgB,EAAE,MAAM,CAAA;QACxB,cAAc,EAAE,MAAM,CAAA;KACvB,CAAA;CACF;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAA;IACvC,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,kBAAkB,EAAE,MAAM,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAA;CACvE;AAgED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,kBAAkB,IAEhE,OAAO,mBAAmB,KACzB,OAAO,CAAC,oBAAoB,CAAC,CAyFjC;AAED,8BAA8B;AAC9B,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;CAyBjC,CAAA"}
|
|
@@ -7,6 +7,29 @@
|
|
|
7
7
|
import { logger } from '../utils/logger.js';
|
|
8
8
|
import { extract, followReExports } from '../extraction/typescript.js';
|
|
9
9
|
import { createExternalPackageResolver } from '../extraction/external-resolver.js';
|
|
10
|
+
import { extractReadme } from '../extraction/readme.js';
|
|
11
|
+
// Estimated seconds per package for indexing (extraction + embedding)
|
|
12
|
+
const SECONDS_PER_PACKAGE = 3;
|
|
13
|
+
/**
|
|
14
|
+
* Get list of packages that need indexing
|
|
15
|
+
*/
|
|
16
|
+
async function getPackagesToIndex(deps) {
|
|
17
|
+
const { indexManager, resolver, listProductionDeps } = deps;
|
|
18
|
+
if (!indexManager)
|
|
19
|
+
return [];
|
|
20
|
+
const packages = await listProductionDeps();
|
|
21
|
+
const toIndex = [];
|
|
22
|
+
for (const pkg of packages) {
|
|
23
|
+
if (indexManager.isPackageIndexed(pkg.name, pkg.version))
|
|
24
|
+
continue;
|
|
25
|
+
// Check if package has types
|
|
26
|
+
const resolved = await resolver.resolve(pkg.name);
|
|
27
|
+
if (resolved.success && resolved.metadata?.typesPath) {
|
|
28
|
+
toIndex.push(pkg.name);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return toIndex;
|
|
32
|
+
}
|
|
10
33
|
/**
|
|
11
34
|
* Auto-index production dependencies
|
|
12
35
|
*/
|
|
@@ -27,7 +50,9 @@ async function autoIndex(deps) {
|
|
|
27
50
|
const externalResolver = createExternalPackageResolver(config.nodeModulesPath);
|
|
28
51
|
const extraction = await extract(resolved.metadata.typesPath);
|
|
29
52
|
const withReExports = await followReExports(extraction, resolved.metadata.typesPath, new Set(), { externalResolver });
|
|
30
|
-
|
|
53
|
+
// Extract README for documentation chunks
|
|
54
|
+
const readme = resolved.packagePath ? await extractReadme(resolved.packagePath) : undefined;
|
|
55
|
+
const count = await indexManager.indexPackage(pkg.name, pkg.version, withReExports, readme?.raw);
|
|
31
56
|
if (count > 0)
|
|
32
57
|
indexed++;
|
|
33
58
|
}
|
|
@@ -52,24 +77,49 @@ export function createSearchCodebaseHandler(deps) {
|
|
|
52
77
|
message: 'Vector search is not enabled. Configure vectorSearch in config to enable semantic search.'
|
|
53
78
|
};
|
|
54
79
|
}
|
|
55
|
-
logger.trace('Tool called: search_codebase', {
|
|
80
|
+
logger.trace('Tool called: search_codebase', {
|
|
81
|
+
query: input.query,
|
|
82
|
+
limit: input.limit,
|
|
83
|
+
packageName: input.packageName,
|
|
84
|
+
confirmIndexing: input.confirmIndexing
|
|
85
|
+
});
|
|
56
86
|
// Ensure index manager is initialized from storage
|
|
57
87
|
await indexManager.initialize();
|
|
58
|
-
|
|
88
|
+
// Check what needs indexing
|
|
89
|
+
const packagesToIndex = await getPackagesToIndex(deps);
|
|
90
|
+
const estimatedSeconds = packagesToIndex.length * SECONDS_PER_PACKAGE;
|
|
91
|
+
// If indexing needed and would take >3s and not confirmed, ask for confirmation
|
|
92
|
+
if (packagesToIndex.length > 0 && estimatedSeconds > 3 && !input.confirmIndexing) {
|
|
93
|
+
logger.trace('Indexing required, requesting confirmation', {
|
|
94
|
+
packages: packagesToIndex.length,
|
|
95
|
+
estimatedSeconds
|
|
96
|
+
});
|
|
97
|
+
return {
|
|
98
|
+
results: [],
|
|
99
|
+
totalIndexed: indexManager.getStatus().totalChunks,
|
|
100
|
+
indexingRequired: {
|
|
101
|
+
packagesToIndex,
|
|
102
|
+
estimatedSeconds,
|
|
103
|
+
confirmMessage: `Need to index ${packagesToIndex.length} package(s) which will take ~${estimatedSeconds} seconds. Call again with confirmIndexing: true to proceed.`
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
// Index if needed (either confirmed or quick enough)
|
|
59
108
|
let autoIndexed = false;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
logger.trace('No index found, auto-indexing production dependencies');
|
|
109
|
+
if (packagesToIndex.length > 0) {
|
|
110
|
+
logger.trace('Indexing packages', { count: packagesToIndex.length });
|
|
63
111
|
const indexStart = performance.now();
|
|
64
112
|
const result = await autoIndex(deps);
|
|
65
113
|
autoIndexed = result.indexed > 0;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
114
|
+
if (autoIndexed) {
|
|
115
|
+
logger.trace('Auto-indexing complete', {
|
|
116
|
+
indexed: result.indexed,
|
|
117
|
+
failed: result.failed.length,
|
|
118
|
+
durationMs: Math.round(performance.now() - indexStart)
|
|
119
|
+
});
|
|
120
|
+
}
|
|
72
121
|
}
|
|
122
|
+
const status = indexManager.getStatus();
|
|
73
123
|
if (status.totalChunks === 0) {
|
|
74
124
|
return {
|
|
75
125
|
results: [],
|
|
@@ -113,6 +163,10 @@ export const searchCodebaseToolDef = {
|
|
|
113
163
|
packageName: {
|
|
114
164
|
type: 'string',
|
|
115
165
|
description: 'Optional: limit search to a specific package when user explicitly names one'
|
|
166
|
+
},
|
|
167
|
+
confirmIndexing: {
|
|
168
|
+
type: 'boolean',
|
|
169
|
+
description: 'Set to true to confirm indexing when packages need to be indexed (will be prompted if indexing takes >3s)'
|
|
116
170
|
}
|
|
117
171
|
},
|
|
118
172
|
required: ['query']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-codebase.js","sourceRoot":"","sources":["../../src/tools/search-codebase.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAA;
|
|
1
|
+
{"version":3,"file":"search-codebase.js","sourceRoot":"","sources":["../../src/tools/search-codebase.ts"],"names":[],"mappings":"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"}
|
package/dist/vector/chunker.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import type { CodeExample } from '../extraction/examples.js';
|
|
|
6
6
|
export interface ChunkMetadata {
|
|
7
7
|
packageName: string;
|
|
8
8
|
version: string;
|
|
9
|
-
contentType: 'function' | 'class' | 'method' | 'interface' | 'type';
|
|
9
|
+
contentType: 'function' | 'class' | 'method' | 'interface' | 'type' | 'documentation';
|
|
10
10
|
name: string;
|
|
11
11
|
signature?: string;
|
|
12
12
|
importPath?: string;
|
|
@@ -21,6 +21,7 @@ export interface ChunkerOptions {
|
|
|
21
21
|
version: string;
|
|
22
22
|
maxTokens?: number;
|
|
23
23
|
examples?: CodeExample[];
|
|
24
|
+
readmeContent?: string;
|
|
24
25
|
}
|
|
25
26
|
/**
|
|
26
27
|
* Chunks extraction results into embeddable pieces
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../src/vector/chunker.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAKjB,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAE5D,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../src/vector/chunker.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAKjB,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAE5D,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,eAAe,CAAA;IACrF,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,aAAa,CAAA;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAwMD;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,GAAG,KAAK,EAAE,CA0G9F"}
|
package/dist/vector/chunker.js
CHANGED
|
@@ -108,6 +108,59 @@ function formatTypeChunk(type) {
|
|
|
108
108
|
}
|
|
109
109
|
return lines.join('\n');
|
|
110
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Splits README into paragraph-based chunks for semantic search
|
|
113
|
+
*/
|
|
114
|
+
function chunkReadmeContent(content, packageName, version, maxTokens) {
|
|
115
|
+
const chunks = [];
|
|
116
|
+
// Split by double newlines (paragraphs) or headers
|
|
117
|
+
const sections = content.split(/\n(?=#{1,3}\s)|(?:\n\s*\n)/).filter(s => s.trim());
|
|
118
|
+
let currentChunk = '';
|
|
119
|
+
let chunkIndex = 0;
|
|
120
|
+
for (const section of sections) {
|
|
121
|
+
const trimmed = section.trim();
|
|
122
|
+
// Skip code blocks - we want prose
|
|
123
|
+
if (trimmed.startsWith('```'))
|
|
124
|
+
continue;
|
|
125
|
+
// Skip very short sections
|
|
126
|
+
if (trimmed.length < 50)
|
|
127
|
+
continue;
|
|
128
|
+
// If adding this section would exceed max tokens, save current and start new
|
|
129
|
+
if (currentChunk && estimateTokens(currentChunk + '\n\n' + trimmed) > maxTokens) {
|
|
130
|
+
if (currentChunk.length > 100) { // Only save substantial chunks
|
|
131
|
+
chunks.push({
|
|
132
|
+
id: createChunkId(packageName, 'documentation', `readme-${chunkIndex}`),
|
|
133
|
+
content: currentChunk,
|
|
134
|
+
metadata: {
|
|
135
|
+
packageName,
|
|
136
|
+
version,
|
|
137
|
+
contentType: 'documentation',
|
|
138
|
+
name: `README section ${chunkIndex + 1}`
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
chunkIndex++;
|
|
142
|
+
}
|
|
143
|
+
currentChunk = trimmed;
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
currentChunk = currentChunk ? `${currentChunk}\n\n${trimmed}` : trimmed;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
// Don't forget the last chunk
|
|
150
|
+
if (currentChunk.length > 100) {
|
|
151
|
+
chunks.push({
|
|
152
|
+
id: createChunkId(packageName, 'documentation', `readme-${chunkIndex}`),
|
|
153
|
+
content: currentChunk,
|
|
154
|
+
metadata: {
|
|
155
|
+
packageName,
|
|
156
|
+
version,
|
|
157
|
+
contentType: 'documentation',
|
|
158
|
+
name: `README section ${chunkIndex + 1}`
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
return chunks;
|
|
163
|
+
}
|
|
111
164
|
/**
|
|
112
165
|
* Chunks extraction results into embeddable pieces
|
|
113
166
|
*/
|
|
@@ -200,6 +253,11 @@ export function chunkExtraction(extraction, options) {
|
|
|
200
253
|
}
|
|
201
254
|
});
|
|
202
255
|
}
|
|
256
|
+
// Chunk README documentation if provided
|
|
257
|
+
if (options.readmeContent) {
|
|
258
|
+
const docChunks = chunkReadmeContent(options.readmeContent, packageName, version, maxTokens);
|
|
259
|
+
chunks.push(...docChunks);
|
|
260
|
+
}
|
|
203
261
|
return chunks;
|
|
204
262
|
}
|
|
205
263
|
//# sourceMappingURL=chunker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunker.js","sourceRoot":"","sources":["../../src/vector/chunker.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"chunker.js","sourceRoot":"","sources":["../../src/vector/chunker.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,17 +24,22 @@ export interface IndexStatus {
|
|
|
24
24
|
}
|
|
25
25
|
export interface VectorIndexManager {
|
|
26
26
|
initialize(): Promise<void>;
|
|
27
|
-
indexPackage(packageName: string, version: string, extraction: ExtractionResult): Promise<number>;
|
|
27
|
+
indexPackage(packageName: string, version: string, extraction: ExtractionResult, readmeContent?: string): Promise<number>;
|
|
28
28
|
search(query: string, options?: {
|
|
29
29
|
limit?: number;
|
|
30
30
|
packageName?: string;
|
|
31
31
|
}): Promise<SearchResult[]>;
|
|
32
32
|
removePackage(packageName: string): Promise<void>;
|
|
33
|
+
clear(): Promise<void>;
|
|
33
34
|
getStatus(): IndexStatus;
|
|
34
35
|
isPackageIndexed(packageName: string, version: string): boolean;
|
|
35
36
|
}
|
|
36
37
|
export interface IndexManagerOptions {
|
|
37
38
|
fallbackPath?: string;
|
|
39
|
+
keywordBoost?: {
|
|
40
|
+
enabled: boolean;
|
|
41
|
+
factor: number;
|
|
42
|
+
};
|
|
38
43
|
}
|
|
39
44
|
export declare function createVectorIndexManager(embeddings: EmbeddingProvider, initialStore: VectorStore, options?: IndexManagerOptions): VectorIndexManager;
|
|
40
45
|
//# sourceMappingURL=index-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-manager.d.ts","sourceRoot":"","sources":["../../src/vector/index-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAiB,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"index-manager.d.ts","sourceRoot":"","sources":["../../src/vector/index-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAiB,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAyB9D,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACzH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IAClG,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,SAAS,IAAI,WAAW,CAAA;IACxB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAA;CAChE;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE;QACb,OAAO,EAAE,OAAO,CAAA;QAChB,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;CACF;AAED,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,iBAAiB,EAC7B,YAAY,EAAE,WAAW,EACzB,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CA+LpB"}
|
|
@@ -4,6 +4,25 @@
|
|
|
4
4
|
import { chunkExtraction } from './chunker.js';
|
|
5
5
|
import { createFileStore } from './file-store.js';
|
|
6
6
|
import { logger } from '../utils/logger.js';
|
|
7
|
+
// Common stop words to filter out from keyword extraction
|
|
8
|
+
const STOP_WORDS = new Set([
|
|
9
|
+
'a', 'an', 'the', 'and', 'or', 'but', 'in', 'on', 'at', 'to', 'for', 'of', 'with',
|
|
10
|
+
'how', 'what', 'which', 'when', 'where', 'who', 'why',
|
|
11
|
+
'is', 'are', 'was', 'were', 'be', 'been', 'being',
|
|
12
|
+
'have', 'has', 'had', 'do', 'does', 'did',
|
|
13
|
+
'function', 'functions', 'method', 'methods', 'utility', 'utilities',
|
|
14
|
+
'pattern', 'patterns', 'example', 'examples', 'like', 'similar', 'use'
|
|
15
|
+
]);
|
|
16
|
+
/**
|
|
17
|
+
* Extracts meaningful keywords from a search query
|
|
18
|
+
*/
|
|
19
|
+
function extractKeywords(query) {
|
|
20
|
+
return query
|
|
21
|
+
.toLowerCase()
|
|
22
|
+
.split(/\s+/)
|
|
23
|
+
.map(w => w.replace(/[^a-z0-9]/g, ''))
|
|
24
|
+
.filter(w => w.length >= 3 && !STOP_WORDS.has(w));
|
|
25
|
+
}
|
|
7
26
|
export function createVectorIndexManager(embeddings, initialStore, options = {}) {
|
|
8
27
|
const indexed = new Map();
|
|
9
28
|
let store = initialStore;
|
|
@@ -43,8 +62,8 @@ export function createVectorIndexManager(embeddings, initialStore, options = {})
|
|
|
43
62
|
indexed.clear();
|
|
44
63
|
await initialize();
|
|
45
64
|
}
|
|
46
|
-
async function indexPackage(packageName, version, extraction) {
|
|
47
|
-
const chunks = chunkExtraction(extraction, { packageName, version });
|
|
65
|
+
async function indexPackage(packageName, version, extraction, readmeContent) {
|
|
66
|
+
const chunks = chunkExtraction(extraction, { packageName, version, readmeContent });
|
|
48
67
|
if (chunks.length === 0) {
|
|
49
68
|
logger.trace('No chunks to index', { packageName, version });
|
|
50
69
|
return 0;
|
|
@@ -92,8 +111,8 @@ export function createVectorIndexManager(embeddings, initialStore, options = {})
|
|
|
92
111
|
});
|
|
93
112
|
return chunks.length;
|
|
94
113
|
}
|
|
95
|
-
async function search(query,
|
|
96
|
-
logger.trace('Vector search', { query, limit:
|
|
114
|
+
async function search(query, searchOptions = {}) {
|
|
115
|
+
logger.trace('Vector search', { query, limit: searchOptions.limit, packageName: searchOptions.packageName });
|
|
97
116
|
const embedStart = performance.now();
|
|
98
117
|
const queryEmbedding = await embeddings.embed(query);
|
|
99
118
|
logger.trace('Query embedding complete', { durationMs: Math.round(performance.now() - embedStart) });
|
|
@@ -101,23 +120,23 @@ export function createVectorIndexManager(embeddings, initialStore, options = {})
|
|
|
101
120
|
let results;
|
|
102
121
|
try {
|
|
103
122
|
results = await store.search(queryEmbedding, {
|
|
104
|
-
limit:
|
|
105
|
-
packageName:
|
|
123
|
+
limit: searchOptions.limit ?? 10,
|
|
124
|
+
packageName: searchOptions.packageName
|
|
106
125
|
});
|
|
107
126
|
}
|
|
108
127
|
catch (err) {
|
|
109
128
|
logger.warn('Search failed, switching to fallback', { error: err.message });
|
|
110
129
|
await switchToFallback();
|
|
111
130
|
results = await store.search(queryEmbedding, {
|
|
112
|
-
limit:
|
|
113
|
-
packageName:
|
|
131
|
+
limit: searchOptions.limit ?? 10,
|
|
132
|
+
packageName: searchOptions.packageName
|
|
114
133
|
});
|
|
115
134
|
}
|
|
116
135
|
logger.trace('Vector search complete', {
|
|
117
136
|
results: results.length,
|
|
118
137
|
searchMs: Math.round(performance.now() - searchStart)
|
|
119
138
|
});
|
|
120
|
-
|
|
139
|
+
let mapped = results.map(r => ({
|
|
121
140
|
packageName: r.metadata.packageName,
|
|
122
141
|
name: r.metadata.name,
|
|
123
142
|
contentType: r.metadata.contentType,
|
|
@@ -125,6 +144,22 @@ export function createVectorIndexManager(embeddings, initialStore, options = {})
|
|
|
125
144
|
content: r.content,
|
|
126
145
|
score: r.score
|
|
127
146
|
}));
|
|
147
|
+
// Apply keyword boost if enabled
|
|
148
|
+
if (options.keywordBoost?.enabled) {
|
|
149
|
+
const keywords = extractKeywords(query);
|
|
150
|
+
if (keywords.length > 0) {
|
|
151
|
+
const factor = options.keywordBoost.factor;
|
|
152
|
+
mapped = mapped.map(r => {
|
|
153
|
+
const nameLower = r.name.toLowerCase();
|
|
154
|
+
const hasMatch = keywords.some(kw => nameLower.includes(kw));
|
|
155
|
+
return hasMatch ? { ...r, score: r.score * factor } : r;
|
|
156
|
+
});
|
|
157
|
+
// Re-sort by boosted score (lower = better for distance-based)
|
|
158
|
+
mapped.sort((a, b) => a.score - b.score);
|
|
159
|
+
logger.trace('Keyword boost applied', { keywords, factor });
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return mapped;
|
|
128
163
|
}
|
|
129
164
|
async function removePackage(packageName) {
|
|
130
165
|
try {
|
|
@@ -147,6 +182,12 @@ export function createVectorIndexManager(embeddings, initialStore, options = {})
|
|
|
147
182
|
const pkg = indexed.get(packageName);
|
|
148
183
|
return pkg?.version === version;
|
|
149
184
|
}
|
|
150
|
-
|
|
185
|
+
async function clear() {
|
|
186
|
+
logger.trace('Clearing vector index');
|
|
187
|
+
await store.clear();
|
|
188
|
+
indexed.clear();
|
|
189
|
+
logger.trace('Vector index cleared');
|
|
190
|
+
}
|
|
191
|
+
return { initialize, indexPackage, search, removePackage, clear, getStatus, isPackageIndexed };
|
|
151
192
|
}
|
|
152
193
|
//# sourceMappingURL=index-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-manager.js","sourceRoot":"","sources":["../../src/vector/index-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAI9C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index-manager.js","sourceRoot":"","sources":["../../src/vector/index-manager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MCP Tool: index_dependencies
|
|
3
|
-
*
|
|
4
|
-
* Builds or refreshes the vector search index for dependencies.
|
|
5
|
-
*/
|
|
6
|
-
import type { VectorIndexManager } from '../vector/index-manager.js';
|
|
7
|
-
import type { CacheManager } from '../cache/manager.js';
|
|
8
|
-
import type { PackageResolverLike } from './get-dependency.js';
|
|
9
|
-
import type { Config } from '../config/loader.js';
|
|
10
|
-
export interface IndexDependenciesInput {
|
|
11
|
-
packages?: string[];
|
|
12
|
-
}
|
|
13
|
-
export interface IndexDependenciesOutput {
|
|
14
|
-
indexed: number;
|
|
15
|
-
failed: string[];
|
|
16
|
-
duration: number;
|
|
17
|
-
message: string;
|
|
18
|
-
}
|
|
19
|
-
export interface IndexDependenciesDeps {
|
|
20
|
-
indexManager: VectorIndexManager | null;
|
|
21
|
-
cache: CacheManager;
|
|
22
|
-
resolver: PackageResolverLike;
|
|
23
|
-
config: Config;
|
|
24
|
-
listDependencies: () => Promise<{
|
|
25
|
-
name: string;
|
|
26
|
-
version: string;
|
|
27
|
-
}[]>;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Creates the index_dependencies tool handler
|
|
31
|
-
*/
|
|
32
|
-
export declare function createIndexDependenciesHandler(deps: IndexDependenciesDeps): (input: IndexDependenciesInput) => Promise<IndexDependenciesOutput>;
|
|
33
|
-
/** Tool definition for MCP */
|
|
34
|
-
export declare const indexDependenciesToolDef: {
|
|
35
|
-
name: string;
|
|
36
|
-
description: string;
|
|
37
|
-
inputSchema: {
|
|
38
|
-
type: "object";
|
|
39
|
-
properties: {
|
|
40
|
-
packages: {
|
|
41
|
-
type: string;
|
|
42
|
-
items: {
|
|
43
|
-
type: string;
|
|
44
|
-
};
|
|
45
|
-
description: string;
|
|
46
|
-
};
|
|
47
|
-
};
|
|
48
|
-
required: never[];
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
//# sourceMappingURL=index-dependencies.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-dependencies.d.ts","sourceRoot":"","sources":["../../src/tools/index-dependencies.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAIjD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAA;IACvC,KAAK,EAAE,YAAY,CAAA;IACnB,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,MAAM,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAA;CACrE;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,qBAAqB,IAEtE,OAAO,sBAAsB,KAC5B,OAAO,CAAC,uBAAuB,CAAC,CAoEpC;AAED,8BAA8B;AAC9B,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;CAcpC,CAAA"}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MCP Tool: index_dependencies
|
|
3
|
-
*
|
|
4
|
-
* Builds or refreshes the vector search index for dependencies.
|
|
5
|
-
*/
|
|
6
|
-
import { extract, followReExports } from '../extraction/typescript.js';
|
|
7
|
-
import { createExternalPackageResolver } from '../extraction/external-resolver.js';
|
|
8
|
-
/**
|
|
9
|
-
* Creates the index_dependencies tool handler
|
|
10
|
-
*/
|
|
11
|
-
export function createIndexDependenciesHandler(deps) {
|
|
12
|
-
return async function indexDependencies(input) {
|
|
13
|
-
const { indexManager, resolver, config, listDependencies } = deps;
|
|
14
|
-
const start = Date.now();
|
|
15
|
-
if (!indexManager) {
|
|
16
|
-
return {
|
|
17
|
-
indexed: 0,
|
|
18
|
-
failed: [],
|
|
19
|
-
duration: 0,
|
|
20
|
-
message: 'Vector search is not enabled. Configure vectorSearch in config to enable indexing.'
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
// Get packages to index
|
|
24
|
-
let packages;
|
|
25
|
-
if (input.packages && input.packages.length > 0) {
|
|
26
|
-
packages = [];
|
|
27
|
-
for (const name of input.packages) {
|
|
28
|
-
const resolved = await resolver.resolve(name);
|
|
29
|
-
if (resolved.success && resolved.metadata) {
|
|
30
|
-
packages.push({ name, version: resolved.metadata.version });
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
packages = await listDependencies();
|
|
36
|
-
}
|
|
37
|
-
const failed = [];
|
|
38
|
-
let indexed = 0;
|
|
39
|
-
for (const pkg of packages) {
|
|
40
|
-
try {
|
|
41
|
-
// Skip if already indexed with same version
|
|
42
|
-
if (indexManager.isPackageIndexed(pkg.name, pkg.version)) {
|
|
43
|
-
continue;
|
|
44
|
-
}
|
|
45
|
-
const resolved = await resolver.resolve(pkg.name);
|
|
46
|
-
if (!resolved.success || !resolved.metadata || !resolved.packagePath) {
|
|
47
|
-
failed.push(pkg.name);
|
|
48
|
-
continue;
|
|
49
|
-
}
|
|
50
|
-
const typesPath = resolved.metadata.typesPath;
|
|
51
|
-
if (!typesPath) {
|
|
52
|
-
continue; // Skip packages without types
|
|
53
|
-
}
|
|
54
|
-
const externalResolver = createExternalPackageResolver(config.nodeModulesPath);
|
|
55
|
-
const extraction = await extract(typesPath);
|
|
56
|
-
const withReExports = await followReExports(extraction, typesPath, new Set(), { externalResolver });
|
|
57
|
-
const count = await indexManager.indexPackage(pkg.name, pkg.version, withReExports);
|
|
58
|
-
if (count > 0)
|
|
59
|
-
indexed++;
|
|
60
|
-
}
|
|
61
|
-
catch {
|
|
62
|
-
failed.push(pkg.name);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
const duration = Date.now() - start;
|
|
66
|
-
return {
|
|
67
|
-
indexed,
|
|
68
|
-
failed,
|
|
69
|
-
duration,
|
|
70
|
-
message: `Indexed ${indexed} package(s) in ${duration}ms${failed.length > 0 ? `. Failed: ${failed.join(', ')}` : ''}`
|
|
71
|
-
};
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
/** Tool definition for MCP */
|
|
75
|
-
export const indexDependenciesToolDef = {
|
|
76
|
-
name: 'index_dependencies',
|
|
77
|
-
description: 'Build or refresh the vector search index for semantic code search. Indexes type information from dependencies.',
|
|
78
|
-
inputSchema: {
|
|
79
|
-
type: 'object',
|
|
80
|
-
properties: {
|
|
81
|
-
packages: {
|
|
82
|
-
type: 'array',
|
|
83
|
-
items: { type: 'string' },
|
|
84
|
-
description: 'Specific packages to index. If omitted, indexes all dependencies.'
|
|
85
|
-
}
|
|
86
|
-
},
|
|
87
|
-
required: []
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
//# sourceMappingURL=index-dependencies.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-dependencies.js","sourceRoot":"","sources":["../../src/tools/index-dependencies.ts"],"names":[],"mappings":"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"}
|