codebase-context 1.2.1 → 1.5.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.
Files changed (96) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +144 -87
  3. package/dist/analyzers/angular/index.d.ts +1 -1
  4. package/dist/analyzers/angular/index.d.ts.map +1 -1
  5. package/dist/analyzers/angular/index.js +298 -309
  6. package/dist/analyzers/angular/index.js.map +1 -1
  7. package/dist/analyzers/generic/index.d.ts +1 -1
  8. package/dist/analyzers/generic/index.d.ts.map +1 -1
  9. package/dist/analyzers/generic/index.js +93 -47
  10. package/dist/analyzers/generic/index.js.map +1 -1
  11. package/dist/constants/codebase-context.d.ts +6 -0
  12. package/dist/constants/codebase-context.d.ts.map +1 -0
  13. package/dist/constants/codebase-context.js +8 -0
  14. package/dist/constants/codebase-context.js.map +1 -0
  15. package/dist/core/analyzer-registry.d.ts.map +1 -1
  16. package/dist/core/analyzer-registry.js +5 -7
  17. package/dist/core/analyzer-registry.js.map +1 -1
  18. package/dist/core/indexer.d.ts +9 -1
  19. package/dist/core/indexer.d.ts.map +1 -1
  20. package/dist/core/indexer.js +206 -139
  21. package/dist/core/indexer.js.map +1 -1
  22. package/dist/core/search.d.ts +1 -1
  23. package/dist/core/search.d.ts.map +1 -1
  24. package/dist/core/search.js +63 -59
  25. package/dist/core/search.js.map +1 -1
  26. package/dist/embeddings/openai.d.ts.map +1 -1
  27. package/dist/embeddings/openai.js +2 -2
  28. package/dist/embeddings/openai.js.map +1 -1
  29. package/dist/embeddings/transformers.d.ts +1 -1
  30. package/dist/embeddings/transformers.d.ts.map +1 -1
  31. package/dist/embeddings/transformers.js +19 -15
  32. package/dist/embeddings/transformers.js.map +1 -1
  33. package/dist/embeddings/types.d.ts +1 -1
  34. package/dist/embeddings/types.d.ts.map +1 -1
  35. package/dist/embeddings/types.js +3 -3
  36. package/dist/embeddings/types.js.map +1 -1
  37. package/dist/errors/index.d.ts +8 -0
  38. package/dist/errors/index.d.ts.map +1 -0
  39. package/dist/errors/index.js +11 -0
  40. package/dist/errors/index.js.map +1 -0
  41. package/dist/index.d.ts +6 -28
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +691 -336
  44. package/dist/index.js.map +1 -1
  45. package/dist/lib.d.ts +18 -18
  46. package/dist/lib.d.ts.map +1 -1
  47. package/dist/lib.js +23 -23
  48. package/dist/lib.js.map +1 -1
  49. package/dist/memory/store.d.ts +22 -0
  50. package/dist/memory/store.d.ts.map +1 -0
  51. package/dist/memory/store.js +97 -0
  52. package/dist/memory/store.js.map +1 -0
  53. package/dist/storage/lancedb.d.ts.map +1 -1
  54. package/dist/storage/lancedb.js +27 -31
  55. package/dist/storage/lancedb.js.map +1 -1
  56. package/dist/storage/types.d.ts.map +1 -1
  57. package/dist/storage/types.js +2 -1
  58. package/dist/storage/types.js.map +1 -1
  59. package/dist/types/index.d.ts +27 -0
  60. package/dist/types/index.d.ts.map +1 -1
  61. package/dist/types/index.js +1 -0
  62. package/dist/types/index.js.map +1 -1
  63. package/dist/utils/chunking.d.ts.map +1 -1
  64. package/dist/utils/chunking.js +10 -9
  65. package/dist/utils/chunking.js.map +1 -1
  66. package/dist/utils/dependency-detection.d.ts +18 -0
  67. package/dist/utils/dependency-detection.d.ts.map +1 -0
  68. package/dist/utils/dependency-detection.js +102 -0
  69. package/dist/utils/dependency-detection.js.map +1 -0
  70. package/dist/utils/git-dates.d.ts.map +1 -1
  71. package/dist/utils/git-dates.js +3 -3
  72. package/dist/utils/git-dates.js.map +1 -1
  73. package/dist/utils/language-detection.d.ts.map +1 -1
  74. package/dist/utils/language-detection.js +69 -17
  75. package/dist/utils/language-detection.js.map +1 -1
  76. package/dist/utils/usage-tracker.d.ts +2 -2
  77. package/dist/utils/usage-tracker.d.ts.map +1 -1
  78. package/dist/utils/usage-tracker.js +64 -32
  79. package/dist/utils/usage-tracker.js.map +1 -1
  80. package/dist/utils/workspace-detection.d.ts +32 -0
  81. package/dist/utils/workspace-detection.d.ts.map +1 -0
  82. package/dist/utils/workspace-detection.js +107 -0
  83. package/dist/utils/workspace-detection.js.map +1 -0
  84. package/package.json +114 -97
  85. package/dist/core/file-watcher.d.ts +0 -63
  86. package/dist/core/file-watcher.d.ts.map +0 -1
  87. package/dist/core/file-watcher.js +0 -210
  88. package/dist/core/file-watcher.js.map +0 -1
  89. package/dist/utils/logger.d.ts +0 -36
  90. package/dist/utils/logger.d.ts.map +0 -1
  91. package/dist/utils/logger.js +0 -111
  92. package/dist/utils/logger.js.map +0 -1
  93. package/dist/utils/pattern-detector.d.ts +0 -41
  94. package/dist/utils/pattern-detector.d.ts.map +0 -1
  95. package/dist/utils/pattern-detector.js +0 -101
  96. package/dist/utils/pattern-detector.js.map +0 -1
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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"}
package/dist/lib.d.ts CHANGED
@@ -1,18 +1,18 @@
1
1
  /**
2
- * Library entry point for codebase-context-mcp
2
+ * Library entry point for codebase-context
3
3
  *
4
- * This module exports the public API for programmatic use.
5
- * For the MCP server, import from 'codebase-context-mcp/server' or run the CLI.
4
+ * This exports the core logic for use as a library.
5
+ * For the MCP server, import from 'codebase-context/server' or run the CLI.
6
6
  *
7
7
  * @example
8
8
  * ```typescript
9
9
  * import {
10
- * CodebaseIndexer,
11
- * CodebaseSearcher,
10
+ * ProjectAnalyzer,
11
+ * VectorStorage,
12
12
  * analyzerRegistry,
13
13
  * AngularAnalyzer,
14
14
  * GenericAnalyzer
15
- * } from 'codebase-context-mcp';
15
+ * } from 'codebase-context';
16
16
  *
17
17
  * // Register analyzers
18
18
  * analyzerRegistry.register(new AngularAnalyzer());
@@ -30,16 +30,16 @@
30
30
  * const results = await searcher.search('how do we handle errors?');
31
31
  * ```
32
32
  */
