@mcampa/ai-context-core 0.0.1 → 0.0.2-beta.2250c7e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -47
- package/dist/.tsbuildinfo +1 -1
- package/dist/context.d.ts +30 -5
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +160 -16
- package/dist/context.js.map +1 -1
- package/dist/embedding/base-embedding.d.ts.map +1 -1
- package/dist/embedding/base-embedding.js +4 -0
- package/dist/embedding/base-embedding.js.map +1 -1
- package/dist/embedding/gemini-embedding.d.ts +43 -1
- package/dist/embedding/gemini-embedding.d.ts.map +1 -1
- package/dist/embedding/gemini-embedding.js +164 -26
- package/dist/embedding/gemini-embedding.js.map +1 -1
- package/dist/embedding/huggingface-embedding.d.ts +70 -0
- package/dist/embedding/huggingface-embedding.d.ts.map +1 -0
- package/dist/embedding/huggingface-embedding.js +270 -0
- package/dist/embedding/huggingface-embedding.js.map +1 -0
- package/dist/embedding/index.d.ts +3 -2
- package/dist/embedding/index.d.ts.map +1 -1
- package/dist/embedding/index.js +3 -2
- package/dist/embedding/index.js.map +1 -1
- package/dist/embedding/ollama-embedding.d.ts +2 -1
- package/dist/embedding/ollama-embedding.d.ts.map +1 -1
- package/dist/embedding/ollama-embedding.js +2 -3
- package/dist/embedding/ollama-embedding.js.map +1 -1
- package/dist/embedding/openai-embedding.d.ts +2 -1
- package/dist/embedding/openai-embedding.d.ts.map +1 -1
- package/dist/embedding/openai-embedding.js +3 -3
- package/dist/embedding/openai-embedding.js.map +1 -1
- package/dist/embedding/voyageai-embedding.d.ts +2 -1
- package/dist/embedding/voyageai-embedding.d.ts.map +1 -1
- package/dist/embedding/voyageai-embedding.js +2 -2
- package/dist/embedding/voyageai-embedding.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/splitter/ast-splitter.d.ts +1 -1
- package/dist/splitter/ast-splitter.d.ts.map +1 -1
- package/dist/splitter/ast-splitter.js +7 -7
- package/dist/splitter/ast-splitter.js.map +1 -1
- package/dist/splitter/index.d.ts +4 -4
- package/dist/splitter/index.d.ts.map +1 -1
- package/dist/splitter/index.js +1 -1
- package/dist/splitter/index.js.map +1 -1
- package/dist/splitter/langchain-splitter.d.ts +1 -1
- package/dist/splitter/langchain-splitter.d.ts.map +1 -1
- package/dist/splitter/langchain-splitter.js +2 -2
- package/dist/splitter/langchain-splitter.js.map +1 -1
- package/dist/sync/merkle.js +1 -1
- package/dist/sync/merkle.js.map +1 -1
- package/dist/sync/synchronizer.js +6 -6
- package/dist/sync/synchronizer.js.map +1 -1
- package/dist/utils/env-manager.js +4 -4
- package/dist/utils/env-manager.js.map +1 -1
- package/dist/vectordb/base/base-vector-database.d.ts +58 -0
- package/dist/vectordb/base/base-vector-database.d.ts.map +1 -0
- package/dist/vectordb/base/base-vector-database.js +32 -0
- package/dist/vectordb/base/base-vector-database.js.map +1 -0
- package/dist/vectordb/factory.d.ts +113 -0
- package/dist/vectordb/factory.d.ts.map +1 -0
- package/dist/vectordb/factory.js +170 -0
- package/dist/vectordb/factory.js.map +1 -0
- package/dist/vectordb/faiss-vectordb.d.ts +162 -0
- package/dist/vectordb/faiss-vectordb.d.ts.map +1 -0
- package/dist/vectordb/faiss-vectordb.js +777 -0
- package/dist/vectordb/faiss-vectordb.js.map +1 -0
- package/dist/vectordb/index.d.ts +13 -4
- package/dist/vectordb/index.d.ts.map +1 -1
- package/dist/vectordb/index.js +39 -5
- package/dist/vectordb/index.js.map +1 -1
- package/dist/vectordb/libsql-vectordb.d.ts +170 -0
- package/dist/vectordb/libsql-vectordb.d.ts.map +1 -0
- package/dist/vectordb/libsql-vectordb.js +837 -0
- package/dist/vectordb/libsql-vectordb.js.map +1 -0
- package/dist/vectordb/milvus-restful-vectordb.d.ts +12 -11
- package/dist/vectordb/milvus-restful-vectordb.d.ts.map +1 -1
- package/dist/vectordb/milvus-restful-vectordb.js +29 -31
- package/dist/vectordb/milvus-restful-vectordb.js.map +1 -1
- package/dist/vectordb/milvus-vectordb.d.ts +12 -12
- package/dist/vectordb/milvus-vectordb.d.ts.map +1 -1
- package/dist/vectordb/milvus-vectordb.js +31 -28
- package/dist/vectordb/milvus-vectordb.js.map +1 -1
- package/dist/vectordb/qdrant-vectordb.d.ts +149 -0
- package/dist/vectordb/qdrant-vectordb.d.ts.map +1 -0
- package/dist/vectordb/qdrant-vectordb.js +856 -0
- package/dist/vectordb/qdrant-vectordb.js.map +1 -0
- package/dist/vectordb/sparse/index.d.ts +4 -0
- package/dist/vectordb/sparse/index.d.ts.map +1 -0
- package/dist/vectordb/sparse/index.js +23 -0
- package/dist/vectordb/sparse/index.js.map +1 -0
- package/dist/vectordb/sparse/simple-bm25.d.ts +115 -0
- package/dist/vectordb/sparse/simple-bm25.d.ts.map +1 -0
- package/dist/vectordb/sparse/simple-bm25.js +249 -0
- package/dist/vectordb/sparse/simple-bm25.js.map +1 -0
- package/dist/vectordb/sparse/sparse-vector-generator.d.ts +54 -0
- package/dist/vectordb/sparse/sparse-vector-generator.d.ts.map +1 -0
- package/dist/vectordb/sparse/sparse-vector-generator.js +3 -0
- package/dist/vectordb/sparse/sparse-vector-generator.js.map +1 -0
- package/dist/vectordb/sparse/types.d.ts +38 -0
- package/dist/vectordb/sparse/types.d.ts.map +1 -0
- package/dist/vectordb/sparse/types.js +3 -0
- package/dist/vectordb/sparse/types.js.map +1 -0
- package/dist/vectordb/types.d.ts +16 -16
- package/dist/vectordb/types.d.ts.map +1 -1
- package/dist/vectordb/types.js.map +1 -1
- package/dist/vectordb/zilliz-utils.js +3 -3
- package/dist/vectordb/zilliz-utils.js.map +1 -1
- package/package.json +32 -22
package/dist/context.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import type { Embedding } from "./embedding";
|
|
2
|
+
import type { Splitter } from "./splitter";
|
|
3
|
+
import type { SemanticSearchResult } from "./types";
|
|
4
|
+
import type { VectorDatabase } from "./vectordb";
|
|
5
5
|
import { FileSynchronizer } from "./sync/synchronizer";
|
|
6
6
|
export interface ContextConfig {
|
|
7
7
|
name?: string;
|
|
@@ -21,7 +21,7 @@ export declare class Context {
|
|
|
21
21
|
private supportedExtensions;
|
|
22
22
|
private ignorePatterns;
|
|
23
23
|
private synchronizers;
|
|
24
|
-
constructor(config
|
|
24
|
+
constructor(config?: ContextConfig);
|
|
25
25
|
/**
|
|
26
26
|
* Get embedding instance
|
|
27
27
|
*/
|
|
@@ -106,6 +106,31 @@ export declare class Context {
|
|
|
106
106
|
* @returns Whether index exists
|
|
107
107
|
*/
|
|
108
108
|
hasIndex(): Promise<boolean>;
|
|
109
|
+
/**
|
|
110
|
+
* Get collection statistics from vector database
|
|
111
|
+
*
|
|
112
|
+
* Retrieves actual counts of indexed files and chunks by querying the vector database.
|
|
113
|
+
* This is more accurate than snapshot data which may be out of sync.
|
|
114
|
+
*
|
|
115
|
+
* @param codebasePath Codebase path to get stats for
|
|
116
|
+
* @returns Object with indexedFiles (unique files) and totalChunks, or null if:
|
|
117
|
+
* - Collection doesn't exist in vector database
|
|
118
|
+
* - Collection cannot be loaded (expected error)
|
|
119
|
+
* - Query fails with known recoverable error
|
|
120
|
+
*
|
|
121
|
+
* @throws Error for unexpected failures (network errors, auth failures, programming bugs)
|
|
122
|
+
*
|
|
123
|
+
* @remarks
|
|
124
|
+
* - Uses a limit of 100k chunks. For larger codebases, stats may be underreported.
|
|
125
|
+
* - Queries only relativePath field to minimize data transfer
|
|
126
|
+
* - File count is derived by counting unique relativePath values
|
|
127
|
+
* - Performance: O(n) where n is min(actualChunks, 100000)
|
|
128
|
+
* - Warns if limit is reached (may indicate incomplete stats)
|
|
129
|
+
*/
|
|
130
|
+
getCollectionStats(codebasePath: string): Promise<{
|
|
131
|
+
indexedFiles: number;
|
|
132
|
+
totalChunks: number;
|
|
133
|
+
} | null>;
|
|
109
134
|
/**
|
|
110
135
|
* Clear index
|
|
111
136
|
* @param codebasePath Codebase path to clear index for
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
package/dist/context.js
CHANGED
|
@@ -34,13 +34,14 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.Context = void 0;
|
|
37
|
-
const
|
|
37
|
+
const crypto = __importStar(require("node:crypto"));
|
|
38
|
+
const fs = __importStar(require("node:fs"));
|
|
39
|
+
const path = __importStar(require("node:path"));
|
|
38
40
|
const embedding_1 = require("./embedding");
|
|
39
|
-
const
|
|
40
|
-
const fs = __importStar(require("fs"));
|
|
41
|
-
const path = __importStar(require("path"));
|
|
42
|
-
const crypto = __importStar(require("crypto"));
|
|
41
|
+
const splitter_1 = require("./splitter");
|
|
43
42
|
const synchronizer_1 = require("./sync/synchronizer");
|
|
43
|
+
const env_manager_1 = require("./utils/env-manager");
|
|
44
|
+
const qdrant_vectordb_1 = require("./vectordb/qdrant-vectordb");
|
|
44
45
|
const DEFAULT_SUPPORTED_EXTENSIONS = [
|
|
45
46
|
// Programming languages
|
|
46
47
|
".ts",
|
|
@@ -131,7 +132,7 @@ const DEFAULT_IGNORE_PATTERNS = [
|
|
|
131
132
|
"temp",
|
|
132
133
|
];
|
|
133
134
|
class Context {
|
|
134
|
-
constructor(config) {
|
|
135
|
+
constructor(config = {}) {
|
|
135
136
|
this.synchronizers = new Map();
|
|
136
137
|
this.name = config.name || "my-context";
|
|
137
138
|
// Initialize services
|
|
@@ -323,6 +324,20 @@ class Context {
|
|
|
323
324
|
};
|
|
324
325
|
}
|
|
325
326
|
async reindexByChange(codebasePath, progressCallback) {
|
|
327
|
+
// Validate that the codebase path exists
|
|
328
|
+
const normalizedPath = path.resolve(codebasePath);
|
|
329
|
+
try {
|
|
330
|
+
const stat = await fs.promises.stat(normalizedPath);
|
|
331
|
+
if (!stat.isDirectory()) {
|
|
332
|
+
throw new Error(`Codebase path is not a directory: ${normalizedPath}`);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
catch (error) {
|
|
336
|
+
if (error.code === "ENOENT") {
|
|
337
|
+
throw new Error(`Codebase path does not exist: ${normalizedPath}`);
|
|
338
|
+
}
|
|
339
|
+
throw error;
|
|
340
|
+
}
|
|
326
341
|
const collectionName = this.getCollectionName();
|
|
327
342
|
const synchronizer = this.synchronizers.get(collectionName);
|
|
328
343
|
if (!synchronizer) {
|
|
@@ -434,6 +449,17 @@ class Context {
|
|
|
434
449
|
catch (error) {
|
|
435
450
|
console.log(`[Context] ⚠️ Collection '${collectionName}' exists but may be empty or not properly indexed:`, error);
|
|
436
451
|
}
|
|
452
|
+
// Load BM25 model if using Qdrant and model is not yet trained
|
|
453
|
+
if (this.vectorDatabase instanceof qdrant_vectordb_1.QdrantVectorDatabase) {
|
|
454
|
+
const bm25Generator = this.vectorDatabase.getBM25Generator();
|
|
455
|
+
if (!bm25Generator.isTrained()) {
|
|
456
|
+
console.log("[Context] 📂 BM25 model not loaded, attempting to load from disk...");
|
|
457
|
+
const loaded = await this.vectorDatabase.loadBM25Model(collectionName);
|
|
458
|
+
if (!loaded) {
|
|
459
|
+
console.warn("[Context] ⚠️ Failed to load BM25 model. Hybrid search quality may be degraded.");
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
}
|
|
437
463
|
// 1. Generate query vector
|
|
438
464
|
console.log(`[Context] 🔍 Generating embeddings for query: "${query}"`);
|
|
439
465
|
const queryEmbedding = await this.embedding.embed(query);
|
|
@@ -494,7 +520,7 @@ class Context {
|
|
|
494
520
|
relativePath: result.document.relativePath,
|
|
495
521
|
startLine: result.document.startLine,
|
|
496
522
|
endLine: result.document.endLine,
|
|
497
|
-
language:
|
|
523
|
+
language: result.document.metadata.language || "unknown",
|
|
498
524
|
score: result.score,
|
|
499
525
|
}));
|
|
500
526
|
console.log(`[Context] ✅ Found ${results.length} relevant results`);
|
|
@@ -509,6 +535,80 @@ class Context {
|
|
|
509
535
|
const collectionName = this.getCollectionName();
|
|
510
536
|
return await this.vectorDatabase.hasCollection(collectionName);
|
|
511
537
|
}
|
|
538
|
+
/**
|
|
539
|
+
* Get collection statistics from vector database
|
|
540
|
+
*
|
|
541
|
+
* Retrieves actual counts of indexed files and chunks by querying the vector database.
|
|
542
|
+
* This is more accurate than snapshot data which may be out of sync.
|
|
543
|
+
*
|
|
544
|
+
* @param codebasePath Codebase path to get stats for
|
|
545
|
+
* @returns Object with indexedFiles (unique files) and totalChunks, or null if:
|
|
546
|
+
* - Collection doesn't exist in vector database
|
|
547
|
+
* - Collection cannot be loaded (expected error)
|
|
548
|
+
* - Query fails with known recoverable error
|
|
549
|
+
*
|
|
550
|
+
* @throws Error for unexpected failures (network errors, auth failures, programming bugs)
|
|
551
|
+
*
|
|
552
|
+
* @remarks
|
|
553
|
+
* - Uses a limit of 100k chunks. For larger codebases, stats may be underreported.
|
|
554
|
+
* - Queries only relativePath field to minimize data transfer
|
|
555
|
+
* - File count is derived by counting unique relativePath values
|
|
556
|
+
* - Performance: O(n) where n is min(actualChunks, 100000)
|
|
557
|
+
* - Warns if limit is reached (may indicate incomplete stats)
|
|
558
|
+
*/
|
|
559
|
+
async getCollectionStats(codebasePath) {
|
|
560
|
+
const collectionName = this.getCollectionName();
|
|
561
|
+
// Check if collection exists
|
|
562
|
+
const hasCollection = await this.vectorDatabase.hasCollection(collectionName);
|
|
563
|
+
if (!hasCollection) {
|
|
564
|
+
return null;
|
|
565
|
+
}
|
|
566
|
+
try {
|
|
567
|
+
// Query documents up to limit (may not retrieve all chunks if codebase exceeds this limit)
|
|
568
|
+
// Note: This is a best-effort approach. For codebases with >100k chunks, consider pagination.
|
|
569
|
+
const allDocs = await this.vectorDatabase.query(collectionName, "", // Empty filter expression (no filtering, query all documents)
|
|
570
|
+
["relativePath"], // Only need file path for counting
|
|
571
|
+
100000);
|
|
572
|
+
const totalChunks = allDocs.length;
|
|
573
|
+
// Warn if we hit the query limit - actual collection may be larger
|
|
574
|
+
if (totalChunks === 100000) {
|
|
575
|
+
console.warn(`[Context] ⚠️ Retrieved maximum limit of 100k chunks for ${codebasePath}. ` +
|
|
576
|
+
`Actual total may be higher. Stats may be incomplete.`);
|
|
577
|
+
}
|
|
578
|
+
// Filter out documents with missing relativePath before counting
|
|
579
|
+
const validPaths = allDocs
|
|
580
|
+
.map((doc) => doc.relativePath)
|
|
581
|
+
.filter((path) => path != null && path !== "");
|
|
582
|
+
const uniqueFiles = new Set(validPaths).size;
|
|
583
|
+
return {
|
|
584
|
+
indexedFiles: uniqueFiles,
|
|
585
|
+
totalChunks,
|
|
586
|
+
};
|
|
587
|
+
}
|
|
588
|
+
catch (error) {
|
|
589
|
+
const dbType = this.vectorDatabase.constructor.name;
|
|
590
|
+
// Log with full context for debugging
|
|
591
|
+
console.error(`[Context] ❌ Failed to retrieve collection stats\n` +
|
|
592
|
+
` Codebase: ${codebasePath}\n` +
|
|
593
|
+
` Collection: ${collectionName}\n` +
|
|
594
|
+
` Database: ${dbType}\n` +
|
|
595
|
+
` Error:`, error);
|
|
596
|
+
// Only catch specific expected errors - let unexpected errors propagate
|
|
597
|
+
if (error instanceof Error) {
|
|
598
|
+
const errorMsg = error.message;
|
|
599
|
+
// Known recoverable errors that should return null
|
|
600
|
+
if (errorMsg.includes("collection not loaded") ||
|
|
601
|
+
errorMsg.includes("collection not exist") ||
|
|
602
|
+
errorMsg.includes("Failed to query")) {
|
|
603
|
+
console.warn(`[Context] ⚠️ Collection exists but query failed (recoverable): ${errorMsg}`);
|
|
604
|
+
return null;
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
// All other errors indicate serious problems and should propagate
|
|
608
|
+
// (network failures, auth errors, programming bugs, etc.)
|
|
609
|
+
throw error;
|
|
610
|
+
}
|
|
611
|
+
}
|
|
512
612
|
/**
|
|
513
613
|
* Clear index
|
|
514
614
|
* @param codebasePath Codebase path to clear index for
|
|
@@ -533,6 +633,10 @@ class Context {
|
|
|
533
633
|
if (collectionExists) {
|
|
534
634
|
await this.vectorDatabase.dropCollection(collectionName);
|
|
535
635
|
}
|
|
636
|
+
// Delete BM25 model if using Qdrant
|
|
637
|
+
if (this.vectorDatabase instanceof qdrant_vectordb_1.QdrantVectorDatabase) {
|
|
638
|
+
await this.vectorDatabase.deleteBM25Model(collectionName);
|
|
639
|
+
}
|
|
536
640
|
// Delete snapshot file
|
|
537
641
|
await synchronizer_1.FileSynchronizer.deleteSnapshot(codebasePath);
|
|
538
642
|
progressCallback?.({
|
|
@@ -671,9 +775,12 @@ class Context {
|
|
|
671
775
|
*/
|
|
672
776
|
async processFileList(filePaths, codebasePath, onFileProcessed) {
|
|
673
777
|
const isHybrid = this.getIsHybrid();
|
|
674
|
-
const EMBEDDING_BATCH_SIZE = Math.max(1, parseInt(env_manager_1.envManager.get("EMBEDDING_BATCH_SIZE") || "100", 10));
|
|
778
|
+
const EMBEDDING_BATCH_SIZE = Math.max(1, Number.parseInt(env_manager_1.envManager.get("EMBEDDING_BATCH_SIZE") || "100", 10));
|
|
675
779
|
const CHUNK_LIMIT = 450000;
|
|
676
780
|
console.log(`[Context] 🔧 Using EMBEDDING_BATCH_SIZE: ${EMBEDDING_BATCH_SIZE}`);
|
|
781
|
+
// For Qdrant hybrid search, we need to train BM25 on the full corpus first
|
|
782
|
+
const needsBM25Training = isHybrid && this.vectorDatabase instanceof qdrant_vectordb_1.QdrantVectorDatabase;
|
|
783
|
+
const allChunks = [];
|
|
677
784
|
let chunkBuffer = [];
|
|
678
785
|
let processedFiles = 0;
|
|
679
786
|
let totalChunks = 0;
|
|
@@ -694,10 +801,17 @@ class Context {
|
|
|
694
801
|
}
|
|
695
802
|
// Add chunks to buffer
|
|
696
803
|
for (const chunk of chunks) {
|
|
697
|
-
chunkBuffer.push({ chunk, codebasePath });
|
|
698
804
|
totalChunks++;
|
|
699
|
-
//
|
|
700
|
-
if (
|
|
805
|
+
// For Qdrant hybrid, collect all chunks. For others, add to buffer.
|
|
806
|
+
if (needsBM25Training) {
|
|
807
|
+
allChunks.push({ chunk, codebasePath });
|
|
808
|
+
}
|
|
809
|
+
else {
|
|
810
|
+
chunkBuffer.push({ chunk, codebasePath });
|
|
811
|
+
}
|
|
812
|
+
// Process batch when buffer reaches EMBEDDING_BATCH_SIZE (skip for Qdrant hybrid)
|
|
813
|
+
if (!needsBM25Training &&
|
|
814
|
+
chunkBuffer.length >= EMBEDDING_BATCH_SIZE) {
|
|
701
815
|
try {
|
|
702
816
|
await this.processChunkBuffer(chunkBuffer);
|
|
703
817
|
}
|
|
@@ -729,8 +843,38 @@ class Context {
|
|
|
729
843
|
console.warn(`[Context] ⚠️ Skipping file ${relativeFilePath}: ${error}`);
|
|
730
844
|
}
|
|
731
845
|
}
|
|
732
|
-
//
|
|
733
|
-
if (
|
|
846
|
+
// For Qdrant hybrid, train BM25 and process all chunks
|
|
847
|
+
if (needsBM25Training && allChunks.length > 0) {
|
|
848
|
+
console.log(`[Context] 🎓 Training BM25 on ${allChunks.length} chunks for Qdrant hybrid search...`);
|
|
849
|
+
// Extract corpus texts for BM25 training
|
|
850
|
+
const corpus = allChunks.map((item) => item.chunk.content);
|
|
851
|
+
// Get BM25 generator and train it
|
|
852
|
+
if (this.vectorDatabase instanceof qdrant_vectordb_1.QdrantVectorDatabase) {
|
|
853
|
+
const collectionName = this.getCollectionName();
|
|
854
|
+
const bm25Generator = this.vectorDatabase.getBM25Generator();
|
|
855
|
+
bm25Generator.learn(corpus);
|
|
856
|
+
console.log(`[Context] ✅ BM25 training completed on ${corpus.length} documents`);
|
|
857
|
+
// Save BM25 model to disk for future use
|
|
858
|
+
await this.vectorDatabase.saveBM25Model(collectionName);
|
|
859
|
+
}
|
|
860
|
+
// Now process all chunks in batches
|
|
861
|
+
console.log(`[Context] 📝 Processing ${allChunks.length} chunks in batches of ${EMBEDDING_BATCH_SIZE}...`);
|
|
862
|
+
for (let i = 0; i < allChunks.length; i += EMBEDDING_BATCH_SIZE) {
|
|
863
|
+
const batch = allChunks.slice(i, i + EMBEDDING_BATCH_SIZE);
|
|
864
|
+
try {
|
|
865
|
+
await this.processChunkBuffer(batch);
|
|
866
|
+
console.log(`[Context] 📊 Processed batch ${Math.floor(i / EMBEDDING_BATCH_SIZE) + 1}/${Math.ceil(allChunks.length / EMBEDDING_BATCH_SIZE)}`);
|
|
867
|
+
}
|
|
868
|
+
catch (error) {
|
|
869
|
+
console.error(`[Context] ❌ Failed to process chunk batch:`, error);
|
|
870
|
+
if (error instanceof Error) {
|
|
871
|
+
console.error("[Context] Stack trace:", error.stack);
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
}
|
|
876
|
+
else if (chunkBuffer.length > 0) {
|
|
877
|
+
// Process any remaining chunks in the buffer (for non-Qdrant hybrid)
|
|
734
878
|
const searchType = isHybrid === true ? "hybrid" : "regular";
|
|
735
879
|
console.log(`📝 Processing final batch of ${chunkBuffer.length} chunks for ${searchType}`);
|
|
736
880
|
try {
|
|
@@ -960,11 +1104,11 @@ class Context {
|
|
|
960
1104
|
*/
|
|
961
1105
|
async loadGlobalIgnoreFile() {
|
|
962
1106
|
try {
|
|
963
|
-
const homeDir = require("os").homedir();
|
|
1107
|
+
const homeDir = require("node:os").homedir();
|
|
964
1108
|
const globalIgnorePath = path.join(homeDir, ".context", ".contextignore");
|
|
965
1109
|
return await this.loadIgnoreFile(globalIgnorePath, "global .contextignore");
|
|
966
1110
|
}
|
|
967
|
-
catch
|
|
1111
|
+
catch {
|
|
968
1112
|
// Global ignore file is optional, don't log warnings
|
|
969
1113
|
return [];
|
|
970
1114
|
}
|
|
@@ -989,7 +1133,7 @@ class Context {
|
|
|
989
1133
|
return [];
|
|
990
1134
|
}
|
|
991
1135
|
}
|
|
992
|
-
catch
|
|
1136
|
+
catch {
|
|
993
1137
|
if (fileName.includes("global")) {
|
|
994
1138
|
console.log(`📄 No ${fileName} file found`);
|
|
995
1139
|
}
|
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-embedding.d.ts","sourceRoot":"","sources":["../../src/embedding/base-embedding.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,8BAAsB,SAAS;IAC7B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAErC;;;;OAIG;IACH,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"base-embedding.d.ts","sourceRoot":"","sources":["../../src/embedding/base-embedding.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,8BAAsB,SAAS;IAC7B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAErC;;;;OAIG;IACH,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAqB9C;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAE5D;;;;OAIG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAKpD;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAEtD;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAEhE;;;OAGG;IACH,QAAQ,CAAC,YAAY,IAAI,MAAM;IAE/B;;;OAGG;IACH,QAAQ,CAAC,WAAW,IAAI,MAAM;CAC/B"}
|
|
@@ -11,6 +11,10 @@ class Embedding {
|
|
|
11
11
|
* @returns Processed text
|
|
12
12
|
*/
|
|
13
13
|
preprocessText(text) {
|
|
14
|
+
// Handle null/undefined by converting to single space
|
|
15
|
+
if (text == null) {
|
|
16
|
+
return " ";
|
|
17
|
+
}
|
|
14
18
|
// Replace empty string with single space
|
|
15
19
|
if (text === "") {
|
|
16
20
|
return " ";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-embedding.js","sourceRoot":"","sources":["../../src/embedding/base-embedding.ts"],"names":[],"mappings":";;;AAMA;;GAEG;AACH,MAAsB,SAAS;IAG7B;;;;OAIG;IACO,cAAc,CAAC,IAAY;QACnC,yCAAyC;QACzC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAChB,OAAO,GAAG,CAAC;QACb,CAAC;QAED,oDAAoD;QACpD,iEAAiE;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IASD;;;;OAIG;IACO,eAAe,CAAC,KAAe;QACvC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,CAAC;CA4BF;
|
|
1
|
+
{"version":3,"file":"base-embedding.js","sourceRoot":"","sources":["../../src/embedding/base-embedding.ts"],"names":[],"mappings":";;;AAMA;;GAEG;AACH,MAAsB,SAAS;IAG7B;;;;OAIG;IACO,cAAc,CAAC,IAAY;QACnC,sDAAsD;QACtD,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,OAAO,GAAG,CAAC;QACb,CAAC;QAED,yCAAyC;QACzC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAChB,OAAO,GAAG,CAAC;QACb,CAAC;QAED,oDAAoD;QACpD,iEAAiE;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IASD;;;;OAIG;IACO,eAAe,CAAC,KAAe;QACvC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,CAAC;CA4BF;AAvED,8BAuEC"}
|
|
@@ -1,18 +1,42 @@
|
|
|
1
|
+
import type { EmbeddingVector } from "./base-embedding";
|
|
1
2
|
import { GoogleGenAI } from "@google/genai";
|
|
2
|
-
import { Embedding
|
|
3
|
+
import { Embedding } from "./base-embedding";
|
|
3
4
|
export interface GeminiEmbeddingConfig {
|
|
4
5
|
model: string;
|
|
5
6
|
apiKey: string;
|
|
6
7
|
baseURL?: string;
|
|
7
8
|
outputDimensionality?: number;
|
|
9
|
+
maxRetries?: number;
|
|
10
|
+
baseDelay?: number;
|
|
8
11
|
}
|
|
9
12
|
export declare class GeminiEmbedding extends Embedding {
|
|
10
13
|
private client;
|
|
11
14
|
private config;
|
|
12
15
|
private dimension;
|
|
13
16
|
protected maxTokens: number;
|
|
17
|
+
private maxRetries;
|
|
18
|
+
private baseDelay;
|
|
14
19
|
constructor(config: GeminiEmbeddingConfig);
|
|
15
20
|
private updateDimensionForModel;
|
|
21
|
+
/**
|
|
22
|
+
* Determine if an error is retryable
|
|
23
|
+
* @param error Error object to check
|
|
24
|
+
* @returns True if error is retryable
|
|
25
|
+
*/
|
|
26
|
+
private isRetryableError;
|
|
27
|
+
/**
|
|
28
|
+
* Sleep for specified milliseconds
|
|
29
|
+
* @param ms Milliseconds to sleep
|
|
30
|
+
*/
|
|
31
|
+
private sleep;
|
|
32
|
+
/**
|
|
33
|
+
* Execute operation with retry logic
|
|
34
|
+
* Only retries on retryable errors (network errors, rate limits, server errors)
|
|
35
|
+
* @param operation Operation to execute
|
|
36
|
+
* @param context Context string for error messages
|
|
37
|
+
* @returns Operation result
|
|
38
|
+
*/
|
|
39
|
+
private executeWithRetry;
|
|
16
40
|
detectDimension(): Promise<number>;
|
|
17
41
|
embed(text: string): Promise<EmbeddingVector>;
|
|
18
42
|
embedBatch(texts: string[]): Promise<EmbeddingVector[]>;
|
|
@@ -49,5 +73,23 @@ export declare class GeminiEmbedding extends Embedding {
|
|
|
49
73
|
* Validate if a dimension is supported by the current model
|
|
50
74
|
*/
|
|
51
75
|
isDimensionSupported(dimension: number): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Get current retry configuration
|
|
78
|
+
* @returns Object containing maxRetries and baseDelay
|
|
79
|
+
*/
|
|
80
|
+
getRetryConfig(): {
|
|
81
|
+
maxRetries: number;
|
|
82
|
+
baseDelay: number;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Set maximum number of retry attempts
|
|
86
|
+
* @param maxRetries Maximum retry attempts
|
|
87
|
+
*/
|
|
88
|
+
setMaxRetries(maxRetries: number): void;
|
|
89
|
+
/**
|
|
90
|
+
* Set base delay for exponential backoff
|
|
91
|
+
* @param baseDelay Base delay in milliseconds
|
|
92
|
+
*/
|
|
93
|
+
setBaseDelay(baseDelay: number): void;
|
|
52
94
|
}
|
|
53
95
|
//# sourceMappingURL=gemini-embedding.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-embedding.d.ts","sourceRoot":"","sources":["../../src/embedding/gemini-embedding.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gemini-embedding.d.ts","sourceRoot":"","sources":["../../src/embedding/gemini-embedding.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,SAAS,CAAgB;IACjC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAQ;IACnC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,qBAAqB;IAuBzC,OAAO,CAAC,uBAAuB;IAc/B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IA8CxB;;;OAGG;YACW,KAAK;IAInB;;;;;;OAMG;YACW,gBAAgB;IA4CxB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAKlC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IA6B7C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IA8D7D,YAAY,IAAI,MAAM;IAItB,WAAW,IAAI,MAAM;IAIrB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B;;;OAGG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKhD;;OAEG;IACH,SAAS,IAAI,WAAW;IAIxB;;OAEG;IACH,MAAM,CAAC,kBAAkB,IAAI,MAAM,CACjC,MAAM,EACN;QACE,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;KAChC,CACF;IAYD;;OAEG;IACH,sBAAsB,IAAI,MAAM,EAAE;IAQlC;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAKhD;;;OAGG;IACH,cAAc,IAAI;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAO3D;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAOvC;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAMtC"}
|