@mcampa/ai-context-mcp 0.0.1 → 0.0.2-beta.357ea87
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/config.d.ts +5 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +66 -14
- package/dist/config.js.map +1 -1
- package/dist/embedding.d.ts +3 -3
- package/dist/embedding.d.ts.map +1 -1
- package/dist/embedding.js +15 -2
- package/dist/embedding.js.map +1 -1
- package/dist/handlers.d.ts +24 -6
- package/dist/handlers.d.ts.map +1 -1
- package/dist/handlers.js +193 -50
- package/dist/handlers.js.map +1 -1
- package/dist/index.js +77 -17
- package/dist/index.js.map +1 -1
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/snapshot.js +20 -94
- package/dist/snapshot.js.map +1 -1
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +12 -15
- package/dist/sync.js.map +1 -1
- package/dist/utils.js +2 -2
- package/dist/utils.js.map +1 -1
- package/package.json +27 -18
package/dist/handlers.js
CHANGED
|
@@ -1,28 +1,72 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
1
|
+
import * as crypto from "node:crypto";
|
|
2
|
+
import * as fs from "node:fs";
|
|
3
|
+
import * as path from "node:path";
|
|
4
|
+
import { COLLECTION_LIMIT_MESSAGE, Context, } from "@mcampa/ai-context-core";
|
|
5
|
+
import { ensureAbsolutePath, trackCodebasePath, truncateContent, } from "./utils.js";
|
|
5
6
|
export class ToolHandlers {
|
|
6
7
|
constructor(context, snapshotManager) {
|
|
8
|
+
this.contextCache = new Map();
|
|
7
9
|
this.indexingStats = null;
|
|
8
|
-
this.
|
|
10
|
+
this.baseContext = context;
|
|
9
11
|
this.snapshotManager = snapshotManager;
|
|
10
12
|
this.currentWorkspace = process.cwd();
|
|
11
13
|
console.log(`[WORKSPACE] Current workspace: ${this.currentWorkspace}`);
|
|
12
14
|
}
|
|
13
15
|
/**
|
|
14
|
-
*
|
|
15
|
-
|
|
16
|
+
* Generate a consistent context name from a codebase path
|
|
17
|
+
*/
|
|
18
|
+
getContextNameForPath(codebasePath) {
|
|
19
|
+
// Use a hash of the path to create a unique but consistent name
|
|
20
|
+
const hash = crypto
|
|
21
|
+
.createHash("sha256")
|
|
22
|
+
.update(codebasePath)
|
|
23
|
+
.digest("hex")
|
|
24
|
+
.substring(0, 16);
|
|
25
|
+
return `codebase_${hash}`;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Get or create a Context instance for a specific codebase path
|
|
29
|
+
*/
|
|
30
|
+
getContextForPath(codebasePath) {
|
|
31
|
+
if (this.contextCache.has(codebasePath)) {
|
|
32
|
+
return this.contextCache.get(codebasePath);
|
|
33
|
+
}
|
|
34
|
+
const contextName = this.getContextNameForPath(codebasePath);
|
|
35
|
+
const context = new Context({
|
|
36
|
+
name: contextName,
|
|
37
|
+
embedding: this.baseContext.getEmbedding(),
|
|
38
|
+
vectorDatabase: this.baseContext.getVectorDatabase(),
|
|
39
|
+
});
|
|
40
|
+
this.contextCache.set(codebasePath, context);
|
|
41
|
+
console.log(`[CONTEXT] Created new context for ${codebasePath} with name: ${contextName}`);
|
|
42
|
+
return context;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Legacy getter for backward compatibility - returns the base context
|
|
46
|
+
*/
|
|
47
|
+
get context() {
|
|
48
|
+
return this.baseContext;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Register an existing context for a specific codebase path.
|
|
52
|
+
* This is useful for testing when the context is created externally.
|
|
53
|
+
*/
|
|
54
|
+
registerContextForPath(codebasePath, context) {
|
|
55
|
+
this.contextCache.set(codebasePath, context);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Sync indexed codebases from vector database collections
|
|
59
|
+
* This method fetches all collections from the vector database (Milvus, Zilliz, or Qdrant),
|
|
16
60
|
* gets the first document from each collection to extract codebasePath from metadata,
|
|
17
61
|
* and updates the snapshot with discovered codebases.
|
|
18
62
|
*
|
|
19
|
-
* Logic: Compare mcp-codebase-snapshot.json with
|
|
63
|
+
* Logic: Compare mcp-codebase-snapshot.json with vector database collections
|
|
20
64
|
* - If local snapshot has extra directories (not in cloud), remove them
|
|
21
65
|
* - If local snapshot is missing directories (exist in cloud), ignore them
|
|
22
66
|
*/
|
|
23
67
|
async syncIndexedCodebasesFromCloud() {
|
|
24
68
|
try {
|
|
25
|
-
console.log(`[SYNC-CLOUD] 🔄 Syncing indexed codebases from
|
|
69
|
+
console.log(`[SYNC-CLOUD] 🔄 Syncing indexed codebases from vector database...`);
|
|
26
70
|
// Get all collections using the interface method
|
|
27
71
|
const vectorDb = this.context.getVectorDatabase();
|
|
28
72
|
// Use the new listCollections method from the interface
|
|
@@ -60,10 +104,15 @@ export class ToolHandlers {
|
|
|
60
104
|
1);
|
|
61
105
|
if (results && results.length > 0) {
|
|
62
106
|
const firstResult = results[0];
|
|
63
|
-
const
|
|
64
|
-
if (
|
|
107
|
+
const metadataValue = firstResult.metadata;
|
|
108
|
+
if (metadataValue) {
|
|
65
109
|
try {
|
|
66
|
-
|
|
110
|
+
// Handle both string and object metadata
|
|
111
|
+
// query() method already parses JSON for Qdrant, returns object
|
|
112
|
+
// For Milvus, it might still be a string
|
|
113
|
+
const metadata = typeof metadataValue === "string"
|
|
114
|
+
? JSON.parse(metadataValue)
|
|
115
|
+
: metadataValue;
|
|
67
116
|
const codebasePath = metadata.codebasePath;
|
|
68
117
|
if (codebasePath && typeof codebasePath === "string") {
|
|
69
118
|
console.log(`[SYNC-CLOUD] 📍 Found codebase path: ${codebasePath} in collection: ${collectionName}`);
|
|
@@ -86,9 +135,7 @@ export class ToolHandlers {
|
|
|
86
135
|
}
|
|
87
136
|
}
|
|
88
137
|
catch (collectionError) {
|
|
89
|
-
console.warn(`[SYNC-CLOUD] ⚠️ Error checking collection ${collectionName}:`, collectionError
|
|
90
|
-
? collectionError.message
|
|
91
|
-
: String(collectionError));
|
|
138
|
+
console.warn(`[SYNC-CLOUD] ⚠️ Error checking collection ${collectionName}:`, String(collectionError));
|
|
92
139
|
// Continue with next collection
|
|
93
140
|
}
|
|
94
141
|
}
|
|
@@ -97,9 +144,17 @@ export class ToolHandlers {
|
|
|
97
144
|
const localCodebases = new Set(this.snapshotManager.getIndexedCodebases());
|
|
98
145
|
console.log(`[SYNC-CLOUD] 📊 Found ${localCodebases.size} local codebases in snapshot`);
|
|
99
146
|
let hasChanges = false;
|
|
147
|
+
// Get currently indexing codebases to avoid removing them during background indexing
|
|
148
|
+
const indexingCodebases = this.snapshotManager.getIndexingCodebases();
|
|
100
149
|
// Remove local codebases that don't exist in cloud
|
|
150
|
+
// BUT skip codebases that are currently being indexed (their collections may be empty)
|
|
101
151
|
for (const localCodebase of localCodebases) {
|
|
102
152
|
if (!cloudCodebases.has(localCodebase)) {
|
|
153
|
+
// Skip if this codebase is currently being indexed
|
|
154
|
+
if (indexingCodebases.includes(localCodebase)) {
|
|
155
|
+
console.log(`[SYNC-CLOUD] ⏭️ Skipping removal of ${localCodebase} (currently indexing)`);
|
|
156
|
+
continue;
|
|
157
|
+
}
|
|
103
158
|
this.snapshotManager.removeIndexedCodebase(localCodebase);
|
|
104
159
|
hasChanges = true;
|
|
105
160
|
console.log(`[SYNC-CLOUD] ➖ Removed local codebase (not in cloud): ${localCodebase}`);
|
|
@@ -181,9 +236,10 @@ export class ToolHandlers {
|
|
|
181
236
|
isError: true,
|
|
182
237
|
};
|
|
183
238
|
}
|
|
184
|
-
//Check if the snapshot and cloud index are in sync
|
|
239
|
+
// Check if the snapshot and cloud index are in sync
|
|
240
|
+
const contextForPath = this.getContextForPath(absolutePath);
|
|
185
241
|
if (this.snapshotManager.getIndexedCodebases().includes(absolutePath) !==
|
|
186
|
-
(await
|
|
242
|
+
(await contextForPath.hasIndex())) {
|
|
187
243
|
console.warn(`[INDEX-VALIDATION] ❌ Snapshot and cloud index mismatch: ${absolutePath}`);
|
|
188
244
|
}
|
|
189
245
|
// Check if already indexed (unless force is true)
|
|
@@ -205,9 +261,9 @@ export class ToolHandlers {
|
|
|
205
261
|
console.log(`[FORCE-REINDEX] 🔄 Removing '${absolutePath}' from indexed list for re-indexing`);
|
|
206
262
|
this.snapshotManager.removeIndexedCodebase(absolutePath);
|
|
207
263
|
}
|
|
208
|
-
if (await
|
|
264
|
+
if (await contextForPath.hasIndex()) {
|
|
209
265
|
console.log(`[FORCE-REINDEX] 🔄 Clearing index for '${absolutePath}'`);
|
|
210
|
-
await
|
|
266
|
+
await contextForPath.clearIndex(absolutePath);
|
|
211
267
|
}
|
|
212
268
|
}
|
|
213
269
|
// CRITICAL: Pre-index collection creation validation
|
|
@@ -238,9 +294,7 @@ export class ToolHandlers {
|
|
|
238
294
|
content: [
|
|
239
295
|
{
|
|
240
296
|
type: "text",
|
|
241
|
-
text: `Error validating collection creation: ${validationError
|
|
242
|
-
? validationError.message
|
|
243
|
-
: String(validationError)}`,
|
|
297
|
+
text: `Error validating collection creation: ${String(validationError)}`,
|
|
244
298
|
},
|
|
245
299
|
],
|
|
246
300
|
isError: true,
|
|
@@ -260,10 +314,7 @@ export class ToolHandlers {
|
|
|
260
314
|
const currentStatus = this.snapshotManager.getCodebaseStatus(absolutePath);
|
|
261
315
|
if (currentStatus === "indexfailed") {
|
|
262
316
|
const failedInfo = this.snapshotManager.getCodebaseInfo(absolutePath);
|
|
263
|
-
|
|
264
|
-
? failedInfo.errorMessage
|
|
265
|
-
: "Unknown error";
|
|
266
|
-
console.log(`[BACKGROUND-INDEX] Retrying indexing for previously failed codebase. Previous error: ${errorMessage}`);
|
|
317
|
+
console.log(`[BACKGROUND-INDEX] Retrying indexing for previously failed codebase. Previous error: ${failedInfo?.errorMessage || "Unknown error"}`);
|
|
267
318
|
}
|
|
268
319
|
// Set to indexing status and save snapshot immediately
|
|
269
320
|
this.snapshotManager.setCodebaseIndexing(absolutePath, 0);
|
|
@@ -328,9 +379,9 @@ export class ToolHandlers {
|
|
|
328
379
|
const synchronizer = new FileSynchronizer(absolutePath, ignorePatterns);
|
|
329
380
|
await synchronizer.initialize();
|
|
330
381
|
// Store synchronizer in the context (let context manage collection names)
|
|
331
|
-
await
|
|
332
|
-
const collectionName =
|
|
333
|
-
|
|
382
|
+
await contextForThisTask.getPreparedCollection(absolutePath);
|
|
383
|
+
const collectionName = contextForThisTask.getCollectionName();
|
|
384
|
+
contextForThisTask.setSynchronizer(collectionName, synchronizer);
|
|
334
385
|
if (contextForThisTask !== this.context) {
|
|
335
386
|
contextForThisTask.setSynchronizer(collectionName, synchronizer);
|
|
336
387
|
}
|
|
@@ -415,12 +466,101 @@ export class ToolHandlers {
|
|
|
415
466
|
}
|
|
416
467
|
trackCodebasePath(absolutePath);
|
|
417
468
|
// Check if this codebase is indexed or being indexed
|
|
418
|
-
|
|
469
|
+
// IMPORTANT: Check both snapshot AND actual vector database collection
|
|
470
|
+
// to handle cases where snapshot is out of sync with cloud state
|
|
471
|
+
const isIndexedInSnapshot = this.snapshotManager
|
|
419
472
|
.getIndexedCodebases()
|
|
420
473
|
.includes(absolutePath);
|
|
421
474
|
const isIndexing = this.snapshotManager
|
|
422
475
|
.getIndexingCodebases()
|
|
423
476
|
.includes(absolutePath);
|
|
477
|
+
const searchContext = this.getContextForPath(absolutePath);
|
|
478
|
+
const hasVectorCollection = await searchContext.hasIndex();
|
|
479
|
+
// Recovery logic for out-of-sync state between snapshot and vector database
|
|
480
|
+
//
|
|
481
|
+
// This can occur when:
|
|
482
|
+
// 1. Snapshot file was manually deleted or corrupted
|
|
483
|
+
// 2. MCP server restarted before saving snapshot after indexing
|
|
484
|
+
// 3. Multiple MCP instances accessing the same vector database
|
|
485
|
+
// 4. User switched between different machines with shared cloud vector DB
|
|
486
|
+
//
|
|
487
|
+
// Strategy:
|
|
488
|
+
// - Detect: Collection exists in vector DB but snapshot doesn't know about it
|
|
489
|
+
// - Recover: Query vector DB for actual statistics and sync to snapshot
|
|
490
|
+
// - Result: User can search immediately without re-indexing
|
|
491
|
+
if (hasVectorCollection && !isIndexedInSnapshot && !isIndexing) {
|
|
492
|
+
console.log(`[SEARCH] Collection exists for '${absolutePath}' but not in snapshot - syncing state`);
|
|
493
|
+
try {
|
|
494
|
+
// Try to retrieve actual statistics from vector database
|
|
495
|
+
// This queries the collection to count unique files and total chunks
|
|
496
|
+
const stats = await searchContext.getCollectionStats(absolutePath);
|
|
497
|
+
if (stats) {
|
|
498
|
+
console.log(`[SEARCH] Retrieved actual stats from vector DB: ${stats.indexedFiles} files, ${stats.totalChunks} chunks`);
|
|
499
|
+
this.snapshotManager.setCodebaseIndexed(absolutePath, {
|
|
500
|
+
indexedFiles: stats.indexedFiles,
|
|
501
|
+
totalChunks: stats.totalChunks,
|
|
502
|
+
status: "completed",
|
|
503
|
+
});
|
|
504
|
+
// Save snapshot with error handling
|
|
505
|
+
try {
|
|
506
|
+
this.snapshotManager.saveCodebaseSnapshot();
|
|
507
|
+
console.log(`[SEARCH] Successfully synced snapshot state for '${absolutePath}'`);
|
|
508
|
+
}
|
|
509
|
+
catch (saveError) {
|
|
510
|
+
console.error(`[SEARCH] Failed to save snapshot after sync: ${saveError}`);
|
|
511
|
+
// Continue with search since vector DB is the source of truth
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
else {
|
|
515
|
+
// Collection exists but stats query returned null (expected errors like collection not loaded)
|
|
516
|
+
// Return error to user instead of using placeholder values
|
|
517
|
+
return {
|
|
518
|
+
content: [
|
|
519
|
+
{
|
|
520
|
+
type: "text",
|
|
521
|
+
text: `Error: Collection exists for '${absolutePath}' but statistics could not be retrieved from the vector database.\n\n` +
|
|
522
|
+
`This may indicate:\n` +
|
|
523
|
+
` - Collection is not loaded or in an invalid state\n` +
|
|
524
|
+
` - Vector database connectivity issues\n` +
|
|
525
|
+
`\n` +
|
|
526
|
+
`Recommended actions:\n` +
|
|
527
|
+
` 1. Try searching again in a moment\n` +
|
|
528
|
+
` 2. If the problem persists, re-index the codebase:\n` +
|
|
529
|
+
` index_codebase(path='${absolutePath}', force=true)\n` +
|
|
530
|
+
` 3. Check your vector database connection settings`,
|
|
531
|
+
},
|
|
532
|
+
],
|
|
533
|
+
isError: true,
|
|
534
|
+
};
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
catch (error) {
|
|
538
|
+
// Unexpected error from getCollectionStats (network failure, auth error, etc.)
|
|
539
|
+
console.error(`[SEARCH] Failed to retrieve collection stats during recovery:`, error);
|
|
540
|
+
return {
|
|
541
|
+
content: [
|
|
542
|
+
{
|
|
543
|
+
type: "text",
|
|
544
|
+
text: `Error: Failed to sync codebase '${absolutePath}' from vector database.\n\n` +
|
|
545
|
+
`Error: ${error instanceof Error ? error.message : String(error)}\n\n` +
|
|
546
|
+
`This may indicate:\n` +
|
|
547
|
+
` - Network connectivity issues with the vector database\n` +
|
|
548
|
+
` - Authentication or permission problems\n` +
|
|
549
|
+
` - Vector database service unavailable\n` +
|
|
550
|
+
`\n` +
|
|
551
|
+
`Recommended actions:\n` +
|
|
552
|
+
` 1. Check your MILVUS_ADDRESS and MILVUS_TOKEN settings\n` +
|
|
553
|
+
` 2. Verify network connectivity to the database\n` +
|
|
554
|
+
` 3. Check the logs above for detailed error information\n` +
|
|
555
|
+
` 4. Try re-indexing: index_codebase(path='${absolutePath}', force=true)`,
|
|
556
|
+
},
|
|
557
|
+
],
|
|
558
|
+
isError: true,
|
|
559
|
+
};
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
// Use the combined check: either in snapshot OR has actual collection
|
|
563
|
+
const isIndexed = isIndexedInSnapshot || hasVectorCollection;
|
|
424
564
|
if (!isIndexed && !isIndexing) {
|
|
425
565
|
return {
|
|
426
566
|
content: [
|
|
@@ -445,7 +585,7 @@ export class ToolHandlers {
|
|
|
445
585
|
console.log(`[SEARCH] 🧠 Using embedding provider: ${embeddingProvider.getProvider()} for search`);
|
|
446
586
|
console.log(`[SEARCH] 🔍 Generating embeddings for query using ${embeddingProvider.getProvider()}...`);
|
|
447
587
|
// Build filter expression from extensionFilter list
|
|
448
|
-
let filterExpr
|
|
588
|
+
let filterExpr;
|
|
449
589
|
if (Array.isArray(extensionFilter) && extensionFilter.length > 0) {
|
|
450
590
|
const cleaned = extensionFilter
|
|
451
591
|
.filter((v) => typeof v === "string")
|
|
@@ -467,7 +607,7 @@ export class ToolHandlers {
|
|
|
467
607
|
filterExpr = `fileExtension in [${quoted}]`;
|
|
468
608
|
}
|
|
469
609
|
// Search in the specified codebase
|
|
470
|
-
const searchResults = await
|
|
610
|
+
const searchResults = await searchContext.semanticSearch(query, Math.min(resultLimit, 50), 0.3, filterExpr);
|
|
471
611
|
console.log(`[SEARCH] ✅ Search completed! Found ${searchResults.length} results using ${embeddingProvider.getProvider()} embeddings`);
|
|
472
612
|
if (searchResults.length === 0) {
|
|
473
613
|
let noResultsMessage = `No results found for query: "${query}" in codebase '${absolutePath}'`;
|
|
@@ -542,26 +682,26 @@ export class ToolHandlers {
|
|
|
542
682
|
}
|
|
543
683
|
async handleClearIndex(args) {
|
|
544
684
|
const { path: codebasePath } = args;
|
|
545
|
-
if (
|
|
546
|
-
this.snapshotManager.getIndexingCodebases().length === 0) {
|
|
685
|
+
if (!codebasePath) {
|
|
547
686
|
return {
|
|
548
687
|
content: [
|
|
549
688
|
{
|
|
550
689
|
type: "text",
|
|
551
|
-
text: "
|
|
690
|
+
text: "Error: Path is required for clear_index operation.",
|
|
552
691
|
},
|
|
553
692
|
],
|
|
693
|
+
isError: true,
|
|
554
694
|
};
|
|
555
695
|
}
|
|
556
|
-
if (
|
|
696
|
+
if (this.snapshotManager.getIndexedCodebases().length === 0 &&
|
|
697
|
+
this.snapshotManager.getIndexingCodebases().length === 0) {
|
|
557
698
|
return {
|
|
558
699
|
content: [
|
|
559
700
|
{
|
|
560
701
|
type: "text",
|
|
561
|
-
text: "
|
|
702
|
+
text: "No codebases are currently indexed or being indexed.",
|
|
562
703
|
},
|
|
563
704
|
],
|
|
564
|
-
isError: true,
|
|
565
705
|
};
|
|
566
706
|
}
|
|
567
707
|
try {
|
|
@@ -717,19 +857,21 @@ export class ToolHandlers {
|
|
|
717
857
|
let statusMessage = "";
|
|
718
858
|
switch (status) {
|
|
719
859
|
case "indexed":
|
|
720
|
-
if (info &&
|
|
860
|
+
if (info && "indexedFiles" in info) {
|
|
861
|
+
const indexedInfo = info;
|
|
721
862
|
statusMessage = `✅ Codebase '${absolutePath}' is fully indexed and ready for search.`;
|
|
722
|
-
statusMessage += `\n📊 Statistics: ${
|
|
723
|
-
statusMessage += `\n📅 Status: ${
|
|
724
|
-
statusMessage += `\n🕐 Last updated: ${new Date(
|
|
863
|
+
statusMessage += `\n📊 Statistics: ${indexedInfo.indexedFiles} files, ${indexedInfo.totalChunks} chunks`;
|
|
864
|
+
statusMessage += `\n📅 Status: ${indexedInfo.indexStatus}`;
|
|
865
|
+
statusMessage += `\n🕐 Last updated: ${new Date(indexedInfo.lastUpdated).toLocaleString()}`;
|
|
725
866
|
}
|
|
726
867
|
else {
|
|
727
868
|
statusMessage = `✅ Codebase '${absolutePath}' is fully indexed and ready for search.`;
|
|
728
869
|
}
|
|
729
870
|
break;
|
|
730
871
|
case "indexing":
|
|
731
|
-
if (info &&
|
|
732
|
-
const
|
|
872
|
+
if (info && "indexingPercentage" in info) {
|
|
873
|
+
const indexingInfo = info;
|
|
874
|
+
const progressPercentage = indexingInfo.indexingPercentage || 0;
|
|
733
875
|
statusMessage = `🔄 Codebase '${absolutePath}' is currently being indexed. Progress: ${progressPercentage.toFixed(1)}%`;
|
|
734
876
|
// Add more detailed status based on progress
|
|
735
877
|
if (progressPercentage < 10) {
|
|
@@ -739,20 +881,21 @@ export class ToolHandlers {
|
|
|
739
881
|
statusMessage +=
|
|
740
882
|
" (Processing files and generating embeddings...)";
|
|
741
883
|
}
|
|
742
|
-
statusMessage += `\n🕐 Last updated: ${new Date(
|
|
884
|
+
statusMessage += `\n🕐 Last updated: ${new Date(indexingInfo.lastUpdated).toLocaleString()}`;
|
|
743
885
|
}
|
|
744
886
|
else {
|
|
745
887
|
statusMessage = `🔄 Codebase '${absolutePath}' is currently being indexed.`;
|
|
746
888
|
}
|
|
747
889
|
break;
|
|
748
890
|
case "indexfailed":
|
|
749
|
-
if (info &&
|
|
891
|
+
if (info && "errorMessage" in info) {
|
|
892
|
+
const failedInfo = info;
|
|
750
893
|
statusMessage = `❌ Codebase '${absolutePath}' indexing failed.`;
|
|
751
|
-
statusMessage += `\n🚨 Error: ${
|
|
752
|
-
if (
|
|
753
|
-
statusMessage += `\n📊 Failed at: ${
|
|
894
|
+
statusMessage += `\n🚨 Error: ${failedInfo.errorMessage}`;
|
|
895
|
+
if (failedInfo.lastAttemptedPercentage !== undefined) {
|
|
896
|
+
statusMessage += `\n📊 Failed at: ${failedInfo.lastAttemptedPercentage.toFixed(1)}% progress`;
|
|
754
897
|
}
|
|
755
|
-
statusMessage += `\n🕐 Failed at: ${new Date(
|
|
898
|
+
statusMessage += `\n🕐 Failed at: ${new Date(failedInfo.lastUpdated).toLocaleString()}`;
|
|
756
899
|
statusMessage += `\n💡 You can retry indexing by running the index_codebase command again.`;
|
|
757
900
|
}
|
|
758
901
|
else {
|
package/dist/handlers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,26 +1,25 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
// CRITICAL: Redirect console outputs to stderr IMMEDIATELY to avoid interfering with MCP JSON protocol
|
|
3
3
|
// Only MCP protocol messages should go to stdout
|
|
4
|
-
const _originalConsoleLog = console.log;
|
|
5
|
-
const _originalConsoleWarn = console.warn;
|
|
6
|
-
console.log = (...args) => {
|
|
7
|
-
process.stderr.write("[LOG] " + args.join(" ") + "\n");
|
|
8
|
-
};
|
|
9
|
-
console.warn = (...args) => {
|
|
10
|
-
process.stderr.write("[WARN] " + args.join(" ") + "\n");
|
|
11
|
-
};
|
|
12
4
|
// console.error already goes to stderr by default
|
|
13
5
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
14
6
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
15
|
-
import {
|
|
16
|
-
import { Context } from "@mcampa/ai-context-core";
|
|
17
|
-
import { MilvusVectorDatabase } from "@mcampa/ai-context-core";
|
|
7
|
+
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
8
|
+
import { Context, LibSQLVectorDatabase, MilvusVectorDatabase, QdrantVectorDatabase, VectorDatabaseFactory, VectorDatabaseType, } from "@mcampa/ai-context-core";
|
|
18
9
|
// Import our modular components
|
|
19
10
|
import { createMcpConfig, logConfigurationSummary, showHelpMessage, } from "./config.js";
|
|
20
11
|
import { createEmbeddingInstance, logEmbeddingProviderInfo, } from "./embedding.js";
|
|
12
|
+
import { ToolHandlers } from "./handlers.js";
|
|
21
13
|
import { SnapshotManager } from "./snapshot.js";
|
|
22
14
|
import { SyncManager } from "./sync.js";
|
|
23
|
-
|
|
15
|
+
const _originalConsoleLog = console.log;
|
|
16
|
+
const _originalConsoleWarn = console.warn;
|
|
17
|
+
console.log = (...args) => {
|
|
18
|
+
process.stderr.write(`[LOG] ${args.join(" ")}\n`);
|
|
19
|
+
};
|
|
20
|
+
console.warn = (...args) => {
|
|
21
|
+
process.stderr.write(`[WARN] ${args.join(" ")}\n`);
|
|
22
|
+
};
|
|
24
23
|
class ContextMcpServer {
|
|
25
24
|
constructor(config) {
|
|
26
25
|
// Initialize MCP server
|
|
@@ -37,11 +36,72 @@ class ContextMcpServer {
|
|
|
37
36
|
console.log(`[EMBEDDING] Using model: ${config.embeddingModel}`);
|
|
38
37
|
const embedding = createEmbeddingInstance(config);
|
|
39
38
|
logEmbeddingProviderInfo(config, embedding);
|
|
40
|
-
// Initialize vector database
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
39
|
+
// Initialize vector database based on configuration
|
|
40
|
+
// Auto-select FAISS if no external database is configured and FAISS is available
|
|
41
|
+
let vectorDatabase;
|
|
42
|
+
const hasExternalDb = config.milvusAddress || config.milvusToken || config.qdrantUrl;
|
|
43
|
+
const faissAvailable = VectorDatabaseFactory.isFaissAvailable();
|
|
44
|
+
if (!hasExternalDb && !config.vectorDbType) {
|
|
45
|
+
// Default to FAISS for zero-config local development (if available)
|
|
46
|
+
if (faissAvailable) {
|
|
47
|
+
console.log("[VECTORDB] No external vector database configured, using FAISS (local file-based)");
|
|
48
|
+
vectorDatabase = VectorDatabaseFactory.create(VectorDatabaseType.FAISS_LOCAL, {
|
|
49
|
+
storageDir: process.env.FAISS_STORAGE_DIR,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
// FAISS not available, require explicit configuration
|
|
54
|
+
console.error("[VECTORDB] ❌ No vector database configured and FAISS is not available.");
|
|
55
|
+
console.error("[VECTORDB] Please configure one of the following:");
|
|
56
|
+
console.error("[VECTORDB] - MILVUS_ADDRESS or MILVUS_TOKEN for Milvus");
|
|
57
|
+
console.error("[VECTORDB] - QDRANT_URL for Qdrant");
|
|
58
|
+
throw new Error("No vector database configured. FAISS native bindings are not available in this environment. " +
|
|
59
|
+
"Please set MILVUS_ADDRESS/MILVUS_TOKEN or QDRANT_URL to use an external vector database.");
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
else if (config.vectorDbType === "faiss-local") {
|
|
63
|
+
if (!faissAvailable) {
|
|
64
|
+
throw new Error("FAISS vector database was explicitly requested but native bindings are not available. " +
|
|
65
|
+
"Please use VECTOR_DB_TYPE=milvus or VECTOR_DB_TYPE=qdrant instead.");
|
|
66
|
+
}
|
|
67
|
+
console.log("[VECTORDB] Using FAISS (local file-based)");
|
|
68
|
+
vectorDatabase = VectorDatabaseFactory.create(VectorDatabaseType.FAISS_LOCAL, {
|
|
69
|
+
storageDir: process.env.FAISS_STORAGE_DIR,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
else if (config.vectorDbType === "qdrant") {
|
|
73
|
+
// Parse Qdrant URL to get address for gRPC
|
|
74
|
+
const qdrantUrl = config.qdrantUrl || "http://localhost:6333";
|
|
75
|
+
const url = new URL(qdrantUrl.startsWith("http") ? qdrantUrl : `http://${qdrantUrl}`);
|
|
76
|
+
// For Qdrant gRPC, we need host:port format.
|
|
77
|
+
// Auto-convert default REST port (6333) to default gRPC port (6334).
|
|
78
|
+
let grpcPort = url.port || "6334";
|
|
79
|
+
if (grpcPort === "6333") {
|
|
80
|
+
console.log("[VECTORDB] Qdrant REST port 6333 detected, switching to gRPC port 6334.");
|
|
81
|
+
grpcPort = "6334";
|
|
82
|
+
}
|
|
83
|
+
const grpcAddress = `${url.hostname}:${grpcPort}`;
|
|
84
|
+
console.log(`[VECTORDB] Qdrant gRPC address: ${grpcAddress}`);
|
|
85
|
+
vectorDatabase = new QdrantVectorDatabase({
|
|
86
|
+
address: grpcAddress,
|
|
87
|
+
...(config.qdrantApiKey && { apiKey: config.qdrantApiKey }),
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
else if (config.vectorDbType === "libsql") {
|
|
91
|
+
// LibSQL local database - pure JavaScript, no native bindings required
|
|
92
|
+
console.log("[VECTORDB] Using LibSQL (local file-based, pure JS)");
|
|
93
|
+
vectorDatabase = new LibSQLVectorDatabase({
|
|
94
|
+
storageDir: process.env.LIBSQL_STORAGE_DIR,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
// Default to Milvus
|
|
99
|
+
console.log(`[VECTORDB] Using Milvus: ${config.milvusAddress || "default"}`);
|
|
100
|
+
vectorDatabase = new MilvusVectorDatabase({
|
|
101
|
+
address: config.milvusAddress,
|
|
102
|
+
...(config.milvusToken && { token: config.milvusToken }),
|
|
103
|
+
});
|
|
104
|
+
}
|
|
45
105
|
// Initialize Claude Context
|
|
46
106
|
this.context = new Context({
|
|
47
107
|
embedding,
|