33
- export { CodebaseIndexer, type IndexerOptions } from "./core/indexer.js";
34
- export { CodebaseSearcher, type SearchOptions } from "./core/search.js";
35
- export { AnalyzerRegistry, analyzerRegistry, } from "./core/analyzer-registry.js";
36
- export { getEmbeddingProvider, TransformersEmbeddingProvider, type EmbeddingProvider, type EmbeddingConfig, DEFAULT_EMBEDDING_CONFIG, } from "./embeddings/index.js";
37
- export { getStorageProvider, LanceDBStorageProvider, type VectorStorageProvider, type StorageConfig, type CodeChunkWithEmbedding, DEFAULT_STORAGE_CONFIG, } from "./storage/index.js";
38
- export { AngularAnalyzer } from "./analyzers/angular/index.js";
39
- export { GenericAnalyzer } from "./analyzers/generic/index.js";
40
- export { isCodeFile, isBinaryFile, detectLanguage, isTestFile, isDocumentationFile, getSupportedExtensions, } from "./utils/language-detection.js";
41
- export { createChunksFromCode, calculateComplexity, mergeSmallChunks, type ChunkingOptions, } from "./utils/chunking.js";
42
- export type { FrameworkAnalyzer, AnalysisResult, CodeComponent, ImportStatement, ExportStatement, Dependency, DependencyCategory, ArchitecturalLayer, CodeChunk, ChunkMetadata, CodebaseMetadata, FrameworkInfo, LanguageInfo, ArchitectureInfo, ModuleInfo, ProjectStructure, PackageInfo, CodebaseStatistics, StyleGuide, StyleRule, CodeExample, DocumentationFile, DocumentationSection, SearchQuery, SearchFilters, SearchResult, TextHighlight, IndexingProgress, IndexingPhase, IndexingError, IndexingStats, AnalyzerConfig, CodebaseConfig, Decorator, Property, Method, Parameter, } from "./types/index.js";
33
+ export { CodebaseIndexer, type IndexerOptions } from './core/indexer.js';
34
+ export { CodebaseSearcher, type SearchOptions } from './core/search.js';
35
+ export { AnalyzerRegistry, analyzerRegistry } from './core/analyzer-registry.js';
36
+ export { getEmbeddingProvider, TransformersEmbeddingProvider, type EmbeddingProvider, type EmbeddingConfig, DEFAULT_EMBEDDING_CONFIG } from './embeddings/index.js';
37
+ export { getStorageProvider, LanceDBStorageProvider, type VectorStorageProvider, type StorageConfig, type CodeChunkWithEmbedding, DEFAULT_STORAGE_CONFIG } from './storage/index.js';
38
+ export { AngularAnalyzer } from './analyzers/angular/index.js';
39
+ export { GenericAnalyzer } from './analyzers/generic/index.js';
40
+ export { isCodeFile, isBinaryFile, detectLanguage, isTestFile, isDocumentationFile, getSupportedExtensions } from './utils/language-detection.js';
41
+ export { createChunksFromCode, calculateComplexity, mergeSmallChunks, type ChunkingOptions } from './utils/chunking.js';
42
+ export type { FrameworkAnalyzer, AnalysisResult, CodeComponent, ImportStatement, ExportStatement, Dependency, DependencyCategory, ArchitecturalLayer, CodeChunk, ChunkMetadata, CodebaseMetadata, FrameworkInfo, LanguageInfo, ArchitectureInfo, ModuleInfo, ProjectStructure, PackageInfo, CodebaseStatistics, StyleGuide, StyleRule, CodeExample, DocumentationFile, DocumentationSection, SearchQuery, SearchFilters, SearchResult, TextHighlight, IndexingProgress, IndexingPhase, IndexingError, IndexingStats, AnalyzerConfig, CodebaseConfig, Decorator, Property, Method, Parameter } from './types/index.js';
43
43
  /**
44
44
  * Convenience function to create a fully configured indexer with default analyzers
45
45
  *
@@ -47,12 +47,12 @@ export type { FrameworkAnalyzer, AnalysisResult, CodeComponent, ImportStatement,
47
47
  * @param options - Optional indexer configuration
48
48
  * @returns A configured CodebaseIndexer instance
49
49
  */
