-
Notifications
You must be signed in to change notification settings - Fork 28
Code base analyzer #292
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Code base analyzer #292
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…threads for non-blocking code indexing and search - Introduces a vector database service using ChromaDB for semantic code search. - Implements worker threads to handle embedding generation and database operations in the background, preventing UI blocking. - Uses Gemini embeddings consistently across the application for reliable search results. - Adds support for indexing code snippets, performing semantic searches, and managing the vector database. - Implements VectorDbWorkerManager to manage worker threads and report progress updates.
- Integrate ChromaDB for local vector database storage. - Implement non-blocking worker threads for embedding and indexing operations using . - Introduce smart embedding strategy with immediate, on-demand, background, and bulk processing phases. - Enhance SmartContextExtractor with vector-based semantic search and keyword-based fallback. - Add new documentation files under to describe implementation details, usage and the roadmap.
Smart context extractor
- Introduce phased embedding strategy with immediate, on-demand, background, and bulk processing phases. - Implement real-time synchronization with vector database using file watchers and debounced batch processing. - Add VectorDbSyncService to monitor file changes and update the vector database accordingly.
- Introduce ESLint for code quality and consistency. - Refactor embedding phases for better performance and error handling: - Parallelize file embedding in ImmediateEmbeddingPhase. - Improve file identification and prioritization logic. - Implement safe file stats retrieval. - Enhance error handling during file processing. - Add common utility classes: - LanguageUtils: Provides language detection and code file identification. - FileUtils: Offers file system operation utilities, including safe stats retrieval and file filtering. - AsyncUtils: Includes async operation utilities like batch processing and safe execution. - DisposableUtils: Manages disposable resources safely. - Introduce interfaces for dependency injection to improve testability. - Add comprehensive unit and integration tests for embedding phases and utility classes.
- Introduce EmbeddingConfigurationManager for managing embedding settings. - Add EmbeddingPhaseFactory for creating embedding phases with dependency injection. - Implement EmbeddingService for handling file embedding operations. - Create FileService to abstract file system operations. - Implement VectorDbSyncService for synchronizing vector database with file system changes.
Vector db phase2
…xtraction This commit introduces vector database integration for smart context extraction, improving the accuracy and relevance of AI responses. - Implements with vector search capabilities for semantic context retrieval. - Integrates for managing embedding phases (immediate, on-demand, background, bulk). - Introduces and for vector database operations. - Enhances user message processing with context from vector search results. - Adds configuration options for enabling/disabling vector search and fallback to keyword-based search.
- Improve context extraction by implementing fallback to keyword search when vector search is unavailable or returns no results. - Enhance semantic similarity calculation with a fallback to basic text similarity when the vector DB is unavailable. - Implement file deletion and rename handling to maintain vector database accuracy. - Add file type checking to ensure only supported files are processed for embeddings.
Vector db phase3
- Introduces comprehensive vector database system with multi-phase embedding for enhanced context extraction. - Initializes VectorDbConfigurationManager, UserFeedbackService, VectorDatabaseService, VectorDbSyncService, and VectorDbWorkerManager. - Implements commands for force reindexing and showing vector database statistics. - Adds tests for vector database configuration and user feedback services.
…ction - Introduces a configuration observer pattern for real-time updates to Vector DB settings. - Implements a dependency injection container for managing Vector DB services. - Adds interfaces for Vector DB services, indexing, and synchronization. - Includes a user feedback service for displaying status and notifications.
feat(vector-db): Implement configuration observer and dependency inje…
Vector db phase4
- Implement PerformanceProfiler service for real-time metrics and alerting. - Implement ProductionSafeguards service with circuit breaker and resource monitoring. - Implement EnhancedCacheManager for multi-level caching and intelligent eviction. - Integrate Phase 5 services with BaseWebViewProvider for command handling and user feedback. - Add VS Code extension commands for performance monitoring and control.
- Replaces ChromaDB with LanceDB for improved performance and TypeScript support. - Adds and dependencies. - Updates to use LanceDB for local storage and faster similarity searches. - Provides fallback to if LanceDB initialization fails. - Updates documentation to reflect the migration to LanceDB.
…tegies and performance profiling - Implement advanced revalidation strategies including content-based invalidation, dependency-aware revalidation, scheduled revalidation, and git hook-based revalidation. - Introduce a performance profiler service to monitor search latency, memory usage, and error rates, enabling dynamic configuration optimization. - Add support for LanceDB as the primary vector database with fallback to SimpleVectorStore and enhanced diagnostics. - Enhance configuration management with dynamic adjustments to batch size and performance mode based on performance metrics. - Refactor and improve vector database initialization and worker management for better reliability and performance. - Update dependencies to include and , and adjust to mark them as external.
Vector db phase5
…d fallback search - Implement intelligent code chunking using AST parsing for TypeScript and JavaScript to create focused embeddings for functions, classes, and interfaces. - Add keyword-based search fallback when embedding service is unavailable, ensuring the vector database functions regardless of API key availability. - Fix duplicate command registration issue that was causing extension activation failures. - Improve vector database initialization by handling missing API keys gracefully and updating ready check logic. - Introduce enhanced prompt builder service for creating contextually-aware prompts.
optimize the UI for performance
- Remove LanceDB integration to simplify the extension and reduce dependencies. - Remove vector database orchestration and related commands. - Update package dependencies and remove . - Update extension version to 3.6.3
feat(extension): Remove LanceDB integration and streamline extension
delete unused files
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.