@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.
Files changed (109) hide show
  1. package/README.md +55 -47
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/context.d.ts +30 -5
  4. package/dist/context.d.ts.map +1 -1
  5. package/dist/context.js +160 -16
  6. package/dist/context.js.map +1 -1
  7. package/dist/embedding/base-embedding.d.ts.map +1 -1
  8. package/dist/embedding/base-embedding.js +4 -0
  9. package/dist/embedding/base-embedding.js.map +1 -1
  10. package/dist/embedding/gemini-embedding.d.ts +43 -1
  11. package/dist/embedding/gemini-embedding.d.ts.map +1 -1
  12. package/dist/embedding/gemini-embedding.js +164 -26
  13. package/dist/embedding/gemini-embedding.js.map +1 -1
  14. package/dist/embedding/huggingface-embedding.d.ts +70 -0
  15. package/dist/embedding/huggingface-embedding.d.ts.map +1 -0
  16. package/dist/embedding/huggingface-embedding.js +270 -0
  17. package/dist/embedding/huggingface-embedding.js.map +1 -0
  18. package/dist/embedding/index.d.ts +3 -2
  19. package/dist/embedding/index.d.ts.map +1 -1
  20. package/dist/embedding/index.js +3 -2
  21. package/dist/embedding/index.js.map +1 -1
  22. package/dist/embedding/ollama-embedding.d.ts +2 -1
  23. package/dist/embedding/ollama-embedding.d.ts.map +1 -1
  24. package/dist/embedding/ollama-embedding.js +2 -3
  25. package/dist/embedding/ollama-embedding.js.map +1 -1
  26. package/dist/embedding/openai-embedding.d.ts +2 -1
  27. package/dist/embedding/openai-embedding.d.ts.map +1 -1
  28. package/dist/embedding/openai-embedding.js +3 -3
  29. package/dist/embedding/openai-embedding.js.map +1 -1
  30. package/dist/embedding/voyageai-embedding.d.ts +2 -1
  31. package/dist/embedding/voyageai-embedding.d.ts.map +1 -1
  32. package/dist/embedding/voyageai-embedding.js +2 -2
  33. package/dist/embedding/voyageai-embedding.js.map +1 -1
  34. package/dist/index.d.ts +4 -4
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +4 -4
  37. package/dist/index.js.map +1 -1
  38. package/dist/splitter/ast-splitter.d.ts +1 -1
  39. package/dist/splitter/ast-splitter.d.ts.map +1 -1
  40. package/dist/splitter/ast-splitter.js +7 -7
  41. package/dist/splitter/ast-splitter.js.map +1 -1
  42. package/dist/splitter/index.d.ts +4 -4
  43. package/dist/splitter/index.d.ts.map +1 -1
  44. package/dist/splitter/index.js +1 -1
  45. package/dist/splitter/index.js.map +1 -1
  46. package/dist/splitter/langchain-splitter.d.ts +1 -1
  47. package/dist/splitter/langchain-splitter.d.ts.map +1 -1
  48. package/dist/splitter/langchain-splitter.js +2 -2
  49. package/dist/splitter/langchain-splitter.js.map +1 -1
  50. package/dist/sync/merkle.js +1 -1
  51. package/dist/sync/merkle.js.map +1 -1
  52. package/dist/sync/synchronizer.js +6 -6
  53. package/dist/sync/synchronizer.js.map +1 -1
  54. package/dist/utils/env-manager.js +4 -4
  55. package/dist/utils/env-manager.js.map +1 -1
  56. package/dist/vectordb/base/base-vector-database.d.ts +58 -0
  57. package/dist/vectordb/base/base-vector-database.d.ts.map +1 -0
  58. package/dist/vectordb/base/base-vector-database.js +32 -0
  59. package/dist/vectordb/base/base-vector-database.js.map +1 -0
  60. package/dist/vectordb/factory.d.ts +113 -0
  61. package/dist/vectordb/factory.d.ts.map +1 -0
  62. package/dist/vectordb/factory.js +170 -0
  63. package/dist/vectordb/factory.js.map +1 -0
  64. package/dist/vectordb/faiss-vectordb.d.ts +162 -0
  65. package/dist/vectordb/faiss-vectordb.d.ts.map +1 -0
  66. package/dist/vectordb/faiss-vectordb.js +777 -0
  67. package/dist/vectordb/faiss-vectordb.js.map +1 -0
  68. package/dist/vectordb/index.d.ts +13 -4
  69. package/dist/vectordb/index.d.ts.map +1 -1
  70. package/dist/vectordb/index.js +39 -5
  71. package/dist/vectordb/index.js.map +1 -1
  72. package/dist/vectordb/libsql-vectordb.d.ts +170 -0
  73. package/dist/vectordb/libsql-vectordb.d.ts.map +1 -0
  74. package/dist/vectordb/libsql-vectordb.js +837 -0
  75. package/dist/vectordb/libsql-vectordb.js.map +1 -0
  76. package/dist/vectordb/milvus-restful-vectordb.d.ts +12 -11
  77. package/dist/vectordb/milvus-restful-vectordb.d.ts.map +1 -1
  78. package/dist/vectordb/milvus-restful-vectordb.js +29 -31
  79. package/dist/vectordb/milvus-restful-vectordb.js.map +1 -1
  80. package/dist/vectordb/milvus-vectordb.d.ts +12 -12
  81. package/dist/vectordb/milvus-vectordb.d.ts.map +1 -1
  82. package/dist/vectordb/milvus-vectordb.js +31 -28
  83. package/dist/vectordb/milvus-vectordb.js.map +1 -1
  84. package/dist/vectordb/qdrant-vectordb.d.ts +149 -0
  85. package/dist/vectordb/qdrant-vectordb.d.ts.map +1 -0
  86. package/dist/vectordb/qdrant-vectordb.js +856 -0
  87. package/dist/vectordb/qdrant-vectordb.js.map +1 -0
  88. package/dist/vectordb/sparse/index.d.ts +4 -0
  89. package/dist/vectordb/sparse/index.d.ts.map +1 -0
  90. package/dist/vectordb/sparse/index.js +23 -0
  91. package/dist/vectordb/sparse/index.js.map +1 -0
  92. package/dist/vectordb/sparse/simple-bm25.d.ts +115 -0
  93. package/dist/vectordb/sparse/simple-bm25.d.ts.map +1 -0
  94. package/dist/vectordb/sparse/simple-bm25.js +249 -0
  95. package/dist/vectordb/sparse/simple-bm25.js.map +1 -0
  96. package/dist/vectordb/sparse/sparse-vector-generator.d.ts +54 -0
  97. package/dist/vectordb/sparse/sparse-vector-generator.d.ts.map +1 -0
  98. package/dist/vectordb/sparse/sparse-vector-generator.js +3 -0
  99. package/dist/vectordb/sparse/sparse-vector-generator.js.map +1 -0
  100. package/dist/vectordb/sparse/types.d.ts +38 -0
  101. package/dist/vectordb/sparse/types.d.ts.map +1 -0
  102. package/dist/vectordb/sparse/types.js +3 -0
  103. package/dist/vectordb/sparse/types.js.map +1 -0
  104. package/dist/vectordb/types.d.ts +16 -16
  105. package/dist/vectordb/types.d.ts.map +1 -1
  106. package/dist/vectordb/types.js.map +1 -1
  107. package/dist/vectordb/zilliz-utils.js +3 -3
  108. package/dist/vectordb/zilliz-utils.js.map +1 -1
  109. package/package.json +32 -22
package/dist/context.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { Splitter } from "./splitter";
2
- import { Embedding } from "./embedding";
3
- import { VectorDatabase } from "./vectordb";
4
- import { SemanticSearchResult } from "./types";
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: ContextConfig);
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
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
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 splitter_1 = require("./splitter");
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 env_manager_1 = require("./utils/env-manager");
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: String(result.document.metadata.language || "unknown"),
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
- // Process batch when buffer reaches EMBEDDING_BATCH_SIZE
700
- if (chunkBuffer.length >= EMBEDDING_BATCH_SIZE) {
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
- // Process any remaining chunks in the buffer
733
- if (chunkBuffer.length > 0) {
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 (_error) {
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 (_error) {
1136
+ catch {
993
1137
  if (fileName.includes("global")) {
994
1138
  console.log(`📄 No ${fileName} file found`);
995
1139
  }
@@ -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;IAgB9C;;;;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"}
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;AAlED,8BAkEC"}
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, EmbeddingVector } from "./base-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":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE9D,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;CAC/B;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;gBAEvB,MAAM,EAAE,qBAAqB;IAqBzC,OAAO,CAAC,uBAAuB;IAczB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAKlC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAiC7C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAkC7D,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;CAIjD"}
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"}