50
- export declare function createIndexer(rootPath: string, options?: Partial<Omit<import("./core/indexer.js").IndexerOptions, "rootPath">>): import("./core/indexer.js").CodebaseIndexer;
50
+ export declare function createIndexer(rootPath: string, options?: Partial<Omit<import('./core/indexer.js').IndexerOptions, 'rootPath'>>): import('./core/indexer.js').CodebaseIndexer;
51
51
  /**
52
52
  * Convenience function to create a searcher for an indexed codebase
53
53
  *
54
54
  * @param rootPath - Path to the indexed project root
55
55
  * @returns A configured CodebaseSearcher instance
56
56
  */
57
- export declare function createSearcher(rootPath: string): import("./core/search.js").CodebaseSearcher;
57
+ export declare function createSearcher(rootPath: string): import('./core/search.js').CodebaseSearcher;
58
58
  //# sourceMappingURL=lib.d.ts.map
package/dist/lib.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EACL,oBAAoB,EACpB,6BAA6B,EAC7B,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D,OAAO,EACL,UAAU,EACV,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,eAAe,GACrB,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EAEV,iBAAiB,EAGjB,cAAc,EACd,aAAa,EACb,eAAe,EACf,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAGlB,SAAS,EACT,aAAa,EAGb,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAGlB,UAAU,EACV,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EAGpB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EAGb,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EAGb,cAAc,EACd,cAAc,EAGd,SAAS,EACT,QAAQ,EACR,MAAM,EACN,SAAS,GACV,MAAM,kBAAkB,CAAC;AAE1B;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,CACf,IAAI,CAAC,OAAO,mBAAmB,EAAE,cAAc,EAAE,UAAU,CAAC,CAC7D,GACA,OAAO,mBAAmB,EAAE,eAAe,CAkB7C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,GACf,OAAO,kBAAkB,EAAE,gBAAgB,CAG7C"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAIjF,OAAO,EACL,oBAAoB,EACpB,6BAA6B,EAC7B,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAI/D,OAAO,EACL,UAAU,EACV,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EAEV,iBAAiB,EAGjB,cAAc,EACd,aAAa,EACb,eAAe,EACf,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAGlB,SAAS,EACT,aAAa,EAGb,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAGlB,UAAU,EACV,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EAGpB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EAGb,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EAGb,cAAc,EACd,cAAc,EAGd,SAAS,EACT,QAAQ,EACR,MAAM,EACN,SAAS,EACV,MAAM,kBAAkB,CAAC;AAE1B;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,mBAAmB,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,GAC9E,OAAO,mBAAmB,EAAE,eAAe,CAa7C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,kBAAkB,EAAE,gBAAgB,CAE5F"}
package/dist/lib.js CHANGED
@@ -1,18 +1,18 @@
1
1
  /**
2
- * Library entry point for codebase-context-mcp
2
+ * Library entry point for codebase-context
3
3
  *
4
- * This module exports the public API for programmatic use.
5
- * For the MCP server, import from 'codebase-context-mcp/server' or run the CLI.
4
+ * This exports the core logic for use as a library.
5
+ * For the MCP server, import from 'codebase-context/server' or run the CLI.
6
6
  *
7
7
  * @example
8
8
  * ```typescript
9
9
  * import {
10
- * CodebaseIndexer,
11
- * CodebaseSearcher,
10
+ * ProjectAnalyzer,
11
+ * VectorStorage,
12
12
  * analyzerRegistry,
13
13
  * AngularAnalyzer,
14
14
  * GenericAnalyzer
15
- * } from 'codebase-context-mcp';
15
+ * } from 'codebase-context';
16
16
  *
17
17
  * // Register analyzers
18
18
  * analyzerRegistry.register(new AngularAnalyzer());
@@ -31,19 +31,24 @@
31
31
  * ```
32
32
  */
