codevault 1.7.3 → 1.7.5
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 +18 -5
- package/dist/chunking/semantic-chunker.d.ts.map +1 -1
- package/dist/chunking/semantic-chunker.js +21 -8
- package/dist/chunking/semantic-chunker.js.map +1 -1
- package/dist/chunking/token-counter.js +3 -3
- package/dist/chunking/token-counter.js.map +1 -1
- package/dist/cli/commands/chat-cmd.js +2 -1
- package/dist/cli/commands/chat-cmd.js.map +1 -1
- package/dist/cli/commands/config-cmd.js +4 -4
- package/dist/cli/commands/config-cmd.js.map +1 -1
- package/dist/cli/commands/index-cmd.d.ts +3 -0
- package/dist/cli/commands/index-cmd.d.ts.map +1 -0
- package/dist/cli/commands/index-cmd.js +118 -0
- package/dist/cli/commands/index-cmd.js.map +1 -0
- package/dist/cli/commands/info-cmd.d.ts +3 -0
- package/dist/cli/commands/info-cmd.d.ts.map +1 -0
- package/dist/cli/commands/info-cmd.js +47 -0
- package/dist/cli/commands/info-cmd.js.map +1 -0
- package/dist/cli/commands/interactive-config.js +1 -1
- package/dist/cli/commands/interactive-config.js.map +1 -1
- package/dist/cli/commands/mcp-cmd.d.ts +3 -0
- package/dist/cli/commands/mcp-cmd.d.ts.map +1 -0
- package/dist/cli/commands/mcp-cmd.js +33 -0
- package/dist/cli/commands/mcp-cmd.js.map +1 -0
- package/dist/cli/commands/search-cmd.d.ts +3 -0
- package/dist/cli/commands/search-cmd.d.ts.map +1 -0
- package/dist/cli/commands/search-cmd.js +52 -0
- package/dist/cli/commands/search-cmd.js.map +1 -0
- package/dist/cli/commands/search-with-code-cmd.d.ts +3 -0
- package/dist/cli/commands/search-with-code-cmd.d.ts.map +1 -0
- package/dist/cli/commands/search-with-code-cmd.js +74 -0
- package/dist/cli/commands/search-with-code-cmd.js.map +1 -0
- package/dist/cli/commands/update-cmd.d.ts +3 -0
- package/dist/cli/commands/update-cmd.d.ts.map +1 -0
- package/dist/cli/commands/update-cmd.js +24 -0
- package/dist/cli/commands/update-cmd.js.map +1 -0
- package/dist/cli/commands/watch-cmd.d.ts +3 -0
- package/dist/cli/commands/watch-cmd.d.ts.map +1 -0
- package/dist/cli/commands/watch-cmd.js +48 -0
- package/dist/cli/commands/watch-cmd.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +47 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +4 -398
- package/dist/cli.js.map +1 -1
- package/dist/codemap/io.d.ts +1 -0
- package/dist/codemap/io.d.ts.map +1 -1
- package/dist/codemap/io.js.map +1 -1
- package/dist/config/constants.d.ts +11 -0
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/constants.js +9 -0
- package/dist/config/constants.js.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +9 -2
- package/dist/config/loader.js.map +1 -1
- package/dist/core/IndexerEngine.d.ts +9 -17
- package/dist/core/IndexerEngine.d.ts.map +1 -1
- package/dist/core/IndexerEngine.js +72 -347
- package/dist/core/IndexerEngine.js.map +1 -1
- package/dist/core/SearchService.d.ts +13 -13
- package/dist/core/SearchService.d.ts.map +1 -1
- package/dist/core/SearchService.js +133 -325
- package/dist/core/SearchService.js.map +1 -1
- package/dist/core/batch-indexer.d.ts +5 -0
- package/dist/core/batch-indexer.d.ts.map +1 -1
- package/dist/core/batch-indexer.js +22 -23
- package/dist/core/batch-indexer.js.map +1 -1
- package/dist/core/indexer.d.ts +13 -0
- package/dist/core/indexer.d.ts.map +1 -1
- package/dist/core/indexer.js +13 -0
- package/dist/core/indexer.js.map +1 -1
- package/dist/core/indexing/FileProcessor.d.ts +42 -0
- package/dist/core/indexing/FileProcessor.d.ts.map +1 -0
- package/dist/core/indexing/FileProcessor.js +245 -0
- package/dist/core/indexing/FileProcessor.js.map +1 -0
- package/dist/core/indexing/IndexContext.d.ts +42 -0
- package/dist/core/indexing/IndexContext.d.ts.map +1 -0
- package/dist/core/indexing/IndexContext.js +133 -0
- package/dist/core/indexing/IndexContext.js.map +1 -0
- package/dist/core/indexing/IndexFinalizationStage.d.ts +39 -0
- package/dist/core/indexing/IndexFinalizationStage.d.ts.map +1 -0
- package/dist/core/indexing/IndexFinalizationStage.js +114 -0
- package/dist/core/indexing/IndexFinalizationStage.js.map +1 -0
- package/dist/core/indexing/IndexState.d.ts +50 -0
- package/dist/core/indexing/IndexState.d.ts.map +1 -0
- package/dist/core/indexing/IndexState.js +66 -0
- package/dist/core/indexing/IndexState.js.map +1 -0
- package/dist/core/indexing/chunk-pipeline.d.ts +39 -3
- package/dist/core/indexing/chunk-pipeline.d.ts.map +1 -1
- package/dist/core/indexing/chunk-pipeline.js +59 -24
- package/dist/core/indexing/chunk-pipeline.js.map +1 -1
- package/dist/core/metadata.js +2 -2
- package/dist/core/metadata.js.map +1 -1
- package/dist/core/search/CandidateRetriever.d.ts +51 -0
- package/dist/core/search/CandidateRetriever.d.ts.map +1 -0
- package/dist/core/search/CandidateRetriever.js +119 -0
- package/dist/core/search/CandidateRetriever.js.map +1 -0
- package/dist/core/search/HybridFusion.d.ts +89 -0
- package/dist/core/search/HybridFusion.d.ts.map +1 -0
- package/dist/core/search/HybridFusion.js +263 -0
- package/dist/core/search/HybridFusion.js.map +1 -0
- package/dist/core/search/ResultMapper.d.ts +31 -0
- package/dist/core/search/ResultMapper.d.ts.map +1 -0
- package/dist/core/search/ResultMapper.js +131 -0
- package/dist/core/search/ResultMapper.js.map +1 -0
- package/dist/core/search/SearchContextManager.d.ts +69 -0
- package/dist/core/search/SearchContextManager.d.ts.map +1 -0
- package/dist/core/search/SearchContextManager.js +139 -0
- package/dist/core/search/SearchContextManager.js.map +1 -0
- package/dist/core/search.d.ts +31 -0
- package/dist/core/search.d.ts.map +1 -1
- package/dist/core/search.js +33 -0
- package/dist/core/search.js.map +1 -1
- package/dist/core/types.d.ts +13 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/database/db.d.ts +36 -18
- package/dist/database/db.d.ts.map +1 -1
- package/dist/database/db.js +151 -24
- package/dist/database/db.js.map +1 -1
- package/dist/indexer/ChangeQueue.d.ts +67 -0
- package/dist/indexer/ChangeQueue.d.ts.map +1 -0
- package/dist/indexer/ChangeQueue.js +182 -0
- package/dist/indexer/ChangeQueue.js.map +1 -0
- package/dist/indexer/ProviderManager.d.ts +33 -0
- package/dist/indexer/ProviderManager.d.ts.map +1 -0
- package/dist/indexer/ProviderManager.js +75 -0
- package/dist/indexer/ProviderManager.js.map +1 -0
- package/dist/indexer/WatchService.d.ts +68 -0
- package/dist/indexer/WatchService.d.ts.map +1 -0
- package/dist/indexer/WatchService.js +155 -0
- package/dist/indexer/WatchService.js.map +1 -0
- package/dist/indexer/merkle.d.ts +5 -0
- package/dist/indexer/merkle.d.ts.map +1 -1
- package/dist/indexer/merkle.js +37 -12
- package/dist/indexer/merkle.js.map +1 -1
- package/dist/indexer/update.d.ts +14 -2
- package/dist/indexer/update.d.ts.map +1 -1
- package/dist/indexer/update.js +11 -0
- package/dist/indexer/update.js.map +1 -1
- package/dist/indexer/watch.d.ts +15 -20
- package/dist/indexer/watch.d.ts.map +1 -1
- package/dist/indexer/watch.js +14 -223
- package/dist/indexer/watch.js.map +1 -1
- package/dist/mcp/handlers/project.d.ts.map +1 -1
- package/dist/mcp/handlers/project.js +17 -1
- package/dist/mcp/handlers/project.js.map +1 -1
- package/dist/mcp-server.d.ts +6 -0
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +67 -8
- package/dist/mcp-server.js.map +1 -1
- package/dist/providers/base.d.ts +3 -0
- package/dist/providers/base.d.ts.map +1 -1
- package/dist/providers/base.js.map +1 -1
- package/dist/providers/index.d.ts +7 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +15 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/mock.d.ts +16 -0
- package/dist/providers/mock.d.ts.map +1 -0
- package/dist/providers/mock.js +46 -0
- package/dist/providers/mock.js.map +1 -0
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +4 -8
- package/dist/providers/openai.js.map +1 -1
- package/dist/ranking/api-reranker.d.ts.map +1 -1
- package/dist/ranking/api-reranker.js +9 -5
- package/dist/ranking/api-reranker.js.map +1 -1
- package/dist/search/bm25.d.ts.map +1 -1
- package/dist/search/bm25.js +21 -1
- package/dist/search/bm25.js.map +1 -1
- package/dist/search/scope.d.ts +1 -1
- package/dist/search/scope.d.ts.map +1 -1
- package/dist/search/scope.js +3 -3
- package/dist/search/scope.js.map +1 -1
- package/dist/storage/encrypted-chunks.d.ts +7 -1
- package/dist/storage/encrypted-chunks.d.ts.map +1 -1
- package/dist/storage/encrypted-chunks.js +187 -75
- package/dist/storage/encrypted-chunks.js.map +1 -1
- package/dist/symbols/extract.d.ts +2 -1
- package/dist/symbols/extract.d.ts.map +1 -1
- package/dist/symbols/extract.js +3 -3
- package/dist/symbols/extract.js.map +1 -1
- package/dist/symbols/graph.d.ts.map +1 -1
- package/dist/symbols/graph.js.map +1 -1
- package/dist/synthesis/conversational-synthesizer.d.ts.map +1 -1
- package/dist/synthesis/conversational-synthesizer.js +68 -76
- package/dist/synthesis/conversational-synthesizer.js.map +1 -1
- package/dist/synthesis/prompt-builder.d.ts +2 -0
- package/dist/synthesis/prompt-builder.d.ts.map +1 -1
- package/dist/synthesis/prompt-builder.js +81 -81
- package/dist/synthesis/prompt-builder.js.map +1 -1
- package/dist/synthesis/synthesizer.d.ts +11 -0
- package/dist/synthesis/synthesizer.d.ts.map +1 -1
- package/dist/synthesis/synthesizer.js +30 -2
- package/dist/synthesis/synthesizer.js.map +1 -1
- package/dist/tests/helpers/test-repo.d.ts +7 -0
- package/dist/tests/helpers/test-repo.d.ts.map +1 -0
- package/dist/tests/helpers/test-repo.js +21 -0
- package/dist/tests/helpers/test-repo.js.map +1 -0
- package/dist/tests/integration/index-search.integration.test.d.ts +2 -0
- package/dist/tests/integration/index-search.integration.test.d.ts.map +1 -0
- package/dist/tests/integration/index-search.integration.test.js +163 -0
- package/dist/tests/integration/index-search.integration.test.js.map +1 -0
- package/dist/tests/simple-lru.test.js +22 -10
- package/dist/tests/simple-lru.test.js.map +1 -1
- package/dist/utils/cli-ui.d.ts.map +1 -1
- package/dist/utils/cli-ui.js +10 -4
- package/dist/utils/cli-ui.js.map +1 -1
- package/dist/utils/logger.d.ts +6 -3
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/path-helpers.d.ts.map +1 -1
- package/dist/utils/path-helpers.js +17 -1
- package/dist/utils/path-helpers.js.map +1 -1
- package/dist/utils/rate-limiter.js +2 -2
- package/dist/utils/rate-limiter.js.map +1 -1
- package/dist/utils/scan-patterns.d.ts.map +1 -1
- package/dist/utils/scan-patterns.js +1 -2
- package/dist/utils/scan-patterns.js.map +1 -1
- package/dist/utils/simple-lru.d.ts +21 -2
- package/dist/utils/simple-lru.d.ts.map +1 -1
- package/dist/utils/simple-lru.js +126 -19
- package/dist/utils/simple-lru.js.map +1 -1
- package/package.json +13 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResultMapper.js","sourceRoot":"","sources":["../../../src/core/search/ResultMapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { type EmbeddingProvider } from '../../providers/index.js';
|
|
2
|
+
import { Database, type DatabaseChunk } from '../../database/db.js';
|
|
3
|
+
import { type Codemap } from '../../codemap/io.js';
|
|
4
|
+
import { resolveProviderContext } from '../../config/resolver.js';
|
|
5
|
+
/**
|
|
6
|
+
* SearchContextManager handles lazy initialization and caching of:
|
|
7
|
+
* - Database connections
|
|
8
|
+
* - Codemap data
|
|
9
|
+
* - Embedding providers
|
|
10
|
+
* - Provider context
|
|
11
|
+
*
|
|
12
|
+
* This enables reuse across multiple queries instead of repeatedly
|
|
13
|
+
* instantiating resources on every search.
|
|
14
|
+
*/
|
|
15
|
+
export interface SearchContext {
|
|
16
|
+
db: Database;
|
|
17
|
+
codemap: Codemap;
|
|
18
|
+
provider: EmbeddingProvider;
|
|
19
|
+
providerContext: ReturnType<typeof resolveProviderContext>;
|
|
20
|
+
dbPath: string;
|
|
21
|
+
chunkDir: string;
|
|
22
|
+
codemapPath: string;
|
|
23
|
+
codemapMtime: number;
|
|
24
|
+
chunksCache: {
|
|
25
|
+
chunks: DatabaseChunk[];
|
|
26
|
+
dbMtime: number;
|
|
27
|
+
} | null;
|
|
28
|
+
}
|
|
29
|
+
export declare class SearchContextManager {
|
|
30
|
+
private basePath;
|
|
31
|
+
private context;
|
|
32
|
+
private lastProvider;
|
|
33
|
+
constructor(basePath: string);
|
|
34
|
+
/**
|
|
35
|
+
* Get or create the search context
|
|
36
|
+
* Caches and reuses context unless provider changes
|
|
37
|
+
*/
|
|
38
|
+
getContext(providerName?: string): Promise<SearchContext>;
|
|
39
|
+
/**
|
|
40
|
+
* Warm search state by initializing provider, codemap, and chunk cache
|
|
41
|
+
*/
|
|
42
|
+
warmup(providerName?: string): Promise<SearchContext>;
|
|
43
|
+
/**
|
|
44
|
+
* Get chunks for the current provider/dimensions with caching
|
|
45
|
+
*/
|
|
46
|
+
getChunks(context: SearchContext): Promise<DatabaseChunk[]>;
|
|
47
|
+
/**
|
|
48
|
+
* Get cached context without initialization
|
|
49
|
+
* Returns null if not initialized
|
|
50
|
+
*/
|
|
51
|
+
getCached(): SearchContext | null;
|
|
52
|
+
/**
|
|
53
|
+
* Refresh codemap if underlying file changed
|
|
54
|
+
*/
|
|
55
|
+
private refreshCodemapIfNeeded;
|
|
56
|
+
/**
|
|
57
|
+
* Safely fetch file mtime, returning 0 if missing
|
|
58
|
+
*/
|
|
59
|
+
private getFileMtime;
|
|
60
|
+
/**
|
|
61
|
+
* Clean up resources
|
|
62
|
+
*/
|
|
63
|
+
cleanup(): void;
|
|
64
|
+
/**
|
|
65
|
+
* Check if context is initialized
|
|
66
|
+
*/
|
|
67
|
+
isInitialized(): boolean;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=SearchContextManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchContextManager.d.ts","sourceRoot":"","sources":["../../../src/core/search/SearchContextManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAoB,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,QAAQ,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,eAAe,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE;QAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAClE;AAED,qBAAa,oBAAoB;IAInB,OAAO,CAAC,QAAQ;IAH5B,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,YAAY,CAAuB;gBAEvB,QAAQ,EAAE,MAAM;IAEpC;;;OAGG;IACG,UAAU,CAAC,YAAY,GAAE,MAAe,GAAG,OAAO,CAAC,aAAa,CAAC;IAqDvE;;OAEG;IACG,MAAM,CAAC,YAAY,GAAE,MAAe,GAAG,OAAO,CAAC,aAAa,CAAC;IAOnE;;OAEG;IACG,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAoBjE;;;OAGG;IACH,SAAS,IAAI,aAAa,GAAG,IAAI;IAIjC;;OAEG;YACW,sBAAsB;IAQpC;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;IACH,OAAO,IAAI,IAAI;IAef;;OAEG;IACH,aAAa,IAAI,OAAO;CAGzB"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { createEmbeddingProvider } from '../../providers/index.js';
|
|
4
|
+
import { Database } from '../../database/db.js';
|
|
5
|
+
import { readCodemapAsync } from '../../codemap/io.js';
|
|
6
|
+
import { resolveProviderContext } from '../../config/resolver.js';
|
|
7
|
+
export class SearchContextManager {
|
|
8
|
+
basePath;
|
|
9
|
+
context = null;
|
|
10
|
+
lastProvider = null;
|
|
11
|
+
constructor(basePath) {
|
|
12
|
+
this.basePath = basePath;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Get or create the search context
|
|
16
|
+
* Caches and reuses context unless provider changes
|
|
17
|
+
*/
|
|
18
|
+
async getContext(providerName = 'auto') {
|
|
19
|
+
// If provider changed, invalidate cached context
|
|
20
|
+
if (this.context && this.lastProvider !== providerName) {
|
|
21
|
+
this.cleanup();
|
|
22
|
+
}
|
|
23
|
+
// Return cached context if available
|
|
24
|
+
if (this.context) {
|
|
25
|
+
await this.refreshCodemapIfNeeded(this.context);
|
|
26
|
+
return this.context;
|
|
27
|
+
}
|
|
28
|
+
// Initialize new context
|
|
29
|
+
const dbPath = path.join(this.basePath, '.codevault/codevault.db');
|
|
30
|
+
const chunkDir = path.join(this.basePath, '.codevault/chunks');
|
|
31
|
+
const codemapPath = path.join(this.basePath, 'codevault.codemap.json');
|
|
32
|
+
const codemapMtime = this.getFileMtime(codemapPath);
|
|
33
|
+
// Validate database exists
|
|
34
|
+
if (!fs.existsSync(dbPath)) {
|
|
35
|
+
throw new Error(`Database not found at ${dbPath}`);
|
|
36
|
+
}
|
|
37
|
+
// Initialize provider
|
|
38
|
+
const providerContext = resolveProviderContext(this.basePath);
|
|
39
|
+
const provider = createEmbeddingProvider(providerName, providerContext.embedding);
|
|
40
|
+
if (provider.init) {
|
|
41
|
+
await provider.init();
|
|
42
|
+
}
|
|
43
|
+
// Open database
|
|
44
|
+
const db = new Database(dbPath);
|
|
45
|
+
// Load codemap
|
|
46
|
+
const codemap = await readCodemapAsync(codemapPath);
|
|
47
|
+
this.context = {
|
|
48
|
+
db,
|
|
49
|
+
codemap,
|
|
50
|
+
provider,
|
|
51
|
+
providerContext,
|
|
52
|
+
dbPath,
|
|
53
|
+
chunkDir,
|
|
54
|
+
codemapPath,
|
|
55
|
+
codemapMtime,
|
|
56
|
+
chunksCache: null
|
|
57
|
+
};
|
|
58
|
+
this.lastProvider = providerName;
|
|
59
|
+
return this.context;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Warm search state by initializing provider, codemap, and chunk cache
|
|
63
|
+
*/
|
|
64
|
+
async warmup(providerName = 'auto') {
|
|
65
|
+
const context = await this.getContext(providerName);
|
|
66
|
+
await this.refreshCodemapIfNeeded(context);
|
|
67
|
+
await this.getChunks(context);
|
|
68
|
+
return context;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get chunks for the current provider/dimensions with caching
|
|
72
|
+
*/
|
|
73
|
+
async getChunks(context) {
|
|
74
|
+
const dbMtime = this.getFileMtime(context.dbPath);
|
|
75
|
+
const hasCachedChunks = Boolean(context.chunksCache);
|
|
76
|
+
const cacheFresh = hasCachedChunks &&
|
|
77
|
+
(dbMtime === 0 || (context.chunksCache?.dbMtime ?? 0) === dbMtime);
|
|
78
|
+
if (hasCachedChunks && cacheFresh && context.chunksCache) {
|
|
79
|
+
return context.chunksCache.chunks;
|
|
80
|
+
}
|
|
81
|
+
const chunks = await context.db.getChunks(context.provider.getName(), context.provider.getDimensions());
|
|
82
|
+
context.chunksCache = { chunks, dbMtime };
|
|
83
|
+
return chunks;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Get cached context without initialization
|
|
87
|
+
* Returns null if not initialized
|
|
88
|
+
*/
|
|
89
|
+
getCached() {
|
|
90
|
+
return this.context;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Refresh codemap if underlying file changed
|
|
94
|
+
*/
|
|
95
|
+
async refreshCodemapIfNeeded(context) {
|
|
96
|
+
const currentMtime = this.getFileMtime(context.codemapPath);
|
|
97
|
+
if (currentMtime > 0 && currentMtime > context.codemapMtime) {
|
|
98
|
+
context.codemap = await readCodemapAsync(context.codemapPath);
|
|
99
|
+
context.codemapMtime = currentMtime;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Safely fetch file mtime, returning 0 if missing
|
|
104
|
+
*/
|
|
105
|
+
getFileMtime(filePath) {
|
|
106
|
+
try {
|
|
107
|
+
const stats = fs.statSync(filePath);
|
|
108
|
+
return stats.mtimeMs;
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
return 0;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Clean up resources
|
|
116
|
+
*/
|
|
117
|
+
cleanup() {
|
|
118
|
+
if (this.context?.db) {
|
|
119
|
+
try {
|
|
120
|
+
this.context.db.close();
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
// Ignore close errors
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (this.context) {
|
|
127
|
+
this.context.chunksCache = null;
|
|
128
|
+
}
|
|
129
|
+
this.context = null;
|
|
130
|
+
this.lastProvider = null;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Check if context is initialized
|
|
134
|
+
*/
|
|
135
|
+
isInitialized() {
|
|
136
|
+
return this.context !== null;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=SearchContextManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchContextManager.js","sourceRoot":"","sources":["../../../src/core/search/SearchContextManager.ts"],"names":[],"mappings":"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"}
|
package/dist/core/search.d.ts
CHANGED
|
@@ -1,7 +1,38 @@
|
|
|
1
1
|
import type { ScopeFilters } from '../types/search.js';
|
|
2
2
|
import type { SearchCodeResult, GetChunkResult } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Execute a hybrid search against the indexed workspace.
|
|
5
|
+
*
|
|
6
|
+
* @param query - Natural language or keyword query
|
|
7
|
+
* @param limit - Maximum number of results to return (defaults to config)
|
|
8
|
+
* @param provider - Embedding provider name ('auto' by default)
|
|
9
|
+
* @param workingPath - Workspace root containing .codevault artifacts
|
|
10
|
+
* @param scopeOptions - Optional filters (paths, tags, language, reranker, etc.)
|
|
11
|
+
*/
|
|
3
12
|
export declare function searchCode(query: string, limit?: number, provider?: string, workingPath?: string, scopeOptions?: ScopeFilters): Promise<SearchCodeResult>;
|
|
13
|
+
/**
|
|
14
|
+
* Return a lightweight overview of the index (no query required).
|
|
15
|
+
*
|
|
16
|
+
* @param limit - Number of representative chunks to return
|
|
17
|
+
* @param workingPath - Workspace root containing .codevault artifacts
|
|
18
|
+
*/
|
|
4
19
|
export declare function getOverview(limit?: number, workingPath?: string): Promise<SearchCodeResult>;
|
|
20
|
+
/**
|
|
21
|
+
* Fetch a chunk's code contents by SHA.
|
|
22
|
+
*
|
|
23
|
+
* @param sha - Chunk SHA to retrieve
|
|
24
|
+
* @param workingPath - Workspace root containing .codevault artifacts
|
|
25
|
+
*/
|
|
5
26
|
export declare function getChunk(sha: string, workingPath?: string): Promise<GetChunkResult>;
|
|
27
|
+
/**
|
|
28
|
+
* Preload provider, codemap, and caches for faster subsequent searches.
|
|
29
|
+
*
|
|
30
|
+
* @param workingPath - Workspace root containing .codevault artifacts
|
|
31
|
+
* @param provider - Embedding provider name ('auto' by default)
|
|
32
|
+
*/
|
|
33
|
+
export declare function warmupSearch(workingPath?: string, provider?: string): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Clear in-memory search caches and close any retained resources.
|
|
36
|
+
*/
|
|
6
37
|
export declare function clearSearchCaches(): void;
|
|
7
38
|
//# sourceMappingURL=search.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/core/search.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAKnE,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAE3B;AAED,wBAAsB,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAEjG;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAEzF;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/core/search.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAKnE;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAE3B;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAEjG;AAED;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAEzF;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
|
package/dist/core/search.js
CHANGED
|
@@ -1,15 +1,48 @@
|
|
|
1
1
|
import { SearchService } from './SearchService.js';
|
|
2
2
|
// Singleton instance to maintain cache state
|
|
3
3
|
const searchService = new SearchService();
|
|
4
|
+
/**
|
|
5
|
+
* Execute a hybrid search against the indexed workspace.
|
|
6
|
+
*
|
|
7
|
+
* @param query - Natural language or keyword query
|
|
8
|
+
* @param limit - Maximum number of results to return (defaults to config)
|
|
9
|
+
* @param provider - Embedding provider name ('auto' by default)
|
|
10
|
+
* @param workingPath - Workspace root containing .codevault artifacts
|
|
11
|
+
* @param scopeOptions - Optional filters (paths, tags, language, reranker, etc.)
|
|
12
|
+
*/
|
|
4
13
|
export async function searchCode(query, limit, provider, workingPath, scopeOptions) {
|
|
5
14
|
return await searchService.search(query, limit, provider, workingPath, scopeOptions);
|
|
6
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Return a lightweight overview of the index (no query required).
|
|
18
|
+
*
|
|
19
|
+
* @param limit - Number of representative chunks to return
|
|
20
|
+
* @param workingPath - Workspace root containing .codevault artifacts
|
|
21
|
+
*/
|
|
7
22
|
export async function getOverview(limit, workingPath) {
|
|
8
23
|
return await searchService.getOverview(limit, workingPath);
|
|
9
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Fetch a chunk's code contents by SHA.
|
|
27
|
+
*
|
|
28
|
+
* @param sha - Chunk SHA to retrieve
|
|
29
|
+
* @param workingPath - Workspace root containing .codevault artifacts
|
|
30
|
+
*/
|
|
10
31
|
export async function getChunk(sha, workingPath) {
|
|
11
32
|
return await searchService.getChunk(sha, workingPath);
|
|
12
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Preload provider, codemap, and caches for faster subsequent searches.
|
|
36
|
+
*
|
|
37
|
+
* @param workingPath - Workspace root containing .codevault artifacts
|
|
38
|
+
* @param provider - Embedding provider name ('auto' by default)
|
|
39
|
+
*/
|
|
40
|
+
export async function warmupSearch(workingPath, provider) {
|
|
41
|
+
await searchService.warmup(workingPath, provider);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Clear in-memory search caches and close any retained resources.
|
|
45
|
+
*/
|
|
13
46
|
export function clearSearchCaches() {
|
|
14
47
|
searchService.clearCaches();
|
|
15
48
|
}
|
package/dist/core/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/core/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,6CAA6C;AAC7C,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAAa,EACb,KAAc,EACd,QAAiB,EACjB,WAAoB,EACpB,YAA2B;IAE3B,OAAO,MAAM,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAc,EAAE,WAAoB;IACpE,OAAO,MAAM,aAAa,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,WAAoB;IAC9D,OAAO,MAAM,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,aAAa,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC"}
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/core/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,6CAA6C;AAC7C,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;AAE1C;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAAa,EACb,KAAc,EACd,QAAiB,EACjB,WAAoB,EACpB,YAA2B;IAE3B,OAAO,MAAM,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AACvF,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAc,EAAE,WAAoB;IACpE,OAAO,MAAM,aAAa,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,WAAoB;IAC9D,OAAO,MAAM,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,WAAoB,EAAE,QAAiB;IACxE,MAAM,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,aAAa,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export interface IndexProjectOptions {
|
|
|
7
7
|
deletedFiles?: string[];
|
|
8
8
|
embeddingProviderOverride?: EmbeddingProvider | null;
|
|
9
9
|
encryptMode?: string;
|
|
10
|
+
concurrency?: number;
|
|
10
11
|
}
|
|
11
12
|
export interface IndexProjectResult {
|
|
12
13
|
success: boolean;
|
|
@@ -91,6 +92,18 @@ export interface SearchCodeResult {
|
|
|
91
92
|
enabled: boolean;
|
|
92
93
|
boosted: boolean;
|
|
93
94
|
};
|
|
95
|
+
chunkLoadingFailures?: {
|
|
96
|
+
totalAttempted: number;
|
|
97
|
+
failed: number;
|
|
98
|
+
reasons: {
|
|
99
|
+
encryption_key_required?: number;
|
|
100
|
+
encryption_auth_failed?: number;
|
|
101
|
+
chunk_decompression_failed?: number;
|
|
102
|
+
chunk_read_failed?: number;
|
|
103
|
+
file_not_found?: number;
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
warnings?: string[];
|
|
94
107
|
results: SearchResult[];
|
|
95
108
|
error?: string;
|
|
96
109
|
message?: string;
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
package/dist/database/db.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export declare function decodeEmbedding(buffer: Buffer, dimensions?: number): Float32Array;
|
|
1
2
|
export interface DatabaseChunk {
|
|
2
3
|
id: string;
|
|
3
4
|
file_path: string;
|
|
@@ -17,34 +18,47 @@ export interface DatabaseChunk {
|
|
|
17
18
|
created_at?: string;
|
|
18
19
|
updated_at?: string;
|
|
19
20
|
}
|
|
21
|
+
export interface InsertChunkParams {
|
|
22
|
+
id: string;
|
|
23
|
+
file_path: string;
|
|
24
|
+
symbol: string;
|
|
25
|
+
sha: string;
|
|
26
|
+
lang: string;
|
|
27
|
+
chunk_type: string;
|
|
28
|
+
embedding: ArrayLike<number>;
|
|
29
|
+
embedding_provider: string;
|
|
30
|
+
embedding_dimensions: number;
|
|
31
|
+
codevault_tags: string[];
|
|
32
|
+
codevault_intent: string | null;
|
|
33
|
+
codevault_description: string | null;
|
|
34
|
+
doc_comments: string | null;
|
|
35
|
+
variables_used: string[];
|
|
36
|
+
context_info: Record<string, unknown>;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Thin wrapper around better-sqlite3 with prepared statements tuned for CodeVault.
|
|
40
|
+
*
|
|
41
|
+
* Provides chunk CRUD, intention tracking, query pattern stats, and ensures schema
|
|
42
|
+
* creation/migrations. Call `close()` when finished to avoid leaking file handles.
|
|
43
|
+
*/
|
|
20
44
|
export declare class CodeVaultDatabase {
|
|
21
45
|
private db;
|
|
22
46
|
private insertChunkStmt;
|
|
23
47
|
private getChunksStmt;
|
|
24
48
|
private deleteChunksStmt;
|
|
49
|
+
private insertManyStmt;
|
|
25
50
|
constructor(dbPath: string);
|
|
26
51
|
/**
|
|
27
52
|
* Ensure database tables exist and prepare statements
|
|
28
53
|
*/
|
|
29
54
|
private ensureTablesExist;
|
|
30
55
|
initialize(dimensions: number): Promise<void>;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
chunk_type: string;
|
|
38
|
-
embedding: number[];
|
|
39
|
-
embedding_provider: string;
|
|
40
|
-
embedding_dimensions: number;
|
|
41
|
-
codevault_tags: string[];
|
|
42
|
-
codevault_intent: string | null;
|
|
43
|
-
codevault_description: string | null;
|
|
44
|
-
doc_comments: string | null;
|
|
45
|
-
variables_used: string[];
|
|
46
|
-
context_info: Record<string, unknown>;
|
|
47
|
-
}): void;
|
|
56
|
+
/**
|
|
57
|
+
* Migrate legacy JSON embeddings to binary Float32 buffers
|
|
58
|
+
*/
|
|
59
|
+
private migrateLegacyEmbeddings;
|
|
60
|
+
insertChunk(params: InsertChunkParams): void;
|
|
61
|
+
insertChunks(chunks: InsertChunkParams[]): void;
|
|
48
62
|
private buildDeleteStatement;
|
|
49
63
|
deleteChunks(chunkIds: string[]): Promise<void>;
|
|
50
64
|
getChunks(providerName: string, dimensions: number): Promise<DatabaseChunk[]>;
|
|
@@ -81,7 +95,11 @@ export declare class CodeVaultDatabase {
|
|
|
81
95
|
* Note: better-sqlite3 transactions MUST be synchronous
|
|
82
96
|
* If you need async operations, use beginTransaction/commit/rollback manually
|
|
83
97
|
*/
|
|
84
|
-
|
|
98
|
+
/**
|
|
99
|
+
* Execute a synchronous function within a database transaction.
|
|
100
|
+
* better-sqlite3 transactions must be synchronous; do async work before/after.
|
|
101
|
+
*/
|
|
102
|
+
transaction<T>(fn: () => T): T;
|
|
85
103
|
/**
|
|
86
104
|
* Close the database connection
|
|
87
105
|
* IMPORTANT: Always call this when done to avoid resource leaks
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/database/db.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/database/db.ts"],"names":[],"mappings":"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"}
|