codevault 1.8.3 → 1.8.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 +33 -5
- package/dist/chunking/file-grouper.d.ts +1 -1
- package/dist/chunking/file-grouper.d.ts.map +1 -1
- package/dist/chunking/file-grouper.js +3 -3
- package/dist/chunking/file-grouper.js.map +1 -1
- package/dist/chunking/semantic-chunker.d.ts +1 -1
- package/dist/chunking/semantic-chunker.d.ts.map +1 -1
- package/dist/chunking/token-counter.d.ts +1 -1
- package/dist/chunking/token-counter.d.ts.map +1 -1
- package/dist/chunking/token-counter.js +16 -10
- package/dist/chunking/token-counter.js.map +1 -1
- package/dist/cli/commands/ask-cmd.js +15 -15
- package/dist/cli/commands/ask-cmd.js.map +1 -1
- package/dist/cli/commands/chat-cmd.d.ts.map +1 -1
- package/dist/cli/commands/chat-cmd.js +40 -40
- package/dist/cli/commands/chat-cmd.js.map +1 -1
- package/dist/cli/commands/config-cmd.d.ts.map +1 -1
- package/dist/cli/commands/config-cmd.js +61 -52
- package/dist/cli/commands/config-cmd.js.map +1 -1
- package/dist/cli/commands/context.d.ts.map +1 -1
- package/dist/cli/commands/context.js +20 -11
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/index-cmd.d.ts.map +1 -1
- package/dist/cli/commands/index-cmd.js +109 -85
- package/dist/cli/commands/index-cmd.js.map +1 -1
- package/dist/cli/commands/info-cmd.d.ts.map +1 -1
- package/dist/cli/commands/info-cmd.js +12 -11
- package/dist/cli/commands/info-cmd.js.map +1 -1
- package/dist/cli/commands/interactive-config.d.ts.map +1 -1
- package/dist/cli/commands/interactive-config.js +60 -20
- package/dist/cli/commands/interactive-config.js.map +1 -1
- package/dist/cli/commands/search-cmd.d.ts.map +1 -1
- package/dist/cli/commands/search-cmd.js +22 -11
- package/dist/cli/commands/search-cmd.js.map +1 -1
- package/dist/cli/commands/search-with-code-cmd.d.ts.map +1 -1
- package/dist/cli/commands/search-with-code-cmd.js +25 -16
- package/dist/cli/commands/search-with-code-cmd.js.map +1 -1
- package/dist/cli/commands/update-cmd.d.ts.map +1 -1
- package/dist/cli/commands/update-cmd.js +16 -7
- package/dist/cli/commands/update-cmd.js.map +1 -1
- package/dist/cli/commands/watch-cmd.d.ts.map +1 -1
- package/dist/cli/commands/watch-cmd.js +21 -11
- package/dist/cli/commands/watch-cmd.js.map +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils.d.ts +56 -0
- package/dist/cli/utils.d.ts.map +1 -0
- package/dist/cli/utils.js +98 -0
- package/dist/cli/utils.js.map +1 -0
- package/dist/cli.js +0 -0
- package/dist/codemap/io.js.map +1 -1
- package/dist/config/constants.d.ts +4 -0
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/constants.js +2 -0
- package/dist/config/constants.js.map +1 -1
- package/dist/config/loader.js.map +1 -1
- package/dist/context/packs.d.ts +2 -2
- package/dist/context/packs.d.ts.map +1 -1
- package/dist/context/packs.js +7 -4
- package/dist/context/packs.js.map +1 -1
- package/dist/core/IndexerEngine.d.ts +2 -0
- package/dist/core/IndexerEngine.d.ts.map +1 -1
- package/dist/core/IndexerEngine.js +34 -26
- package/dist/core/IndexerEngine.js.map +1 -1
- package/dist/core/SearchService.d.ts +2 -1
- package/dist/core/SearchService.d.ts.map +1 -1
- package/dist/core/SearchService.js +25 -18
- package/dist/core/SearchService.js.map +1 -1
- package/dist/core/batch-indexer.d.ts +4 -3
- package/dist/core/batch-indexer.d.ts.map +1 -1
- package/dist/core/batch-indexer.js +32 -35
- package/dist/core/batch-indexer.js.map +1 -1
- package/dist/core/indexing/FileProcessor.d.ts +1 -0
- package/dist/core/indexing/FileProcessor.d.ts.map +1 -1
- package/dist/core/indexing/FileProcessor.js +32 -9
- package/dist/core/indexing/FileProcessor.js.map +1 -1
- package/dist/core/indexing/IndexContext.d.ts +6 -4
- package/dist/core/indexing/IndexContext.d.ts.map +1 -1
- package/dist/core/indexing/IndexContext.js +3 -3
- package/dist/core/indexing/IndexContext.js.map +1 -1
- package/dist/core/indexing/IndexFinalizationStage.d.ts +6 -1
- package/dist/core/indexing/IndexFinalizationStage.d.ts.map +1 -1
- package/dist/core/indexing/IndexFinalizationStage.js +22 -3
- package/dist/core/indexing/IndexFinalizationStage.js.map +1 -1
- package/dist/core/indexing/IndexState.d.ts +3 -8
- package/dist/core/indexing/IndexState.d.ts.map +1 -1
- package/dist/core/indexing/IndexState.js.map +1 -1
- package/dist/core/indexing/PersistManager.d.ts +1 -1
- package/dist/core/indexing/PersistManager.d.ts.map +1 -1
- package/dist/core/indexing/PersistManager.js +17 -17
- package/dist/core/indexing/PersistManager.js.map +1 -1
- package/dist/core/indexing/chunk-pipeline.d.ts +33 -7
- package/dist/core/indexing/chunk-pipeline.d.ts.map +1 -1
- package/dist/core/indexing/chunk-pipeline.js +20 -8
- package/dist/core/indexing/chunk-pipeline.js.map +1 -1
- package/dist/core/metadata.d.ts +1 -1
- package/dist/core/metadata.d.ts.map +1 -1
- package/dist/core/metadata.js +1 -1
- package/dist/core/metadata.js.map +1 -1
- package/dist/core/search/CandidateRetriever.d.ts +1 -1
- package/dist/core/search/CandidateRetriever.d.ts.map +1 -1
- package/dist/core/search/CandidateRetriever.js +7 -5
- package/dist/core/search/CandidateRetriever.js.map +1 -1
- package/dist/core/search/HybridFusion.d.ts +1 -2
- package/dist/core/search/HybridFusion.d.ts.map +1 -1
- package/dist/core/search/HybridFusion.js +5 -17
- package/dist/core/search/HybridFusion.js.map +1 -1
- package/dist/core/search/ResultMapper.d.ts +0 -1
- package/dist/core/search/ResultMapper.d.ts.map +1 -1
- package/dist/core/search/ResultMapper.js +3 -14
- package/dist/core/search/ResultMapper.js.map +1 -1
- package/dist/core/search/SearchContextManager.d.ts +4 -1
- package/dist/core/search/SearchContextManager.d.ts.map +1 -1
- package/dist/core/search/SearchContextManager.js +19 -6
- package/dist/core/search/SearchContextManager.js.map +1 -1
- package/dist/core/search.d.ts.map +1 -1
- package/dist/core/search.js +9 -4
- package/dist/core/search.js.map +1 -1
- package/dist/core/types.d.ts +2 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/database/db.d.ts +14 -14
- package/dist/database/db.d.ts.map +1 -1
- package/dist/database/db.js +14 -14
- package/dist/database/db.js.map +1 -1
- package/dist/indexer/merkle.js +1 -1
- package/dist/indexer/merkle.js.map +1 -1
- package/dist/languages/rules.d.ts +2 -1
- package/dist/languages/rules.d.ts.map +1 -1
- package/dist/languages/rules.js +14 -5
- package/dist/languages/rules.js.map +1 -1
- package/dist/languages/tree-sitter-loader.d.ts +24 -24
- package/dist/languages/tree-sitter-loader.d.ts.map +1 -1
- package/dist/languages/tree-sitter-loader.js +14 -10
- package/dist/languages/tree-sitter-loader.js.map +1 -1
- package/dist/mcp/handlers/context.d.ts +5 -11
- package/dist/mcp/handlers/context.d.ts.map +1 -1
- package/dist/mcp/handlers/context.js.map +1 -1
- package/dist/mcp/handlers/project.d.ts +9 -27
- package/dist/mcp/handlers/project.d.ts.map +1 -1
- package/dist/mcp/handlers/search.d.ts +24 -18
- package/dist/mcp/handlers/search.d.ts.map +1 -1
- package/dist/mcp/handlers/search.js +8 -2
- package/dist/mcp/handlers/search.js.map +1 -1
- package/dist/mcp/handlers/synthesis.d.ts +15 -11
- package/dist/mcp/handlers/synthesis.d.ts.map +1 -1
- package/dist/mcp/handlers/synthesis.js +4 -1
- package/dist/mcp/handlers/synthesis.js.map +1 -1
- package/dist/mcp/schemas.d.ts +2 -2
- package/dist/mcp/tools/ask-codebase.d.ts +10 -28
- package/dist/mcp/tools/ask-codebase.d.ts.map +1 -1
- package/dist/mcp/tools/ask-codebase.js +1 -1
- package/dist/mcp/tools/ask-codebase.js.map +1 -1
- package/dist/mcp/tools/use-context-pack.d.ts +14 -23
- package/dist/mcp/tools/use-context-pack.d.ts.map +1 -1
- package/dist/mcp/tools/use-context-pack.js +4 -3
- package/dist/mcp/tools/use-context-pack.js.map +1 -1
- package/dist/mcp-server.d.ts +1 -0
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +39 -24
- package/dist/mcp-server.js.map +1 -1
- package/dist/providers/base.d.ts +3 -2
- package/dist/providers/base.d.ts.map +1 -1
- package/dist/providers/base.js +3 -10
- package/dist/providers/base.js.map +1 -1
- package/dist/providers/chat-llm.d.ts +3 -2
- package/dist/providers/chat-llm.d.ts.map +1 -1
- package/dist/providers/chat-llm.js +13 -9
- package/dist/providers/chat-llm.js.map +1 -1
- package/dist/providers/mock.d.ts.map +1 -1
- package/dist/providers/mock.js +6 -5
- package/dist/providers/mock.js.map +1 -1
- package/dist/providers/openai.d.ts +2 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +15 -19
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/token-counter.d.ts.map +1 -1
- package/dist/providers/token-counter.js +11 -3
- package/dist/providers/token-counter.js.map +1 -1
- package/dist/ranking/api-reranker.d.ts +1 -1
- package/dist/ranking/api-reranker.d.ts.map +1 -1
- package/dist/ranking/api-reranker.js +50 -13
- package/dist/ranking/api-reranker.js.map +1 -1
- package/dist/ranking/symbol-boost.d.ts.map +1 -1
- package/dist/ranking/symbol-boost.js +4 -11
- package/dist/ranking/symbol-boost.js.map +1 -1
- package/dist/search/bm25.d.ts +10 -0
- package/dist/search/bm25.d.ts.map +1 -1
- package/dist/search/bm25.js +16 -0
- package/dist/search/bm25.js.map +1 -1
- package/dist/search/hybrid.js.map +1 -1
- package/dist/search/scope.d.ts.map +1 -1
- package/dist/search/scope.js +3 -2
- package/dist/search/scope.js.map +1 -1
- package/dist/storage/encrypted-chunks.d.ts +3 -0
- package/dist/storage/encrypted-chunks.d.ts.map +1 -1
- package/dist/storage/encrypted-chunks.js +126 -47
- package/dist/storage/encrypted-chunks.js.map +1 -1
- package/dist/symbols/extract.d.ts.map +1 -1
- package/dist/symbols/extract.js +3 -2
- package/dist/symbols/extract.js.map +1 -1
- package/dist/symbols/graph.d.ts.map +1 -1
- package/dist/symbols/graph.js +14 -8
- package/dist/symbols/graph.js.map +1 -1
- package/dist/synthesis/conversational-synthesizer.d.ts +2 -1
- package/dist/synthesis/conversational-synthesizer.d.ts.map +1 -1
- package/dist/synthesis/conversational-synthesizer.js +6 -1
- package/dist/synthesis/conversational-synthesizer.js.map +1 -1
- package/dist/synthesis/markdown-formatter.d.ts.map +1 -1
- package/dist/synthesis/markdown-formatter.js +1 -1
- package/dist/synthesis/markdown-formatter.js.map +1 -1
- package/dist/synthesis/prompt-builder.d.ts.map +1 -1
- package/dist/synthesis/prompt-builder.js +42 -15
- package/dist/synthesis/prompt-builder.js.map +1 -1
- package/dist/synthesis/synthesizer.d.ts.map +1 -1
- package/dist/synthesis/synthesizer.js +23 -10
- package/dist/synthesis/synthesizer.js.map +1 -1
- package/dist/tests/api-reranker.test.d.ts +2 -0
- package/dist/tests/api-reranker.test.d.ts.map +1 -0
- package/dist/tests/api-reranker.test.js +575 -0
- package/dist/tests/api-reranker.test.js.map +1 -0
- package/dist/tests/bm25.test.d.ts +2 -0
- package/dist/tests/bm25.test.d.ts.map +1 -0
- package/dist/tests/bm25.test.js +340 -0
- package/dist/tests/bm25.test.js.map +1 -0
- package/dist/tests/chunking/file-grouper.test.d.ts +2 -0
- package/dist/tests/chunking/file-grouper.test.d.ts.map +1 -0
- package/dist/tests/chunking/file-grouper.test.js +495 -0
- package/dist/tests/chunking/file-grouper.test.js.map +1 -0
- package/dist/tests/chunking/semantic-chunker.test.d.ts +2 -0
- package/dist/tests/chunking/semantic-chunker.test.d.ts.map +1 -0
- package/dist/tests/chunking/semantic-chunker.test.js +509 -0
- package/dist/tests/chunking/semantic-chunker.test.js.map +1 -0
- package/dist/tests/chunking/token-counter.test.d.ts +2 -0
- package/dist/tests/chunking/token-counter.test.d.ts.map +1 -0
- package/dist/tests/chunking/token-counter.test.js +441 -0
- package/dist/tests/chunking/token-counter.test.js.map +1 -0
- package/dist/tests/cli/ask-cmd.test.d.ts +2 -0
- package/dist/tests/cli/ask-cmd.test.d.ts.map +1 -0
- package/dist/tests/cli/ask-cmd.test.js +152 -0
- package/dist/tests/cli/ask-cmd.test.js.map +1 -0
- package/dist/tests/cli/chat-cmd.test.d.ts +2 -0
- package/dist/tests/cli/chat-cmd.test.d.ts.map +1 -0
- package/dist/tests/cli/chat-cmd.test.js +118 -0
- package/dist/tests/cli/chat-cmd.test.js.map +1 -0
- package/dist/tests/cli/config-cmd.test.d.ts +2 -0
- package/dist/tests/cli/config-cmd.test.d.ts.map +1 -0
- package/dist/tests/cli/config-cmd.test.js +226 -0
- package/dist/tests/cli/config-cmd.test.js.map +1 -0
- package/dist/tests/cli/context.test.d.ts +2 -0
- package/dist/tests/cli/context.test.d.ts.map +1 -0
- package/dist/tests/cli/context.test.js +158 -0
- package/dist/tests/cli/context.test.js.map +1 -0
- package/dist/tests/cli/index-cmd.test.d.ts +2 -0
- package/dist/tests/cli/index-cmd.test.d.ts.map +1 -0
- package/dist/tests/cli/index-cmd.test.js +89 -0
- package/dist/tests/cli/index-cmd.test.js.map +1 -0
- package/dist/tests/cli/index.test.d.ts +2 -0
- package/dist/tests/cli/index.test.d.ts.map +1 -0
- package/dist/tests/cli/index.test.js +167 -0
- package/dist/tests/cli/index.test.js.map +1 -0
- package/dist/tests/cli/info-cmd.test.d.ts +2 -0
- package/dist/tests/cli/info-cmd.test.d.ts.map +1 -0
- package/dist/tests/cli/info-cmd.test.js +47 -0
- package/dist/tests/cli/info-cmd.test.js.map +1 -0
- package/dist/tests/cli/interactive-config.test.d.ts +2 -0
- package/dist/tests/cli/interactive-config.test.d.ts.map +1 -0
- package/dist/tests/cli/interactive-config.test.js +30 -0
- package/dist/tests/cli/interactive-config.test.js.map +1 -0
- package/dist/tests/cli/mcp-cmd.test.d.ts +2 -0
- package/dist/tests/cli/mcp-cmd.test.d.ts.map +1 -0
- package/dist/tests/cli/mcp-cmd.test.js +47 -0
- package/dist/tests/cli/mcp-cmd.test.js.map +1 -0
- package/dist/tests/cli/search-cmd.test.d.ts +2 -0
- package/dist/tests/cli/search-cmd.test.d.ts.map +1 -0
- package/dist/tests/cli/search-cmd.test.js +120 -0
- package/dist/tests/cli/search-cmd.test.js.map +1 -0
- package/dist/tests/cli/search-with-code-cmd.test.d.ts +2 -0
- package/dist/tests/cli/search-with-code-cmd.test.d.ts.map +1 -0
- package/dist/tests/cli/search-with-code-cmd.test.js +140 -0
- package/dist/tests/cli/search-with-code-cmd.test.js.map +1 -0
- package/dist/tests/cli/update-cmd.test.d.ts +2 -0
- package/dist/tests/cli/update-cmd.test.d.ts.map +1 -0
- package/dist/tests/cli/update-cmd.test.js +75 -0
- package/dist/tests/cli/update-cmd.test.js.map +1 -0
- package/dist/tests/cli/utils.test.d.ts +2 -0
- package/dist/tests/cli/utils.test.d.ts.map +1 -0
- package/dist/tests/cli/utils.test.js +119 -0
- package/dist/tests/cli/utils.test.js.map +1 -0
- package/dist/tests/cli/watch-cmd.test.d.ts +2 -0
- package/dist/tests/cli/watch-cmd.test.d.ts.map +1 -0
- package/dist/tests/cli/watch-cmd.test.js +84 -0
- package/dist/tests/cli/watch-cmd.test.js.map +1 -0
- package/dist/tests/cli-ui.test.d.ts +2 -0
- package/dist/tests/cli-ui.test.d.ts.map +1 -0
- package/dist/tests/cli-ui.test.js +608 -0
- package/dist/tests/cli-ui.test.js.map +1 -0
- package/dist/tests/codemap-io.test.d.ts +2 -0
- package/dist/tests/codemap-io.test.d.ts.map +1 -0
- package/dist/tests/codemap-io.test.js +992 -0
- package/dist/tests/codemap-io.test.js.map +1 -0
- package/dist/tests/config/apply-env.test.d.ts +2 -0
- package/dist/tests/config/apply-env.test.d.ts.map +1 -0
- package/dist/tests/config/apply-env.test.js +717 -0
- package/dist/tests/config/apply-env.test.js.map +1 -0
- package/dist/tests/config/constants.test.d.ts +2 -0
- package/dist/tests/config/constants.test.d.ts.map +1 -0
- package/dist/tests/config/constants.test.js +406 -0
- package/dist/tests/config/constants.test.js.map +1 -0
- package/dist/tests/config/loader.test.d.ts +2 -0
- package/dist/tests/config/loader.test.d.ts.map +1 -0
- package/dist/tests/config/loader.test.js +716 -0
- package/dist/tests/config/loader.test.js.map +1 -0
- package/dist/tests/config/resolver.test.d.ts +2 -0
- package/dist/tests/config/resolver.test.d.ts.map +1 -0
- package/dist/tests/config/resolver.test.js +402 -0
- package/dist/tests/config/resolver.test.js.map +1 -0
- package/dist/tests/config/types.test.d.ts +2 -0
- package/dist/tests/config/types.test.d.ts.map +1 -0
- package/dist/tests/config/types.test.js +460 -0
- package/dist/tests/config/types.test.js.map +1 -0
- package/dist/tests/context-packs.test.d.ts +2 -0
- package/dist/tests/context-packs.test.d.ts.map +1 -0
- package/dist/tests/context-packs.test.js +826 -0
- package/dist/tests/context-packs.test.js.map +1 -0
- package/dist/tests/conversational-synthesizer.test.d.ts +2 -0
- package/dist/tests/conversational-synthesizer.test.d.ts.map +1 -0
- package/dist/tests/conversational-synthesizer.test.js +595 -0
- package/dist/tests/conversational-synthesizer.test.js.map +1 -0
- package/dist/tests/database.test.d.ts +2 -0
- package/dist/tests/database.test.d.ts.map +1 -0
- package/dist/tests/database.test.js +965 -0
- package/dist/tests/database.test.js.map +1 -0
- package/dist/tests/encrypted-chunks.test.d.ts +2 -0
- package/dist/tests/encrypted-chunks.test.d.ts.map +1 -0
- package/dist/tests/encrypted-chunks.test.js +1470 -0
- package/dist/tests/encrypted-chunks.test.js.map +1 -0
- package/dist/tests/hybrid.test.d.ts +2 -0
- package/dist/tests/hybrid.test.d.ts.map +1 -0
- package/dist/tests/hybrid.test.js +456 -0
- package/dist/tests/hybrid.test.js.map +1 -0
- package/dist/tests/indexer/ChangeQueue.test.d.ts +12 -0
- package/dist/tests/indexer/ChangeQueue.test.d.ts.map +1 -0
- package/dist/tests/indexer/ChangeQueue.test.js +441 -0
- package/dist/tests/indexer/ChangeQueue.test.js.map +1 -0
- package/dist/tests/indexer/ProviderManager.test.d.ts +12 -0
- package/dist/tests/indexer/ProviderManager.test.d.ts.map +1 -0
- package/dist/tests/indexer/ProviderManager.test.js +290 -0
- package/dist/tests/indexer/ProviderManager.test.js.map +1 -0
- package/dist/tests/indexer/WatchService.test.d.ts +14 -0
- package/dist/tests/indexer/WatchService.test.d.ts.map +1 -0
- package/dist/tests/indexer/WatchService.test.js +667 -0
- package/dist/tests/indexer/WatchService.test.js.map +1 -0
- package/dist/tests/indexer/merkle.test.d.ts +11 -0
- package/dist/tests/indexer/merkle.test.d.ts.map +1 -0
- package/dist/tests/indexer/merkle.test.js +497 -0
- package/dist/tests/indexer/merkle.test.js.map +1 -0
- package/dist/tests/indexer/update.test.d.ts +10 -0
- package/dist/tests/indexer/update.test.d.ts.map +1 -0
- package/dist/tests/indexer/update.test.js +317 -0
- package/dist/tests/indexer/update.test.js.map +1 -0
- package/dist/tests/indexer/watch.test.d.ts +8 -0
- package/dist/tests/indexer/watch.test.d.ts.map +1 -0
- package/dist/tests/indexer/watch.test.js +95 -0
- package/dist/tests/indexer/watch.test.js.map +1 -0
- package/dist/tests/integration/index-search.integration.test.js +6 -4
- package/dist/tests/integration/index-search.integration.test.js.map +1 -1
- package/dist/tests/languages.test.d.ts +2 -0
- package/dist/tests/languages.test.d.ts.map +1 -0
- package/dist/tests/languages.test.js +575 -0
- package/dist/tests/languages.test.js.map +1 -0
- package/dist/tests/logger-redaction.test.d.ts +2 -0
- package/dist/tests/logger-redaction.test.d.ts.map +1 -0
- package/dist/tests/logger-redaction.test.js +48 -0
- package/dist/tests/logger-redaction.test.js.map +1 -0
- package/dist/tests/logger.test.d.ts +2 -0
- package/dist/tests/logger.test.d.ts.map +1 -0
- package/dist/tests/logger.test.js +468 -0
- package/dist/tests/logger.test.js.map +1 -0
- package/dist/tests/markdown-formatter.test.d.ts +2 -0
- package/dist/tests/markdown-formatter.test.d.ts.map +1 -0
- package/dist/tests/markdown-formatter.test.js +453 -0
- package/dist/tests/markdown-formatter.test.js.map +1 -0
- package/dist/tests/mcp/tools/use-context-pack.test.d.ts +7 -0
- package/dist/tests/mcp/tools/use-context-pack.test.d.ts.map +1 -0
- package/dist/tests/mcp/tools/use-context-pack.test.js +505 -0
- package/dist/tests/mcp/tools/use-context-pack.test.js.map +1 -0
- package/dist/tests/mutex.test.d.ts +2 -0
- package/dist/tests/mutex.test.d.ts.map +1 -0
- package/dist/tests/mutex.test.js +489 -0
- package/dist/tests/mutex.test.js.map +1 -0
- package/dist/tests/path-helpers.test.d.ts +2 -0
- package/dist/tests/path-helpers.test.d.ts.map +1 -0
- package/dist/tests/path-helpers.test.js +332 -0
- package/dist/tests/path-helpers.test.js.map +1 -0
- package/dist/tests/prompt-builder.test.d.ts +2 -0
- package/dist/tests/prompt-builder.test.d.ts.map +1 -0
- package/dist/tests/prompt-builder.test.js +417 -0
- package/dist/tests/prompt-builder.test.js.map +1 -0
- package/dist/tests/providers/base.test.d.ts +2 -0
- package/dist/tests/providers/base.test.d.ts.map +1 -0
- package/dist/tests/providers/base.test.js +299 -0
- package/dist/tests/providers/base.test.js.map +1 -0
- package/dist/tests/providers/chat-llm.test.d.ts +2 -0
- package/dist/tests/providers/chat-llm.test.d.ts.map +1 -0
- package/dist/tests/providers/chat-llm.test.js +435 -0
- package/dist/tests/providers/chat-llm.test.js.map +1 -0
- package/dist/tests/providers/index.test.d.ts +2 -0
- package/dist/tests/providers/index.test.d.ts.map +1 -0
- package/dist/tests/providers/index.test.js +204 -0
- package/dist/tests/providers/index.test.js.map +1 -0
- package/dist/tests/providers/mock.test.d.ts +2 -0
- package/dist/tests/providers/mock.test.d.ts.map +1 -0
- package/dist/tests/providers/mock.test.js +225 -0
- package/dist/tests/providers/mock.test.js.map +1 -0
- package/dist/tests/providers/openai.test.d.ts +2 -0
- package/dist/tests/providers/openai.test.d.ts.map +1 -0
- package/dist/tests/providers/openai.test.js +408 -0
- package/dist/tests/providers/openai.test.js.map +1 -0
- package/dist/tests/providers/token-counter.test.d.ts +2 -0
- package/dist/tests/providers/token-counter.test.d.ts.map +1 -0
- package/dist/tests/providers/token-counter.test.js +247 -0
- package/dist/tests/providers/token-counter.test.js.map +1 -0
- package/dist/tests/rate-limiter.test.js +392 -1
- package/dist/tests/rate-limiter.test.js.map +1 -1
- package/dist/tests/scope.test.d.ts +2 -0
- package/dist/tests/scope.test.d.ts.map +1 -0
- package/dist/tests/scope.test.js +529 -0
- package/dist/tests/scope.test.js.map +1 -0
- package/dist/tests/search-normalization.test.js.map +1 -1
- package/dist/tests/semantic-chunker.test.js.map +1 -1
- package/dist/tests/simple-lru.test.js +377 -0
- package/dist/tests/simple-lru.test.js.map +1 -1
- package/dist/tests/symbol-boost.test.js +730 -10
- package/dist/tests/symbol-boost.test.js.map +1 -1
- package/dist/tests/symbols-extract.test.d.ts +2 -0
- package/dist/tests/symbols-extract.test.d.ts.map +1 -0
- package/dist/tests/symbols-extract.test.js +536 -0
- package/dist/tests/symbols-extract.test.js.map +1 -0
- package/dist/tests/symbols-graph.test.d.ts +2 -0
- package/dist/tests/symbols-graph.test.d.ts.map +1 -0
- package/dist/tests/symbols-graph.test.js +656 -0
- package/dist/tests/symbols-graph.test.js.map +1 -0
- package/dist/tests/synthesizer.test.d.ts +2 -0
- package/dist/tests/synthesizer.test.d.ts.map +1 -0
- package/dist/tests/synthesizer.test.js +381 -0
- package/dist/tests/synthesizer.test.js.map +1 -0
- package/dist/types/codemap.d.ts +2 -2
- package/dist/types/codemap.d.ts.map +1 -1
- package/dist/types/codemap.js +17 -9
- package/dist/types/codemap.js.map +1 -1
- package/dist/types/context-pack.d.ts +5 -5
- package/dist/types/context-pack.d.ts.map +1 -1
- package/dist/types/context-pack.js +6 -3
- package/dist/types/context-pack.js.map +1 -1
- package/dist/utils/cli-ui.d.ts +1 -1
- package/dist/utils/cli-ui.d.ts.map +1 -1
- package/dist/utils/cli-ui.js +26 -26
- package/dist/utils/cli-ui.js.map +1 -1
- package/dist/utils/indexer-with-progress.d.ts.map +1 -1
- package/dist/utils/indexer-with-progress.js +0 -6
- package/dist/utils/indexer-with-progress.js.map +1 -1
- package/dist/utils/logger.d.ts +10 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +158 -6
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/mutex.d.ts +7 -2
- package/dist/utils/mutex.d.ts.map +1 -1
- package/dist/utils/mutex.js +35 -7
- package/dist/utils/mutex.js.map +1 -1
- package/dist/utils/path-helpers.d.ts.map +1 -1
- package/dist/utils/path-helpers.js +5 -2
- package/dist/utils/path-helpers.js.map +1 -1
- package/dist/utils/rate-limiter.d.ts.map +1 -1
- package/dist/utils/rate-limiter.js +23 -4
- package/dist/utils/rate-limiter.js.map +1 -1
- package/dist/utils/simple-lru.d.ts +6 -0
- package/dist/utils/simple-lru.d.ts.map +1 -1
- package/dist/utils/simple-lru.js +26 -0
- package/dist/utils/simple-lru.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unit tests for src/indexer/update.ts
|
|
3
|
+
*
|
|
4
|
+
* Tests partial re-indexing functionality including:
|
|
5
|
+
* - Path normalization for changed/deleted files
|
|
6
|
+
* - Early return when no changes detected
|
|
7
|
+
* - Delegation to indexProject with correct parameters
|
|
8
|
+
*/
|
|
9
|
+
import test from 'node:test';
|
|
10
|
+
import assert from 'node:assert/strict';
|
|
11
|
+
import path from 'path';
|
|
12
|
+
import fs from 'fs';
|
|
13
|
+
import os from 'os';
|
|
14
|
+
import { updateIndex } from '../../indexer/update.js';
|
|
15
|
+
// Helper to create a temporary directory with .codevault structure
|
|
16
|
+
async function createTempRepo() {
|
|
17
|
+
const root = await fs.promises.mkdtemp(path.join(os.tmpdir(), 'update-test-'));
|
|
18
|
+
// Create necessary directory structure
|
|
19
|
+
const codevaultDir = path.join(root, '.codevault');
|
|
20
|
+
await fs.promises.mkdir(codevaultDir, { recursive: true });
|
|
21
|
+
// Create chunks directory
|
|
22
|
+
const chunksDir = path.join(codevaultDir, 'chunks');
|
|
23
|
+
await fs.promises.mkdir(chunksDir, { recursive: true });
|
|
24
|
+
// Create a minimal database structure (empty merkle)
|
|
25
|
+
await fs.promises.writeFile(path.join(codevaultDir, 'merkle.json'), JSON.stringify({}));
|
|
26
|
+
return {
|
|
27
|
+
root,
|
|
28
|
+
cleanup: async () => {
|
|
29
|
+
await fs.promises.rm(root, { recursive: true, force: true });
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
// Helper to write a test file
|
|
34
|
+
async function writeTestFile(root, relativePath, content) {
|
|
35
|
+
const fullPath = path.join(root, relativePath);
|
|
36
|
+
await fs.promises.mkdir(path.dirname(fullPath), { recursive: true });
|
|
37
|
+
await fs.promises.writeFile(fullPath, content);
|
|
38
|
+
}
|
|
39
|
+
// ============================================================================
|
|
40
|
+
// Early Return Tests - No Changes Scenario
|
|
41
|
+
// ============================================================================
|
|
42
|
+
test('updateIndex returns early when no files changed or deleted', async () => {
|
|
43
|
+
const repo = await createTempRepo();
|
|
44
|
+
try {
|
|
45
|
+
const result = await updateIndex({
|
|
46
|
+
repoPath: repo.root,
|
|
47
|
+
changedFiles: [],
|
|
48
|
+
deletedFiles: []
|
|
49
|
+
});
|
|
50
|
+
assert.equal(result.success, true, 'Should succeed');
|
|
51
|
+
assert.equal(result.processedChunks, 0, 'No chunks should be processed');
|
|
52
|
+
assert.equal(result.totalChunks, 0, 'Total chunks should be 0');
|
|
53
|
+
assert.deepEqual(result.errors, [], 'No errors should occur');
|
|
54
|
+
}
|
|
55
|
+
finally {
|
|
56
|
+
await repo.cleanup();
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
test('updateIndex returns early when changedFiles is undefined', async () => {
|
|
60
|
+
const repo = await createTempRepo();
|
|
61
|
+
try {
|
|
62
|
+
const result = await updateIndex({
|
|
63
|
+
repoPath: repo.root
|
|
64
|
+
});
|
|
65
|
+
assert.equal(result.success, true, 'Should succeed with undefined arrays');
|
|
66
|
+
assert.equal(result.processedChunks, 0, 'No chunks should be processed');
|
|
67
|
+
}
|
|
68
|
+
finally {
|
|
69
|
+
await repo.cleanup();
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
test('updateIndex returns early with default options', async () => {
|
|
73
|
+
// Uses cwd as default, which might not be a valid repo
|
|
74
|
+
// But the early return should trigger before validation
|
|
75
|
+
const result = await updateIndex({
|
|
76
|
+
changedFiles: [],
|
|
77
|
+
deletedFiles: []
|
|
78
|
+
});
|
|
79
|
+
assert.equal(result.success, true, 'Should succeed with empty arrays');
|
|
80
|
+
assert.equal(result.processedChunks, 0, 'No chunks processed');
|
|
81
|
+
});
|
|
82
|
+
// ============================================================================
|
|
83
|
+
// Path Normalization Tests
|
|
84
|
+
// ============================================================================
|
|
85
|
+
test('updateIndex normalizes paths that escape base directory', async () => {
|
|
86
|
+
const repo = await createTempRepo();
|
|
87
|
+
try {
|
|
88
|
+
// Paths that try to escape should be filtered out
|
|
89
|
+
const result = await updateIndex({
|
|
90
|
+
repoPath: repo.root,
|
|
91
|
+
changedFiles: ['../escape.ts', '../../etc/passwd'],
|
|
92
|
+
deletedFiles: ['../../../root/file.ts']
|
|
93
|
+
});
|
|
94
|
+
// All paths are invalid, so should result in early return
|
|
95
|
+
assert.equal(result.success, true, 'Should succeed (invalid paths filtered)');
|
|
96
|
+
assert.equal(result.processedChunks, 0, 'No valid paths to process');
|
|
97
|
+
}
|
|
98
|
+
finally {
|
|
99
|
+
await repo.cleanup();
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
test('updateIndex filters out non-string values from arrays', async () => {
|
|
103
|
+
const repo = await createTempRepo();
|
|
104
|
+
try {
|
|
105
|
+
const result = await updateIndex({
|
|
106
|
+
repoPath: repo.root,
|
|
107
|
+
changedFiles: [null, undefined, 123, '', 'valid.ts'],
|
|
108
|
+
deletedFiles: [false, {}, []]
|
|
109
|
+
});
|
|
110
|
+
// Most values are invalid; only 'valid.ts' might be considered
|
|
111
|
+
// But since valid.ts doesn't exist, normalization may still filter it
|
|
112
|
+
assert.equal(result.success, true, 'Should handle mixed invalid types');
|
|
113
|
+
}
|
|
114
|
+
finally {
|
|
115
|
+
await repo.cleanup();
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
test('updateIndex handles non-array changedFiles gracefully', async () => {
|
|
119
|
+
const repo = await createTempRepo();
|
|
120
|
+
try {
|
|
121
|
+
const result = await updateIndex({
|
|
122
|
+
repoPath: repo.root,
|
|
123
|
+
changedFiles: 'not-an-array',
|
|
124
|
+
deletedFiles: undefined
|
|
125
|
+
});
|
|
126
|
+
assert.equal(result.success, true, 'Should handle non-array gracefully');
|
|
127
|
+
assert.equal(result.processedChunks, 0, 'No chunks processed');
|
|
128
|
+
}
|
|
129
|
+
finally {
|
|
130
|
+
await repo.cleanup();
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
// ============================================================================
|
|
134
|
+
// Path Resolution Tests
|
|
135
|
+
// ============================================================================
|
|
136
|
+
test('updateIndex resolves relative repoPath to absolute', async () => {
|
|
137
|
+
const repo = await createTempRepo();
|
|
138
|
+
try {
|
|
139
|
+
// Create a test file
|
|
140
|
+
await writeTestFile(repo.root, 'src/test.ts', 'export const x = 1;');
|
|
141
|
+
// Get relative path from cwd
|
|
142
|
+
const relativePath = path.relative(process.cwd(), repo.root);
|
|
143
|
+
const result = await updateIndex({
|
|
144
|
+
repoPath: relativePath,
|
|
145
|
+
changedFiles: [],
|
|
146
|
+
deletedFiles: []
|
|
147
|
+
});
|
|
148
|
+
assert.equal(result.success, true, 'Should handle relative path');
|
|
149
|
+
}
|
|
150
|
+
finally {
|
|
151
|
+
await repo.cleanup();
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
test('updateIndex deduplicates normalized paths', async () => {
|
|
155
|
+
const repo = await createTempRepo();
|
|
156
|
+
try {
|
|
157
|
+
await writeTestFile(repo.root, 'src/test.ts', 'export const x = 1;');
|
|
158
|
+
// Same file referenced multiple ways
|
|
159
|
+
const result = await updateIndex({
|
|
160
|
+
repoPath: repo.root,
|
|
161
|
+
changedFiles: [
|
|
162
|
+
'src/test.ts',
|
|
163
|
+
'./src/test.ts',
|
|
164
|
+
'src/../src/test.ts'
|
|
165
|
+
],
|
|
166
|
+
deletedFiles: []
|
|
167
|
+
});
|
|
168
|
+
// Should deduplicate to single entry
|
|
169
|
+
assert.equal(result.success, true, 'Should handle duplicate paths');
|
|
170
|
+
}
|
|
171
|
+
finally {
|
|
172
|
+
await repo.cleanup();
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
// ============================================================================
|
|
176
|
+
// Options Forwarding Tests
|
|
177
|
+
// ============================================================================
|
|
178
|
+
test('updateIndex uses default provider when not specified', async () => {
|
|
179
|
+
const repo = await createTempRepo();
|
|
180
|
+
try {
|
|
181
|
+
const result = await updateIndex({
|
|
182
|
+
repoPath: repo.root,
|
|
183
|
+
changedFiles: [],
|
|
184
|
+
deletedFiles: []
|
|
185
|
+
});
|
|
186
|
+
// Default provider is 'auto'
|
|
187
|
+
assert.equal(result.provider, 'auto', 'Should use auto provider by default');
|
|
188
|
+
}
|
|
189
|
+
finally {
|
|
190
|
+
await repo.cleanup();
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
test('updateIndex respects custom provider option', async () => {
|
|
194
|
+
const repo = await createTempRepo();
|
|
195
|
+
try {
|
|
196
|
+
const result = await updateIndex({
|
|
197
|
+
repoPath: repo.root,
|
|
198
|
+
provider: 'openai',
|
|
199
|
+
changedFiles: [],
|
|
200
|
+
deletedFiles: []
|
|
201
|
+
});
|
|
202
|
+
assert.equal(result.provider, 'openai', 'Should use specified provider');
|
|
203
|
+
}
|
|
204
|
+
finally {
|
|
205
|
+
await repo.cleanup();
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
// ============================================================================
|
|
209
|
+
// Return Type Validation Tests
|
|
210
|
+
// ============================================================================
|
|
211
|
+
test('updateIndex returns correct result structure on early return', async () => {
|
|
212
|
+
const result = await updateIndex({
|
|
213
|
+
changedFiles: [],
|
|
214
|
+
deletedFiles: []
|
|
215
|
+
});
|
|
216
|
+
// Validate structure
|
|
217
|
+
assert.ok('success' in result, 'Result should have success property');
|
|
218
|
+
assert.ok('processedChunks' in result, 'Result should have processedChunks property');
|
|
219
|
+
assert.ok('totalChunks' in result, 'Result should have totalChunks property');
|
|
220
|
+
assert.ok('provider' in result, 'Result should have provider property');
|
|
221
|
+
assert.ok('errors' in result, 'Result should have errors property');
|
|
222
|
+
// Validate types
|
|
223
|
+
assert.equal(typeof result.success, 'boolean', 'success should be boolean');
|
|
224
|
+
assert.equal(typeof result.processedChunks, 'number', 'processedChunks should be number');
|
|
225
|
+
assert.equal(typeof result.totalChunks, 'number', 'totalChunks should be number');
|
|
226
|
+
assert.equal(typeof result.provider, 'string', 'provider should be string');
|
|
227
|
+
assert.ok(Array.isArray(result.errors), 'errors should be array');
|
|
228
|
+
});
|
|
229
|
+
// ============================================================================
|
|
230
|
+
// Edge Cases
|
|
231
|
+
// ============================================================================
|
|
232
|
+
test('updateIndex handles paths with special characters', async () => {
|
|
233
|
+
const repo = await createTempRepo();
|
|
234
|
+
try {
|
|
235
|
+
// Create file with spaces and special chars
|
|
236
|
+
await writeTestFile(repo.root, 'src/my file (copy).ts', 'export const x = 1;');
|
|
237
|
+
const result = await updateIndex({
|
|
238
|
+
repoPath: repo.root,
|
|
239
|
+
changedFiles: ['src/my file (copy).ts'],
|
|
240
|
+
deletedFiles: []
|
|
241
|
+
});
|
|
242
|
+
assert.equal(result.success, true, 'Should handle special characters');
|
|
243
|
+
}
|
|
244
|
+
finally {
|
|
245
|
+
await repo.cleanup();
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
test('updateIndex handles very long paths', async () => {
|
|
249
|
+
const repo = await createTempRepo();
|
|
250
|
+
try {
|
|
251
|
+
// Create deeply nested path
|
|
252
|
+
const deepPath = 'a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/test.ts';
|
|
253
|
+
await writeTestFile(repo.root, deepPath, 'export const x = 1;');
|
|
254
|
+
const result = await updateIndex({
|
|
255
|
+
repoPath: repo.root,
|
|
256
|
+
changedFiles: [deepPath],
|
|
257
|
+
deletedFiles: []
|
|
258
|
+
});
|
|
259
|
+
assert.equal(result.success, true, 'Should handle deep paths');
|
|
260
|
+
}
|
|
261
|
+
finally {
|
|
262
|
+
await repo.cleanup();
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
test('updateIndex handles unicode in paths', async () => {
|
|
266
|
+
const repo = await createTempRepo();
|
|
267
|
+
try {
|
|
268
|
+
const unicodePath = 'src/\u4E2D\u6587\u6587\u4EF6.ts';
|
|
269
|
+
await writeTestFile(repo.root, unicodePath, 'export const x = 1;');
|
|
270
|
+
const result = await updateIndex({
|
|
271
|
+
repoPath: repo.root,
|
|
272
|
+
changedFiles: [unicodePath],
|
|
273
|
+
deletedFiles: []
|
|
274
|
+
});
|
|
275
|
+
assert.equal(result.success, true, 'Should handle unicode paths');
|
|
276
|
+
}
|
|
277
|
+
finally {
|
|
278
|
+
await repo.cleanup();
|
|
279
|
+
}
|
|
280
|
+
});
|
|
281
|
+
// ============================================================================
|
|
282
|
+
// Concurrency Option Tests
|
|
283
|
+
// ============================================================================
|
|
284
|
+
test('updateIndex passes concurrency option through', async () => {
|
|
285
|
+
const repo = await createTempRepo();
|
|
286
|
+
try {
|
|
287
|
+
const result = await updateIndex({
|
|
288
|
+
repoPath: repo.root,
|
|
289
|
+
changedFiles: [],
|
|
290
|
+
deletedFiles: [],
|
|
291
|
+
concurrency: 50
|
|
292
|
+
});
|
|
293
|
+
assert.equal(result.success, true, 'Should accept concurrency option');
|
|
294
|
+
}
|
|
295
|
+
finally {
|
|
296
|
+
await repo.cleanup();
|
|
297
|
+
}
|
|
298
|
+
});
|
|
299
|
+
// ============================================================================
|
|
300
|
+
// Encryption Option Tests
|
|
301
|
+
// ============================================================================
|
|
302
|
+
test('updateIndex passes encrypt option through', async () => {
|
|
303
|
+
const repo = await createTempRepo();
|
|
304
|
+
try {
|
|
305
|
+
const result = await updateIndex({
|
|
306
|
+
repoPath: repo.root,
|
|
307
|
+
changedFiles: [],
|
|
308
|
+
deletedFiles: [],
|
|
309
|
+
encrypt: 'off'
|
|
310
|
+
});
|
|
311
|
+
assert.equal(result.success, true, 'Should accept encrypt option');
|
|
312
|
+
}
|
|
313
|
+
finally {
|
|
314
|
+
await repo.cleanup();
|
|
315
|
+
}
|
|
316
|
+
});
|
|
317
|
+
//# sourceMappingURL=update.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.test.js","sourceRoot":"","sources":["../../../src/tests/indexer/update.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.test.d.ts","sourceRoot":"","sources":["../../../src/tests/indexer/watch.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unit tests for src/indexer/watch.ts
|
|
3
|
+
*
|
|
4
|
+
* Tests the re-export module that provides backward-compatible exports
|
|
5
|
+
* for WatchService, ChangeQueue, and ProviderManager.
|
|
6
|
+
*/
|
|
7
|
+
import test from 'node:test';
|
|
8
|
+
import assert from 'node:assert/strict';
|
|
9
|
+
// Import from watch.ts (the re-export module)
|
|
10
|
+
import { startWatch, WatchService, ChangeQueue, ProviderManager } from '../../indexer/watch.js';
|
|
11
|
+
// ============================================================================
|
|
12
|
+
// Re-export Verification Tests
|
|
13
|
+
// ============================================================================
|
|
14
|
+
test('watch.ts exports startWatch function', () => {
|
|
15
|
+
assert.equal(typeof startWatch, 'function', 'startWatch should be a function');
|
|
16
|
+
});
|
|
17
|
+
test('watch.ts exports WatchService class', () => {
|
|
18
|
+
assert.equal(typeof WatchService, 'function', 'WatchService should be a constructor');
|
|
19
|
+
});
|
|
20
|
+
test('watch.ts exports ChangeQueue class', () => {
|
|
21
|
+
assert.equal(typeof ChangeQueue, 'function', 'ChangeQueue should be a constructor');
|
|
22
|
+
});
|
|
23
|
+
test('watch.ts exports ProviderManager class', () => {
|
|
24
|
+
assert.equal(typeof ProviderManager, 'function', 'ProviderManager should be a constructor');
|
|
25
|
+
});
|
|
26
|
+
// ============================================================================
|
|
27
|
+
// Type Export Verification Tests
|
|
28
|
+
// ============================================================================
|
|
29
|
+
test('WatchOptions type is properly exported (duck typing)', () => {
|
|
30
|
+
// Verify the type works by creating a conforming object
|
|
31
|
+
const options = {
|
|
32
|
+
repoPath: '/test',
|
|
33
|
+
provider: 'mock',
|
|
34
|
+
debounceMs: 100
|
|
35
|
+
};
|
|
36
|
+
assert.ok(options.repoPath, 'WatchOptions should accept repoPath');
|
|
37
|
+
});
|
|
38
|
+
test('WatchController type is properly exported (duck typing)', () => {
|
|
39
|
+
// Verify the type interface
|
|
40
|
+
const mockController = {
|
|
41
|
+
watcher: {},
|
|
42
|
+
ready: Promise.resolve(),
|
|
43
|
+
close: async () => { },
|
|
44
|
+
flush: async () => { }
|
|
45
|
+
};
|
|
46
|
+
assert.equal(typeof mockController.close, 'function', 'WatchController should have close');
|
|
47
|
+
assert.equal(typeof mockController.flush, 'function', 'WatchController should have flush');
|
|
48
|
+
});
|
|
49
|
+
// ============================================================================
|
|
50
|
+
// Instance Creation Tests (verify exports work correctly)
|
|
51
|
+
// ============================================================================
|
|
52
|
+
test('ChangeQueue can be instantiated through watch.ts export', () => {
|
|
53
|
+
const queue = new ChangeQueue({
|
|
54
|
+
repoPath: '/test',
|
|
55
|
+
provider: 'mock',
|
|
56
|
+
debounceMs: 100
|
|
57
|
+
});
|
|
58
|
+
assert.ok(queue, 'ChangeQueue should be instantiable');
|
|
59
|
+
assert.equal(typeof queue.enqueue, 'function', 'Should have enqueue method');
|
|
60
|
+
assert.equal(typeof queue.flush, 'function', 'Should have flush method');
|
|
61
|
+
assert.equal(typeof queue.drain, 'function', 'Should have drain method');
|
|
62
|
+
assert.equal(typeof queue.cancel, 'function', 'Should have cancel method');
|
|
63
|
+
assert.equal(typeof queue.hasPending, 'function', 'Should have hasPending method');
|
|
64
|
+
assert.equal(typeof queue.getPendingCount, 'function', 'Should have getPendingCount method');
|
|
65
|
+
queue.cancel();
|
|
66
|
+
});
|
|
67
|
+
test('ProviderManager can be instantiated through watch.ts export', () => {
|
|
68
|
+
const manager = new ProviderManager('mock', {});
|
|
69
|
+
assert.ok(manager, 'ProviderManager should be instantiable');
|
|
70
|
+
assert.equal(typeof manager.getProvider, 'function', 'Should have getProvider method');
|
|
71
|
+
assert.equal(typeof manager.getProviderSafe, 'function', 'Should have getProviderSafe method');
|
|
72
|
+
assert.equal(typeof manager.cleanup, 'function', 'Should have cleanup method');
|
|
73
|
+
});
|
|
74
|
+
// ============================================================================
|
|
75
|
+
// Backward Compatibility Tests
|
|
76
|
+
// ============================================================================
|
|
77
|
+
test('startWatch returns expected controller interface', () => {
|
|
78
|
+
const controller = startWatch({});
|
|
79
|
+
assert.ok(controller.watcher, 'Controller should have watcher');
|
|
80
|
+
assert.ok(controller.ready instanceof Promise, 'Controller should have ready promise');
|
|
81
|
+
assert.equal(typeof controller.close, 'function', 'Controller should have close');
|
|
82
|
+
assert.equal(typeof controller.flush, 'function', 'Controller should have flush');
|
|
83
|
+
// Clean up
|
|
84
|
+
void controller.close();
|
|
85
|
+
});
|
|
86
|
+
test('WatchService getController matches WatchController interface', async () => {
|
|
87
|
+
const service = new WatchService({});
|
|
88
|
+
const controller = service.getController();
|
|
89
|
+
assert.ok(controller.watcher, 'Should have watcher');
|
|
90
|
+
assert.ok(controller.ready instanceof Promise, 'Should have ready promise');
|
|
91
|
+
assert.equal(typeof controller.close, 'function', 'Should have close');
|
|
92
|
+
assert.equal(typeof controller.flush, 'function', 'Should have flush');
|
|
93
|
+
await controller.close();
|
|
94
|
+
});
|
|
95
|
+
//# sourceMappingURL=watch.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.test.js","sourceRoot":"","sources":["../../../src/tests/indexer/watch.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ async function writeProviderConfig(root, dimensions) {
|
|
|
24
24
|
beforeEach(() => {
|
|
25
25
|
envSnapshot = { ...process.env };
|
|
26
26
|
process.env.CODEVAULT_QUIET = 'true';
|
|
27
|
+
process.env.CODEVAULT_TEST_MODE = 'true';
|
|
27
28
|
});
|
|
28
29
|
afterEach(async () => {
|
|
29
30
|
clearSearchCaches();
|
|
@@ -81,7 +82,7 @@ test('indexes and searches end-to-end with the mock provider', async () => {
|
|
|
81
82
|
assert.equal(chunk.success, true);
|
|
82
83
|
assert.ok(chunk.code && chunk.code.includes('helloWorld'));
|
|
83
84
|
const db = new Database(path.join(repoUnderTest.root, '.codevault/codevault.db'));
|
|
84
|
-
const storedChunks =
|
|
85
|
+
const storedChunks = db.getChunks(provider.getName(), provider.getDimensions());
|
|
85
86
|
db.close();
|
|
86
87
|
assert.ok(storedChunks.length >= indexResult.totalChunks);
|
|
87
88
|
});
|
|
@@ -137,9 +138,10 @@ test('change queue batches rapid edits without racing flushes', async () => {
|
|
|
137
138
|
repoPath: repoUnderTest.root,
|
|
138
139
|
provider: provider.getName(),
|
|
139
140
|
debounceMs: 20,
|
|
140
|
-
providerGetter:
|
|
141
|
-
onBatch:
|
|
141
|
+
providerGetter: () => Promise.resolve(provider),
|
|
142
|
+
onBatch: event => {
|
|
142
143
|
batches.push(event);
|
|
144
|
+
return Promise.resolve();
|
|
143
145
|
},
|
|
144
146
|
encrypt: 'off'
|
|
145
147
|
});
|
|
@@ -152,7 +154,7 @@ test('change queue batches rapid edits without racing flushes', async () => {
|
|
|
152
154
|
await changeQueue.drain();
|
|
153
155
|
changeQueue.cancel();
|
|
154
156
|
const db = new Database(path.join(repoUnderTest.root, '.codevault/codevault.db'));
|
|
155
|
-
const chunks =
|
|
157
|
+
const chunks = db.getChunks(provider.getName(), provider.getDimensions());
|
|
156
158
|
db.close();
|
|
157
159
|
assert.ok(chunks.length >= 3);
|
|
158
160
|
assert.ok(batches.length >= 1 && batches.length <= 2);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-search.integration.test.js","sourceRoot":"","sources":["../../../src/tests/integration/index-search.integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAiB,MAAM,yBAAyB,CAAC;AAEvF,IAAI,WAAW,GAAsB,EAAE,CAAC;AACxC,IAAI,aAAa,GAAoB,IAAI,CAAC;AAE1C,KAAK,UAAU,mBAAmB,CAAC,IAAY,EAAE,UAAkB;IACjE,MAAM,MAAM,GAAG;QACb,SAAS,EAAE;YACT,MAAM,EAAE;gBACN,UAAU;aACX;SACF;KACF,CAAC;IAEF,MAAM,aAAa,CAAC,IAAI,EAAE,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,UAAU,CAAC,GAAG,EAAE;IACd,WAAW,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index-search.integration.test.js","sourceRoot":"","sources":["../../../src/tests/integration/index-search.integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"languages.test.d.ts","sourceRoot":"","sources":["../../src/tests/languages.test.ts"],"names":[],"mappings":""}
|