33
33
  // Core classes
34
- export { CodebaseIndexer } from "./core/indexer.js";
35
- export { CodebaseSearcher } from "./core/search.js";
36
- export { AnalyzerRegistry, analyzerRegistry, } from "./core/analyzer-registry.js";
34
+ export { CodebaseIndexer } from './core/indexer.js';
35
+ import { CodebaseIndexer } from './core/indexer.js';
36
+ export { CodebaseSearcher } from './core/search.js';
37
+ import { CodebaseSearcher } from './core/search.js';
38
+ export { AnalyzerRegistry, analyzerRegistry } from './core/analyzer-registry.js';
39
+ import { analyzerRegistry } from './core/analyzer-registry.js';
37
40
  // Embedding providers
38
- export { getEmbeddingProvider, TransformersEmbeddingProvider, DEFAULT_EMBEDDING_CONFIG, } from "./embeddings/index.js";
41
+ export { getEmbeddingProvider, TransformersEmbeddingProvider, DEFAULT_EMBEDDING_CONFIG } from './embeddings/index.js';
39
42
  // Storage providers
40
- export { getStorageProvider, LanceDBStorageProvider, DEFAULT_STORAGE_CONFIG, } from "./storage/index.js";
43
+ export { getStorageProvider, LanceDBStorageProvider, DEFAULT_STORAGE_CONFIG } from './storage/index.js';
41
44
  // Framework analyzers
