dep-context-mcp 1.1.3 → 1.3.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.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +112 -2
- 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 +23 -0
- package/dist/tools/search-codebase.d.ts.map +1 -1
- package/dist/tools/search-codebase.js +92 -13
- 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.3.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-29T00:18:30.657Z";
|
|
8
|
+
readonly gitCommit: "4dffb32";
|
|
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.3.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-29T00:18:30.657Z",
|
|
10
|
+
"gitCommit": "4dffb32",
|
|
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.d.ts
CHANGED
|
@@ -5,5 +5,13 @@
|
|
|
5
5
|
* Provides AI coding assistants with context about project dependencies
|
|
6
6
|
* by reading directly from node_modules.
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
/** Check if background indexing is still running */
|
|
9
|
+
export declare function isBackgroundIndexingComplete(): boolean;
|
|
10
|
+
/** Wait for background indexing to complete (if needed) */
|
|
11
|
+
export declare function waitForBackgroundIndexing(): Promise<void>;
|
|
12
|
+
/** Get background indexing status for external use */
|
|
13
|
+
export declare function getBackgroundIndexingStatus(): {
|
|
14
|
+
inProgress: boolean;
|
|
15
|
+
complete: boolean;
|
|
16
|
+
};
|
|
9
17
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;GAKG"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAmIH,oDAAoD;AACpD,wBAAgB,4BAA4B,IAAI,OAAO,CAEtD;AAED,2DAA2D;AAC3D,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAI/D;AAED,sDAAsD;AACtD,wBAAgB,2BAA2B,IAAI;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAKxF"}
|
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,87 @@ 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
|
+
fallbackPath: `${config.cacheDir}/vectors/index.json`
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
// Background indexing state
|
|
55
|
+
let backgroundIndexingPromise = null;
|
|
56
|
+
let backgroundIndexingComplete = false;
|
|
57
|
+
/**
|
|
58
|
+
* Start background indexing of all production dependencies
|
|
59
|
+
* Non-blocking - runs in the background while server handles requests
|
|
60
|
+
*/
|
|
61
|
+
function startBackgroundIndexing(indexManager, resolver, config, listProductionDeps) {
|
|
62
|
+
backgroundIndexingPromise = (async () => {
|
|
63
|
+
try {
|
|
64
|
+
await indexManager.initialize();
|
|
65
|
+
const packages = await listProductionDeps();
|
|
66
|
+
const toIndex = [];
|
|
67
|
+
for (const pkg of packages) {
|
|
68
|
+
if (!indexManager.isPackageIndexed(pkg.name, pkg.version)) {
|
|
69
|
+
const resolved = await resolver.resolve(pkg.name);
|
|
70
|
+
if (resolved.success && resolved.metadata?.typesPath) {
|
|
71
|
+
toIndex.push(pkg.name);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (toIndex.length === 0) {
|
|
76
|
+
logger.info('Background indexing: all packages already indexed');
|
|
77
|
+
backgroundIndexingComplete = true;
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
logger.info(`Background indexing: ${toIndex.length} packages to index`);
|
|
81
|
+
const { extract, followReExports } = await import('./extraction/typescript.js');
|
|
82
|
+
const { createExternalPackageResolver } = await import('./extraction/external-resolver.js');
|
|
83
|
+
const { extractReadme } = await import('./extraction/readme.js');
|
|
84
|
+
let indexed = 0;
|
|
85
|
+
for (const pkgName of toIndex) {
|
|
86
|
+
try {
|
|
87
|
+
const pkg = packages.find(p => p.name === pkgName);
|
|
88
|
+
if (!pkg)
|
|
89
|
+
continue;
|
|
90
|
+
const resolved = await resolver.resolve(pkgName);
|
|
91
|
+
if (!resolved.success || !resolved.metadata?.typesPath)
|
|
92
|
+
continue;
|
|
93
|
+
const externalResolver = createExternalPackageResolver(config.nodeModulesPath);
|
|
94
|
+
const extraction = await extract(resolved.metadata.typesPath);
|
|
95
|
+
const withReExports = await followReExports(extraction, resolved.metadata.typesPath, new Set(), { externalResolver });
|
|
96
|
+
const readme = resolved.packagePath ? await extractReadme(resolved.packagePath) : undefined;
|
|
97
|
+
await indexManager.indexPackage(pkgName, pkg.version, withReExports, readme?.raw);
|
|
98
|
+
indexed++;
|
|
99
|
+
logger.trace(`Background indexed: ${pkgName} (${indexed}/${toIndex.length})`);
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
logger.warn(`Background indexing failed for ${pkgName}`, { error: err.message });
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
logger.info(`Background indexing complete: ${indexed}/${toIndex.length} packages indexed`);
|
|
106
|
+
backgroundIndexingComplete = true;
|
|
107
|
+
}
|
|
108
|
+
catch (err) {
|
|
109
|
+
logger.error('Background indexing failed', { error: err.message });
|
|
110
|
+
backgroundIndexingComplete = true; // Mark complete even on failure to avoid blocking
|
|
111
|
+
}
|
|
112
|
+
})();
|
|
113
|
+
}
|
|
114
|
+
/** Check if background indexing is still running */
|
|
115
|
+
export function isBackgroundIndexingComplete() {
|
|
116
|
+
return backgroundIndexingComplete;
|
|
117
|
+
}
|
|
118
|
+
/** Wait for background indexing to complete (if needed) */
|
|
119
|
+
export async function waitForBackgroundIndexing() {
|
|
120
|
+
if (backgroundIndexingPromise) {
|
|
121
|
+
await backgroundIndexingPromise;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/** Get background indexing status for external use */
|
|
125
|
+
export function getBackgroundIndexingStatus() {
|
|
126
|
+
return {
|
|
127
|
+
inProgress: backgroundIndexingPromise !== null && !backgroundIndexingComplete,
|
|
128
|
+
complete: backgroundIndexingComplete
|
|
129
|
+
};
|
|
49
130
|
}
|
|
50
131
|
async function main() {
|
|
51
132
|
// Log startup banner
|
|
@@ -85,9 +166,19 @@ async function main() {
|
|
|
85
166
|
listProductionDeps: async () => {
|
|
86
167
|
const result = await listDependencies({ includeDev: false });
|
|
87
168
|
return result.dependencies.map(d => ({ name: d.name, version: d.version }));
|
|
88
|
-
}
|
|
169
|
+
},
|
|
170
|
+
getBackgroundIndexingStatus: () => getBackgroundIndexingStatus(),
|
|
171
|
+
waitForBackgroundIndexing: () => waitForBackgroundIndexing()
|
|
89
172
|
});
|
|
90
173
|
const getIndexStatus = createGetIndexStatusHandler({ indexManager });
|
|
174
|
+
const clearIndex = createClearIndexHandler({
|
|
175
|
+
indexManager,
|
|
176
|
+
clearStore: async () => {
|
|
177
|
+
if (indexManager) {
|
|
178
|
+
await indexManager.clear();
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
});
|
|
91
182
|
const relationshipAnalyzer = createRelationshipAnalyzer({
|
|
92
183
|
resolver,
|
|
93
184
|
listDependencies: async () => {
|
|
@@ -182,6 +273,7 @@ async function main() {
|
|
|
182
273
|
},
|
|
183
274
|
searchCodebaseToolDef,
|
|
184
275
|
getIndexStatusToolDef,
|
|
276
|
+
clearIndexToolDef,
|
|
185
277
|
getPackageRelationshipsToolDef
|
|
186
278
|
]
|
|
187
279
|
};
|
|
@@ -286,6 +378,17 @@ async function main() {
|
|
|
286
378
|
]
|
|
287
379
|
};
|
|
288
380
|
}
|
|
381
|
+
case 'clear_index': {
|
|
382
|
+
const result = await clearIndex();
|
|
383
|
+
return {
|
|
384
|
+
content: [
|
|
385
|
+
{
|
|
386
|
+
type: 'text',
|
|
387
|
+
text: JSON.stringify(result, null, 2)
|
|
388
|
+
}
|
|
389
|
+
]
|
|
390
|
+
};
|
|
391
|
+
}
|
|
289
392
|
case 'get_package_relationships': {
|
|
290
393
|
const input = args;
|
|
291
394
|
const result = await getPackageRelationships(input);
|
|
@@ -326,6 +429,13 @@ async function main() {
|
|
|
326
429
|
const transport = new StdioServerTransport();
|
|
327
430
|
await server.connect(transport);
|
|
328
431
|
logger.info('Dependency Context MCP Server running');
|
|
432
|
+
// Start background indexing (non-blocking)
|
|
433
|
+
if (indexManager) {
|
|
434
|
+
startBackgroundIndexing(indexManager, resolver, config, async () => {
|
|
435
|
+
const result = await listDependencies({ includeDev: false });
|
|
436
|
+
return result.dependencies.map(d => ({ name: d.name, version: d.version }));
|
|
437
|
+
});
|
|
438
|
+
}
|
|
329
439
|
}
|
|
330
440
|
main().catch((error) => {
|
|
331
441
|
logger.error('Fatal error', { error: String(error) });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,8 @@ export interface SearchCodebaseInput {
|
|
|
11
11
|
query: string;
|
|
12
12
|
limit?: number;
|
|
13
13
|
packageName?: string;
|
|
14
|
+
confirmIndexing?: boolean;
|
|
15
|
+
waitForBackgroundIndexing?: boolean;
|
|
14
16
|
}
|
|
15
17
|
export interface SearchCodebaseOutput {
|
|
16
18
|
results: Array<{
|
|
@@ -24,6 +26,14 @@ export interface SearchCodebaseOutput {
|
|
|
24
26
|
totalIndexed: number;
|
|
25
27
|
message?: string;
|
|
26
28
|
autoIndexed?: boolean;
|
|
29
|
+
indexingRequired?: {
|
|
30
|
+
packagesToIndex: string[];
|
|
31
|
+
estimatedSeconds: number;
|
|
32
|
+
confirmMessage: string;
|
|
33
|
+
};
|
|
34
|
+
backgroundIndexingInProgress?: {
|
|
35
|
+
confirmMessage: string;
|
|
36
|
+
};
|
|
27
37
|
}
|
|
28
38
|
export interface SearchCodebaseDeps {
|
|
29
39
|
indexManager: VectorIndexManager | null;
|
|
@@ -33,6 +43,11 @@ export interface SearchCodebaseDeps {
|
|
|
33
43
|
name: string;
|
|
34
44
|
version: string;
|
|
35
45
|
}[]>;
|
|
46
|
+
getBackgroundIndexingStatus?: () => {
|
|
47
|
+
inProgress: boolean;
|
|
48
|
+
complete: boolean;
|
|
49
|
+
};
|
|
50
|
+
waitForBackgroundIndexing?: () => Promise<void>;
|
|
36
51
|
}
|
|
37
52
|
/**
|
|
38
53
|
* Creates the search_codebase tool handler
|
|
@@ -57,6 +72,14 @@ export declare const searchCodebaseToolDef: {
|
|
|
57
72
|
type: string;
|
|
58
73
|
description: string;
|
|
59
74
|
};
|
|
75
|
+
confirmIndexing: {
|
|
76
|
+
type: string;
|
|
77
|
+
description: string;
|
|
78
|
+
};
|
|
79
|
+
waitForBackgroundIndexing: {
|
|
80
|
+
type: string;
|
|
81
|
+
description: string;
|
|
82
|
+
};
|
|
60
83
|
};
|
|
61
84
|
required: string[];
|
|
62
85
|
};
|
|
@@ -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;IACzB,yBAAyB,CAAC,EAAE,OAAO,CAAA;CACpC;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;IACD,4BAA4B,CAAC,EAAE;QAC7B,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;IACtE,2BAA2B,CAAC,EAAE,MAAM;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAA;IAC9E,yBAAyB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAChD;AAgED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,kBAAkB,IAEhE,OAAO,mBAAmB,KACzB,OAAO,CAAC,oBAAoB,CAAC,CAgHjC;AAED,8BAA8B;AAC9B,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BjC,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
|
}
|
|
@@ -42,7 +67,7 @@ async function autoIndex(deps) {
|
|
|
42
67
|
*/
|
|
43
68
|
export function createSearchCodebaseHandler(deps) {
|
|
44
69
|
return async function searchCodebase(input) {
|
|
45
|
-
const { indexManager } = deps;
|
|
70
|
+
const { indexManager, getBackgroundIndexingStatus, waitForBackgroundIndexing: waitFn } = deps;
|
|
46
71
|
const start = performance.now();
|
|
47
72
|
if (!indexManager) {
|
|
48
73
|
logger.trace('Tool called: search_codebase (vector search disabled)', { query: input.query });
|
|
@@ -52,24 +77,70 @@ 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
|
+
waitForBackgroundIndexing: input.waitForBackgroundIndexing
|
|
86
|
+
});
|
|
56
87
|
// Ensure index manager is initialized from storage
|
|
57
88
|
await indexManager.initialize();
|
|
58
|
-
|
|
89
|
+
// Check if background indexing is in progress
|
|
90
|
+
const bgStatus = getBackgroundIndexingStatus?.();
|
|
91
|
+
if (bgStatus?.inProgress && !input.waitForBackgroundIndexing) {
|
|
92
|
+
logger.trace('Background indexing in progress, asking user to wait');
|
|
93
|
+
return {
|
|
94
|
+
results: [],
|
|
95
|
+
totalIndexed: indexManager.getStatus().totalChunks,
|
|
96
|
+
backgroundIndexingInProgress: {
|
|
97
|
+
confirmMessage: 'Indexing in progress. Happy to wait?'
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
// If user confirmed waiting, wait for background indexing to complete
|
|
102
|
+
if (input.waitForBackgroundIndexing && waitFn) {
|
|
103
|
+
logger.trace('Waiting for background indexing to complete');
|
|
104
|
+
await waitFn();
|
|
105
|
+
logger.trace('Background indexing complete, proceeding with search');
|
|
106
|
+
}
|
|
107
|
+
// Check what needs indexing
|
|
108
|
+
const packagesToIndex = await getPackagesToIndex(deps);
|
|
109
|
+
const estimatedSeconds = packagesToIndex.length * SECONDS_PER_PACKAGE;
|
|
110
|
+
// If more than 5 packages need indexing and not confirmed, ask for confirmation
|
|
111
|
+
const CONFIRMATION_THRESHOLD = 5;
|
|
112
|
+
if (packagesToIndex.length > CONFIRMATION_THRESHOLD && !input.confirmIndexing) {
|
|
113
|
+
logger.trace('Indexing required, requesting confirmation', {
|
|
114
|
+
packages: packagesToIndex.length,
|
|
115
|
+
estimatedSeconds,
|
|
116
|
+
threshold: CONFIRMATION_THRESHOLD
|
|
117
|
+
});
|
|
118
|
+
return {
|
|
119
|
+
results: [],
|
|
120
|
+
totalIndexed: indexManager.getStatus().totalChunks,
|
|
121
|
+
indexingRequired: {
|
|
122
|
+
packagesToIndex,
|
|
123
|
+
estimatedSeconds,
|
|
124
|
+
confirmMessage: `Need to index ${packagesToIndex.length} packages (~${estimatedSeconds}s). Want me to proceed?`
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
// Index if needed (either confirmed or quick enough)
|
|
59
129
|
let autoIndexed = false;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
logger.trace('No index found, auto-indexing production dependencies');
|
|
130
|
+
if (packagesToIndex.length > 0) {
|
|
131
|
+
logger.trace('Indexing packages', { count: packagesToIndex.length });
|
|
63
132
|
const indexStart = performance.now();
|
|
64
133
|
const result = await autoIndex(deps);
|
|
65
134
|
autoIndexed = result.indexed > 0;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
135
|
+
if (autoIndexed) {
|
|
136
|
+
logger.trace('Auto-indexing complete', {
|
|
137
|
+
indexed: result.indexed,
|
|
138
|
+
failed: result.failed.length,
|
|
139
|
+
durationMs: Math.round(performance.now() - indexStart)
|
|
140
|
+
});
|
|
141
|
+
}
|
|
72
142
|
}
|
|
143
|
+
const status = indexManager.getStatus();
|
|
73
144
|
if (status.totalChunks === 0) {
|
|
74
145
|
return {
|
|
75
146
|
results: [],
|
|
@@ -113,6 +184,14 @@ export const searchCodebaseToolDef = {
|
|
|
113
184
|
packageName: {
|
|
114
185
|
type: 'string',
|
|
115
186
|
description: 'Optional: limit search to a specific package when user explicitly names one'
|
|
187
|
+
},
|
|
188
|
+
confirmIndexing: {
|
|
189
|
+
type: 'boolean',
|
|
190
|
+
description: 'Set to true to confirm indexing when >5 packages need to be indexed'
|
|
191
|
+
},
|
|
192
|
+
waitForBackgroundIndexing: {
|
|
193
|
+
type: 'boolean',
|
|
194
|
+
description: 'Set to true to wait for background indexing to complete before searching'
|
|
116
195
|
}
|
|
117
196
|
},
|
|
118
197
|
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":"AAAA;;GAEG;AAkCH,2CAA2C;AAC3C,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AACnC,CAAC;AAED,qCAAqC;AACrC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;AAEzC,SAAS,aAAa,CAAC,WAAmB,EAAE,WAAmB,EAAE,IAAY;IAC3E,MAAM,MAAM,GAAG,GAAG,WAAW,IAAI,WAAW,IAAI,IAAI,EAAE,CAAA;IACtD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACtC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;IAC9B,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAA;AACpD,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,CAAC,KAAK,EAAE,CAAA;AACjB,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY,EAAE,QAAuB;IACjE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;AAC/D,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAqB,EAAE,OAAqB;IACvE,MAAM,KAAK,GAAG;QACZ,aAAa,EAAE,CAAC,IAAI,EAAE;QACtB,EAAE;QACF,cAAc,EAAE,CAAC,SAAS,EAAE;KAC7B,CAAA;IAED,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC;IAED,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;QAC7B,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAA;YAC3C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,CAAA;IAE3C,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACxD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAmB;IAC3C,MAAM,KAAK,GAAG;QACZ,UAAU,GAAG,CAAC,IAAI,EAAE;KACrB,CAAA;IAED,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAED,IAAI,GAAG,CAAC,oBAAoB,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;QAC7B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;YACxC,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;YACjC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QACnD,CAAC;IACH,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACvE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAmB,EAAE,MAA6B;IAC3E,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;IACrD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IAElD,OAAO;QACL,WAAW,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE;QACpC,EAAE;QACF,cAAc,YAAY,GAAG,WAAW,GAAG,MAAM,CAAC,SAAS,EAAE;QAC7D,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;KACxC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC9B,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAyB;IACrD,MAAM,KAAK,GAAG;QACZ,cAAc,KAAK,CAAC,IAAI,EAAE;KAC3B,CAAA;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;QAC7B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACjC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;YACxC,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;YACjC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QACnD,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;QAC1B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,SAAS,eAAe,CAAC,IAAmB;IAC1C,MAAM,KAAK,GAAG;QACZ,SAAS,IAAI,CAAC,IAAI,EAAE;QACpB,EAAE;QACF,eAAe,IAAI,CAAC,UAAU,EAAE;KACjC,CAAA;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,OAAe,EACf,WAAmB,EACnB,OAAe,EACf,SAAiB;IAEjB,MAAM,MAAM,GAAY,EAAE,CAAA;IAE1B,mDAAmD;IACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAElF,IAAI,YAAY,GAAG,EAAE,CAAA;IACrB,IAAI,UAAU,GAAG,CAAC,CAAA;IAElB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;QAE9B,mCAAmC;QACnC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,SAAQ;QAEvC,2BAA2B;QAC3B,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;YAAE,SAAQ;QAEjC,6EAA6E;QAC7E,IAAI,YAAY,IAAI,cAAc,CAAC,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,SAAS,EAAE,CAAC;YAChF,IAAI,YAAY,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,CAAE,+BAA+B;gBAC/D,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,aAAa,CAAC,WAAW,EAAE,eAAe,EAAE,UAAU,UAAU,EAAE,CAAC;oBACvE,OAAO,EAAE,YAAY;oBACrB,QAAQ,EAAE;wBACR,WAAW;wBACX,OAAO;wBACP,WAAW,EAAE,eAAe;wBAC5B,IAAI,EAAE,kBAAkB,UAAU,GAAG,CAAC,EAAE;qBACzC;iBACF,CAAC,CAAA;gBACF,UAAU,EAAE,CAAA;YACd,CAAC;YACD,YAAY,GAAG,OAAO,CAAA;QACxB,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;QACzE,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,IAAI,YAAY,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,aAAa,CAAC,WAAW,EAAE,eAAe,EAAE,UAAU,UAAU,EAAE,CAAC;YACvE,OAAO,EAAE,YAAY;YACrB,QAAQ,EAAE;gBACR,WAAW;gBACX,OAAO;gBACP,WAAW,EAAE,eAAe;gBAC5B,IAAI,EAAE,kBAAkB,UAAU,GAAG,CAAC,EAAE;aACzC;SACF,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,UAA4B,EAAE,OAAuB;IACnF,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,GAAG,GAAG,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;IACxE,MAAM,MAAM,GAAY,EAAE,CAAA;IAE1B,wCAAwC;IACxC,eAAe,EAAE,CAAA;IAEjB,kBAAkB;IAClB,KAAK,MAAM,EAAE,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACvD,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QAEhD,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC;YACnD,OAAO;YACP,QAAQ,EAAE;gBACR,WAAW;gBACX,OAAO;gBACP,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,SAAS,EAAE,EAAE,CAAC,SAAS;aACxB;SACF,CAAC,CAAA;IACJ,CAAC;IAED,gBAAgB;IAChB,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACrC,uBAAuB;QACvB,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;QAC1C,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,aAAa,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC;YACjD,OAAO,EAAE,YAAY;YACrB,QAAQ,EAAE;gBACR,WAAW;gBACX,OAAO;gBACP,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,SAAS,EAAE,GAAG,CAAC,oBAAoB;aACpC;SACF,CAAC,CAAA;QAEF,6CAA6C;QAC7C,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YACpD,IAAI,cAAc,CAAC,aAAa,CAAC,GAAG,GAAG,EAAE,CAAC,CAAE,iCAAiC;gBAC3E,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,aAAa,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBACtE,OAAO,EAAE,aAAa;oBACtB,QAAQ,EAAE;wBACR,WAAW;wBACX,OAAO;wBACP,WAAW,EAAE,QAAQ;wBACrB,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE;wBAClC,SAAS,EAAE,MAAM,CAAC,SAAS;qBAC5B;iBACF,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;QAE3C,+CAA+C;QAC/C,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,GAAG,CAAC;YAAE,SAAQ;QAErD,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,aAAa,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC;YACvD,OAAO;YACP,QAAQ,EAAE;gBACR,WAAW;gBACX,OAAO;gBACP,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB;SACF,CAAC,CAAA;IACJ,CAAC;IAED,cAAc;IACd,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QAErC,mCAAmC;QACnC,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,GAAG,CAAC;YAAE,SAAQ;QAErD,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;YACjD,OAAO;YACP,QAAQ,EAAE;gBACR,WAAW;gBACX,OAAO;gBACP,WAAW,EAAE,MAAM;gBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,IAAI,CAAC,UAAU;aAC3B;SACF,CAAC,CAAA;IACJ,CAAC;IAED,yCAAyC;IACzC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;QAC5F,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -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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"}
|