42
- export { AngularAnalyzer } from "./analyzers/angular/index.js";
43
- export { GenericAnalyzer } from "./analyzers/generic/index.js";
45
+ export { AngularAnalyzer } from './analyzers/angular/index.js';
46
+ import { AngularAnalyzer } from './analyzers/angular/index.js';
47
+ export { GenericAnalyzer } from './analyzers/generic/index.js';
48
+ import { GenericAnalyzer } from './analyzers/generic/index.js';
44
49
  // Utilities
45
- export { isCodeFile, isBinaryFile, detectLanguage, isTestFile, isDocumentationFile, getSupportedExtensions, } from "./utils/language-detection.js";
46
- export { createChunksFromCode, calculateComplexity, mergeSmallChunks, } from "./utils/chunking.js";
50
+ export { isCodeFile, isBinaryFile, detectLanguage, isTestFile, isDocumentationFile, getSupportedExtensions } from './utils/language-detection.js';
51
+ export { createChunksFromCode, calculateComplexity, mergeSmallChunks } from './utils/chunking.js';
47
52
  /**
48
53
  * Convenience function to create a fully configured indexer with default analyzers
49
54
  *
@@ -52,20 +57,16 @@ export { createChunksFromCode, calculateComplexity, mergeSmallChunks, } from "./
52
57
  * @returns A configured CodebaseIndexer instance
53
58
  */
54
59
  export function createIndexer(rootPath, options) {
55
- const { CodebaseIndexer } = require("./core/indexer.js");
56
- const { AngularAnalyzer } = require("./analyzers/angular/index.js");
57
- const { GenericAnalyzer } = require("./analyzers/generic/index.js");
58
- const { analyzerRegistry } = require("./core/analyzer-registry.js");
59
60
  // Register default analyzers if not already registered
60
- if (!analyzerRegistry.get("angular")) {
61
+ if (!analyzerRegistry.get('angular')) {
61
62
  analyzerRegistry.register(new AngularAnalyzer());
62
63
  }
63
- if (!analyzerRegistry.get("generic")) {
64
+ if (!analyzerRegistry.get('generic')) {
64
65
  analyzerRegistry.register(new GenericAnalyzer());
65
66
  }
66
67
  return new CodebaseIndexer({
67
68
  rootPath,
68
- ...options,
69
+ ...options
69
70
  });
70
71
  }
71
72
  /**
@@ -75,7 +76,6 @@ export function createIndexer(rootPath, options) {
75
76
  * @returns A configured CodebaseSearcher instance
76
77
  */
77
78
  export function createSearcher(rootPath) {
78
- const { CodebaseSearcher } = require("./core/search.js");
79
79
  return new CodebaseSearcher(rootPath);
80
80
  }
81
81
  //# sourceMappingURL=lib.js.map
package/dist/lib.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,eAAe;AACf,OAAO,EAAE,eAAe,EAAuB,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAsB,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AAGrC,sBAAsB;AACtB,OAAO,EACL,oBAAoB,EACpB,6BAA6B,EAG7B,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAE/B,oBAAoB;AACpB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EAItB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAE5B,sBAAsB;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,YAAY;AACZ,OAAO,EACL,UAAU,EACV,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GAEjB,MAAM,qBAAqB,CAAC;AA4D7B;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,QAAgB,EAChB,OAEC;IAED,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACzD,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACpE,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACpE,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAEpE,uDAAuD;IACvD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,IAAI,eAAe,CAAC;QACzB,QAAQ;QACR,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAgB;IAEhB,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzD,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,eAAe;AACf,OAAO,EAAE,eAAe,EAAuB,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAsB,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,sBAAsB;AACtB,OAAO,EACL,oBAAoB,EACpB,6BAA6B,EAG7B,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAE/B,oBAAoB;AACpB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EAItB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAE5B,sBAAsB;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,YAAY;AACZ,OAAO,EACL,UAAU,EACV,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAEjB,MAAM,qBAAqB,CAAC;AA4D7B;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,QAAgB,EAChB,OAA+E;IAE/E,uDAAuD;IACvD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,IAAI,eAAe,CAAC;QACzB,QAAQ;QACR,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { Memory, MemoryCategory, MemoryType } from '../types/index.js';
2
+ export type MemoryFilters = {
3
+ category?: MemoryCategory;
4
+ type?: MemoryType;
5
+ query?: string;
6
+ };
7
+ export declare function normalizeMemory(raw: unknown): Memory | null;
8
+ export declare function normalizeMemories(raw: unknown): Memory[];
9
+ export declare function readMemoriesFile(memoryPath: string): Promise<Memory[]>;
10
+ export declare function writeMemoriesFile(memoryPath: string, memories: Memory[]): Promise<void>;
11
+ export declare function appendMemoryFile(memoryPath: string, memory: Memory): Promise<{
12
+ status: 'added' | 'duplicate';
13
+ memory: Memory;
14
+ }>;
15
+ export declare function filterMemories(memories: Memory[], filters: MemoryFilters): Memory[];
16
+ export declare function sortMemoriesByRecency(memories: Memory[]): Memory[];
17
+ export declare function applyUnfilteredLimit(memories: Memory[], filters: MemoryFilters, limit: number): {
18
+ memories: Memory[];
19
+ truncated: boolean;
20
+ totalCount: number;
21
+ };
22
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/memory/store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAY5E,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAMF,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAmB3D;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,CAQxD;AAED,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAO5E;AAED,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7F;AAED,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,GAAG,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAO5D;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,EAAE,CAkBnF;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAWlE;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,MAAM,GACZ;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAUhE"}
@@ -0,0 +1,97 @@
1
+ import { promises as fs } from 'fs';
2
+ import path from 'path';
3
+ function isRecord(value) {
4
+ return typeof value === 'object' && value !== null;
5
+ }
6
+ export function normalizeMemory(raw) {
7
+ if (!isRecord(raw))
8
+ return null;
9
+ const m = raw;
10
+ const id = typeof m.id === 'string' ? m.id : undefined;
11
+ const type = typeof m.type === 'string' ? m.type : 'decision';
12
+ const category = typeof m.category === 'string' ? m.category : undefined;
13
+ const memory = typeof m.memory === 'string'
14
+ ? m.memory
15
+ : typeof m.decision === 'string'
16
+ ? m.decision
17
+ : undefined;
18
+ const reason = typeof m.reason === 'string' ? m.reason : undefined;
19
+ const date = typeof m.date === 'string' ? m.date : undefined;
20
+ if (!id || !category || !memory || !reason || !date)
21
+ return null;
22
+ return { id, type, category, memory, reason, date };
23
+ }
24
+ export function normalizeMemories(raw) {
25
+ if (!Array.isArray(raw))
26
+ return [];
27
+ const out = [];
28
+ for (const item of raw) {
29
+ const normalized = normalizeMemory(item);
30
+ if (normalized)
31
+ out.push(normalized);
32
+ }
33
+ return out;
34
+ }
35
+ export async function readMemoriesFile(memoryPath) {
36
+ try {
37
+ const content = await fs.readFile(memoryPath, 'utf-8');
38
+ return normalizeMemories(JSON.parse(content));
39
+ }
40
+ catch {
41
+ return [];
42
+ }
43
+ }
44
+ export async function writeMemoriesFile(memoryPath, memories) {
45
+ await fs.mkdir(path.dirname(memoryPath), { recursive: true });
46
+ await fs.writeFile(memoryPath, JSON.stringify(memories, null, 2));
47
+ }
48
+ export async function appendMemoryFile(memoryPath, memory) {
49
+ const existing = await readMemoriesFile(memoryPath);
50
+ const found = existing.find((m) => m.id === memory.id);
51
+ if (found)
52
+ return { status: 'duplicate', memory: found };
53
+ existing.push(memory);
54
+ await writeMemoriesFile(memoryPath, existing);
55
+ return { status: 'added', memory };
56
+ }
57
+ export function filterMemories(memories, filters) {
58
+ const { category, type, query } = filters;
59
+ let filtered = memories;
60
+ if (type)
61
+ filtered = filtered.filter((m) => m.type === type);
62
+ if (category)
63
+ filtered = filtered.filter((m) => m.category === category);
64
+ if (query) {
65
+ const terms = query.toLowerCase().split(/\s+/).filter(Boolean);
66
+ if (terms.length > 0) {
67
+ filtered = filtered.filter((m) => {
68
+ const haystack = `${m.memory} ${m.reason}`.toLowerCase();
69
+ return terms.some((t) => haystack.includes(t));
70
+ });
71
+ }
72
+ }
73
+ return filtered;
74
+ }
75
+ export function sortMemoriesByRecency(memories) {
76
+ const withIndex = memories.map((m, i) => ({ m, i }));
77
+ withIndex.sort((a, b) => {
78
+ const ad = Date.parse(a.m.date);
79
+ const bd = Date.parse(b.m.date);
80
+ const aTime = Number.isFinite(ad) ? ad : 0;
81
+ const bTime = Number.isFinite(bd) ? bd : 0;
82
+ if (aTime !== bTime)
83
+ return bTime - aTime;
84
+ return a.i - b.i;
85
+ });
86
+ return withIndex.map((x) => x.m);
87
+ }
88
+ export function applyUnfilteredLimit(memories, filters, limit) {
89
+ const totalCount = memories.length;
90
+ const hasFilters = Boolean(filters.category || filters.type || (filters.query && filters.query.trim()));
91
+ if (hasFilters || totalCount <= limit) {
92
+ return { memories, truncated: false, totalCount };
93
+ }
94
+ const sorted = sortMemoriesByRecency(memories);
95
+ return { memories: sorted.slice(0, limit), truncated: true, totalCount };
96
+ }
97
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/memory/store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lancedb.d.ts","sourceRoot":"","sources":["../../src/storage/lancedb.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAa,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE7D,qBAAa,sBAAuB,YAAW,qBAAqB;IAClE,QAAQ,CAAC,IAAI,aAAa;IAE1B,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,WAAW,CAAS;IAEtB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgD9C,KAAK,CAAC,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA8CtD,MAAM,CACV,WAAW,EAAE,MAAM,EAAE,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,kBAAkB,EAAE,CAAC;IA8D1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBtB,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAc9B,aAAa,IAAI,OAAO;CAGzB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,qBAAqB,CAAC,CAIhC"}
1
+ {"version":3,"file":"lancedb.d.ts","sourceRoot":"","sources":["../../src/storage/lancedb.ts"],"names":[],"mappings":"AACA;;;GAGG;AAGH,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EAAa,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAG7D,qBAAa,sBAAuB,YAAW,qBAAqB;IAClE,QAAQ,CAAC,IAAI,aAAa;IAE1B,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,WAAW,CAAS;IAEtB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC9C,KAAK,CAAC,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA8CtD,MAAM,CACV,WAAW,EAAE,MAAM,EAAE,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAoE1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBtB,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAa9B,aAAa,IAAI,OAAO;CAGzB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAI9F"}
@@ -1,8 +1,10 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
1
2
  /**
2
3
  * LanceDB Storage Provider
3
4
  * Embedded vector database for storing and searching code embeddings
4
5
  */
5
6
  import { promises as fs } from 'fs';
7
+ import { IndexCorruptedError } from '../errors/index.js';
6
8
  export class LanceDBStorageProvider {
7
9
  name = 'lancedb';
8
10
  db = null;
@@ -14,40 +16,30 @@ export class LanceDBStorageProvider {
14
16
  return;
15
17
  try {
16
18
  this.storagePath = storagePath;
17
- // Ensure directory exists
18
19
  await fs.mkdir(storagePath, { recursive: true });
19
- // Dynamic import to avoid issues at require time
20
20
  const lancedb = await import('@lancedb/lancedb');
21
- // Connect to database
22
21
  this.db = await lancedb.connect(storagePath);
23
- // Check if table exists and has valid schema
22
+ // Check if table exists and validate schema
24
23
  const tableNames = await this.db.tableNames();
25
24
  if (tableNames.includes('code_chunks')) {
26
25
  this.table = await this.db.openTable('code_chunks');
27
- // Validate schema has vector column (required for semantic search)
28
- try {
29
- const schema = await this.table.schema();
30
- const hasVectorColumn = schema.fields.some((f) => f.name === 'vector');
31
- if (!hasVectorColumn) {
32
- console.error('Stale index detected (missing vector column). Rebuilding...');
33
- await this.db.dropTable('code_chunks');
34
- this.table = null;
35
- }
36
- else {
37
- console.error('Opened existing LanceDB table');
38
- }
39
- }
40
- catch (schemaError) {
41
- // If schema check fails, table is likely corrupted - drop and rebuild
42
- console.error('Failed to validate table schema, rebuilding index...');
43
- await this.db.dropTable('code_chunks');
44
- this.table = null;
26
+ const schema = await this.table.schema();
27
+ const hasVectorColumn = schema.fields.some((f) => f.name === 'vector');
28
+ if (!hasVectorColumn) {
29
+ throw new IndexCorruptedError('LanceDB index corrupted: missing vector column');
45
30
  }
31
+ console.error('Opened existing LanceDB table');
32
+ }
33
+ else {
34
+ this.table = null;
46
35
  }
47
36
  this.initialized = true;
48
37
  console.error(`LanceDB initialized at: ${storagePath}`);
49
38
  }
50
39
  catch (error) {
40
+ if (error instanceof IndexCorruptedError) {
41
+ throw error;
42
+ }
51
43
  console.error('Failed to initialize LanceDB:', error);
52
44
  throw error;
53
45
  }
@@ -60,7 +52,7 @@ export class LanceDBStorageProvider {
60
52
  return;
61
53
  try {
62
54
  // Convert chunks to LanceDB format
63
- const records = chunks.map(chunk => ({
55
+ const records = chunks.map((chunk) => ({
64
56
  id: chunk.id,
65
57
  vector: chunk.embedding,
66
58
  content: chunk.content,
@@ -76,7 +68,7 @@ export class LanceDBStorageProvider {
76
68
  imports: JSON.stringify(chunk.imports),
77
69
  exports: JSON.stringify(chunk.exports),
78
70
  tags: JSON.stringify(chunk.tags),
79
- metadata: JSON.stringify(chunk.metadata),
71
+ metadata: JSON.stringify(chunk.metadata)
80
72
  }));
81
73
  // Create or overwrite table
82
74
  if (this.table) {
@@ -86,7 +78,7 @@ export class LanceDBStorageProvider {
86
78
  else {
87
79
  // Create new table
88
80
  this.table = await this.db.createTable('code_chunks', records, {
89
- mode: 'overwrite',
81
+ mode: 'overwrite'
90
82
  });
91
83
  }
92
84
  console.error(`Stored ${chunks.length} chunks in LanceDB`);
@@ -98,7 +90,7 @@ export class LanceDBStorageProvider {
98
90
  }
99
91
  async search(queryVector, limit, filters) {
100
92
  if (!this.initialized || !this.table) {
101
- return [];
93
+ throw new IndexCorruptedError('LanceDB index corrupted: no table available for search');
102
94
  }
103
95
  try {
104
96
  // Build query
@@ -141,14 +133,19 @@ export class LanceDBStorageProvider {
141
133
  imports: JSON.parse(result.imports || '[]'),
142
134
  exports: JSON.parse(result.exports || '[]'),
143
135
  tags: JSON.parse(result.tags || '[]'),
144
- metadata: JSON.parse(result.metadata || '{}'),
136
+ metadata: JSON.parse(result.metadata || '{}')
145
137
  },
146
138
  score: 1 - (result._distance || 0), // Convert distance to similarity
147
- distance: result._distance || 0,
139
+ distance: result._distance || 0
148
140
  }));
149
141
  }
150
142
  catch (error) {
151
- console.error('Failed to search:', error);
143
+ // Only trigger auto-heal for verified corruption patterns
144
+ if (error instanceof Error && error.message.toLowerCase().includes('no vector column')) {
145
+ throw new IndexCorruptedError(`LanceDB index corrupted: ${error.message}`);
146
+ }
147
+ // Transient errors - log and gracefully degrade
148
+ console.error('[LanceDB] Search error:', error instanceof Error ? error.message : error);
152
149
  return [];
153
150
  }
154
151
  }
@@ -174,8 +171,7 @@ export class LanceDBStorageProvider {
174
171
  return 0;
175
172
  }
176
173
  try {
177
- const result = await this.table.countRows();
178
- return result;
174
+ return await this.table.countRows();
179
175
  }
180
176
  catch (error) {
181
177
  console.error('Failed to count rows:', error);