mcp-vector-search 0.9.3__tar.gz → 0.12.1__tar.gz
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.
Potentially problematic release.
This version of mcp-vector-search might be problematic. Click here for more details.
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/.gitignore +15 -0
- mcp_vector_search-0.12.1/CLAUDE.md +49 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/PKG-INFO +87 -24
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/README.md +85 -23
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/CHANGELOG.md +101 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/pyproject.toml +4 -7
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/pytest.ini +2 -1
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/__init__.py +2 -2
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/index.py +44 -22
- mcp_vector_search-0.12.1/src/mcp_vector_search/cli/commands/install.py +675 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/status.py +7 -5
- mcp_vector_search-0.12.1/src/mcp_vector_search/cli/commands/uninstall.py +485 -0
- mcp_vector_search-0.12.1/src/mcp_vector_search/cli/commands/visualize.py +1457 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/didyoumean.py +10 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/main.py +39 -21
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/connection_pool.py +49 -11
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/database.py +61 -28
- mcp_vector_search-0.12.1/src/mcp_vector_search/core/directory_index.py +318 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/indexer.py +146 -19
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/models.py +61 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/project.py +16 -5
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/base.py +54 -18
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/javascript.py +41 -20
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/python.py +19 -11
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/registry.py +3 -2
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/utils/gitignore.py +17 -5
- mcp_vector_search-0.12.1/src/mcp_vector_search/visualization/index.html +658 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/tests/conftest.py +7 -4
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/uv.lock +10 -7
- mcp_vector_search-0.9.3/.changesets/20251009-204754-feat-add-comprehensive-changeset-and-documentation.md +0 -29
- mcp_vector_search-0.9.3/.changesets/20251009-205435-fix-update-readme-version-badge-to-0-7-1.md +0 -27
- mcp_vector_search-0.9.3/.changesets/20251009-205439-feat-add-comprehensive-changeset-support-system.md +0 -27
- mcp_vector_search-0.9.3/.changesets/EXAMPLE.md +0 -272
- mcp_vector_search-0.9.3/.changesets/IMPLEMENTATION_SUMMARY.md +0 -317
- mcp_vector_search-0.9.3/.changesets/README.md +0 -172
- mcp_vector_search-0.9.3/.changesets/template.md +0 -27
- mcp_vector_search-0.9.3/.editorconfig +0 -53
- mcp_vector_search-0.9.3/CLAUDE.md +0 -760
- mcp_vector_search-0.9.3/src/mcp_vector_search/cli/commands/visualize.py +0 -833
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/.github/workflows/ci.yml +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/.pre-commit-config.yaml +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/LICENSE +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/Makefile +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/PERFORMANCE_OPTIMIZATION_SUMMARY.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/CLI_FEATURES.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/DEPLOY.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/DEVELOPMENT.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/FEATURES.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/IMPROVEMENTS_SUMMARY.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/MCP_FILE_WATCHING.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/RELEASES.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/STRUCTURE.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/VERSIONING.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/VERSIONING_WORKFLOW.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/_archive/CLAUDE_20251009_pre_mpm_init.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/_archive/CLAUDE_MPM_INIT_SUMMARY_20251009.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/_archive/MPM_INIT_EXECUTIVE_SUMMARY.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/analysis/SEARCH_ANALYSIS_REPORT.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/analysis/SEARCH_IMPROVEMENT_PLAN.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/architecture/REINDEXING_WORKFLOW.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/debugging/SEARCH_BUG_ANALYSIS.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/developer/API.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/developer/CONTRIBUTING.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/developer/DEVELOPER.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/developer/LINTING.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/developer/REFACTORING_ANALYSIS.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/developer/TESTING.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/developer/TESTING_STRATEGY.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/developer/TEST_SUITE_SUMMARY.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/mcp-integration.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/optimizations/database-stats-chunked-processing.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/performance/CONNECTION_POOLING.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/performance/SEARCH_TIMING_ANALYSIS.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/prd/mcp_vector_search_prd_updated.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/reference/ENGINEER_TASK.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/reference/INSTALL.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/reference/INSTALL_COMMAND_ENHANCEMENTS.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/reference/MCP_SETUP.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/reference/PROJECT_ORGANIZATION.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/docs/technical/SIMILARITY_CALCULATION_FIX.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/examples/connection_pooling_example.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/examples/semi_automatic_reindexing_demo.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/mcp-vector-search-wrapper +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/README.md +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/analyze_search_bottlenecks.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/build.sh +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/changeset.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/comprehensive_build.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/deploy-test.sh +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/dev-build.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/dev-setup.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/dev-test.sh +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/fix_linting.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/mcp-dev +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/monitor_search_performance.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/publish.sh +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/quick_search_timing.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/run_search_timing_tests.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/run_tests.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/search_performance_monitor.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/search_quality_analyzer.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/setup/mcp-vector-search.sh +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/setup/setup-alias.sh +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/setup-dev-mcp.sh +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/update_docs.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/version_manager.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/scripts/workflow.sh +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/__init__.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/__init__.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/auto_index.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/config.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/demo.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/init.py +0 -0
- /mcp_vector_search-0.9.3/src/mcp_vector_search/cli/commands/install.py → /mcp_vector_search-0.12.1/src/mcp_vector_search/cli/commands/install_old.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/mcp.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/reset.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/search.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/watch.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/export.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/history.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/interactive.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/output.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/suggestions.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/config/__init__.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/config/constants.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/config/defaults.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/config/settings.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/__init__.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/auto_indexer.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/embeddings.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/exceptions.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/factory.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/git_hooks.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/scheduler.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/search.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/watcher.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/mcp/__init__.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/mcp/__main__.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/mcp/server.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/__init__.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/dart.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/html.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/php.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/ruby.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/text.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/utils.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/py.typed +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/utils/__init__.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/utils/monorepo.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/utils/timing.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/utils/version.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/tests/__init__.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/tests/sample_code/ast_test_javascript.js +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/tests/sample_code/ast_test_python.py +0 -0
- {mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/tests/sample_code/ast_test_typescript.ts +0 -0
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
# All dotfiles and dot-directories (catch-all)
|
|
2
|
+
.*
|
|
3
|
+
!.gitignore
|
|
4
|
+
!.github/
|
|
5
|
+
!.pre-commit-config.yaml
|
|
6
|
+
|
|
7
|
+
# Explicitly exclude common dotfiles/directories
|
|
8
|
+
.claude/
|
|
9
|
+
.changesets/
|
|
10
|
+
|
|
1
11
|
# MCP Vector Search specific
|
|
2
12
|
.mcp-vector-search/
|
|
3
13
|
*.db
|
|
@@ -179,6 +189,8 @@ test_*.py
|
|
|
179
189
|
*_test.py
|
|
180
190
|
debug_*.py
|
|
181
191
|
test_js_project/
|
|
192
|
+
test-screenshots/
|
|
193
|
+
chunk-graph.json
|
|
182
194
|
|
|
183
195
|
# UV specific
|
|
184
196
|
.uv/
|
|
@@ -287,3 +299,6 @@ pip-wheel-metadata/
|
|
|
287
299
|
site/
|
|
288
300
|
temp/
|
|
289
301
|
tmp/
|
|
302
|
+
|
|
303
|
+
# MCP Ticketer
|
|
304
|
+
.mcp-ticketer/
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Project Memory Configuration
|
|
2
|
+
|
|
3
|
+
This project uses KuzuMemory for intelligent context management.
|
|
4
|
+
|
|
5
|
+
## Project Information
|
|
6
|
+
- **Path**: /Users/masa/Projects/mcp-vector-search
|
|
7
|
+
- **Language**: Python
|
|
8
|
+
- **Framework**: Unknown
|
|
9
|
+
|
|
10
|
+
## Memory Integration
|
|
11
|
+
|
|
12
|
+
KuzuMemory is configured to enhance all AI interactions with project-specific context.
|
|
13
|
+
|
|
14
|
+
### Available Commands:
|
|
15
|
+
- `kuzu-memory enhance <prompt>` - Enhance prompts with project context
|
|
16
|
+
- `kuzu-memory learn <content>` - Store learning from conversations (async)
|
|
17
|
+
- `kuzu-memory recall <query>` - Query project memories
|
|
18
|
+
- `kuzu-memory stats` - View memory statistics
|
|
19
|
+
|
|
20
|
+
### MCP Tools Available:
|
|
21
|
+
When interacting with Claude Desktop, the following MCP tools are available:
|
|
22
|
+
- **kuzu_enhance**: Enhance prompts with project memories
|
|
23
|
+
- **kuzu_learn**: Store new learnings asynchronously
|
|
24
|
+
- **kuzu_recall**: Query specific memories
|
|
25
|
+
- **kuzu_stats**: Get memory system statistics
|
|
26
|
+
|
|
27
|
+
## Project Context
|
|
28
|
+
|
|
29
|
+
CLI-first semantic code search with MCP integration
|
|
30
|
+
|
|
31
|
+
## Key Technologies
|
|
32
|
+
- Python
|
|
33
|
+
|
|
34
|
+
## Development Guidelines
|
|
35
|
+
- Use kuzu-memory enhance for all AI interactions
|
|
36
|
+
- Store important decisions with kuzu-memory learn
|
|
37
|
+
- Query context with kuzu-memory recall when needed
|
|
38
|
+
- Keep memories project-specific and relevant
|
|
39
|
+
|
|
40
|
+
## Memory Guidelines
|
|
41
|
+
|
|
42
|
+
- Store project decisions and conventions
|
|
43
|
+
- Record technical specifications and API details
|
|
44
|
+
- Capture user preferences and patterns
|
|
45
|
+
- Document error solutions and workarounds
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
*Generated by KuzuMemory Claude Hooks Installer*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mcp-vector-search
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.12.1
|
|
4
4
|
Summary: CLI-first semantic code search with MCP integration
|
|
5
5
|
Project-URL: Homepage, https://github.com/bobmatnyc/mcp-vector-search
|
|
6
6
|
Project-URL: Documentation, https://mcp-vector-search.readthedocs.io
|
|
@@ -39,6 +39,7 @@ Classifier: Topic :: Software Development :: Code Generators
|
|
|
39
39
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
40
40
|
Requires-Python: >=3.11
|
|
41
41
|
Requires-Dist: aiofiles>=23.0.0
|
|
42
|
+
Requires-Dist: authlib>=1.6.4
|
|
42
43
|
Requires-Dist: chromadb>=0.5.0
|
|
43
44
|
Requires-Dist: click-didyoumean>=0.3.0
|
|
44
45
|
Requires-Dist: httpx>=0.25.0
|
|
@@ -110,49 +111,68 @@ cd mcp-vector-search
|
|
|
110
111
|
uv sync && uv pip install -e .
|
|
111
112
|
```
|
|
112
113
|
|
|
113
|
-
### Complete Setup
|
|
114
|
+
### Complete Setup (One Command)
|
|
114
115
|
|
|
115
|
-
The
|
|
116
|
+
The **hierarchical install command** (v0.13.0) provides complete project setup and MCP integration management:
|
|
116
117
|
|
|
117
118
|
```bash
|
|
118
|
-
#
|
|
119
|
+
# Quick setup (recommended)
|
|
119
120
|
mcp-vector-search install
|
|
120
121
|
|
|
121
|
-
#
|
|
122
|
-
|
|
122
|
+
# This will:
|
|
123
|
+
# 1. Initialize your project configuration
|
|
124
|
+
# 2. Automatically index your codebase
|
|
125
|
+
# 3. Provide next-step hints for MCP integration
|
|
123
126
|
|
|
124
|
-
#
|
|
125
|
-
mcp-vector-search install --mcp
|
|
126
|
-
|
|
127
|
-
# Setup without automatic indexing
|
|
128
|
-
mcp-vector-search install --no-index
|
|
127
|
+
# Install with all MCP integrations at once
|
|
128
|
+
mcp-vector-search install --with-mcp
|
|
129
129
|
|
|
130
130
|
# Custom file extensions
|
|
131
131
|
mcp-vector-search install --extensions .py,.js,.ts,.dart
|
|
132
|
+
|
|
133
|
+
# Skip automatic indexing
|
|
134
|
+
mcp-vector-search install --no-auto-index
|
|
132
135
|
```
|
|
133
136
|
|
|
134
|
-
|
|
135
|
-
- Initializes your project configuration
|
|
136
|
-
- Detects and configures MCP tools (Claude Code, Cursor, Windsurf, VS Code)
|
|
137
|
-
- Automatically indexes your codebase
|
|
138
|
-
- Provides rich progress indicators and next-step hints
|
|
137
|
+
### Add MCP Integration for AI Tools
|
|
139
138
|
|
|
140
|
-
|
|
139
|
+
```bash
|
|
140
|
+
# Add Claude Code integration (project-scoped)
|
|
141
|
+
mcp-vector-search install claude-code
|
|
142
|
+
|
|
143
|
+
# Add Cursor IDE integration (global)
|
|
144
|
+
mcp-vector-search install cursor
|
|
145
|
+
|
|
146
|
+
# Add Claude Desktop integration (global)
|
|
147
|
+
mcp-vector-search install claude-desktop
|
|
148
|
+
|
|
149
|
+
# See all available platforms
|
|
150
|
+
mcp-vector-search install list
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Remove MCP Integrations
|
|
141
154
|
|
|
142
155
|
```bash
|
|
143
|
-
#
|
|
144
|
-
mcp-vector-search
|
|
156
|
+
# Remove specific platform
|
|
157
|
+
mcp-vector-search uninstall claude-code
|
|
145
158
|
|
|
146
|
-
#
|
|
147
|
-
mcp-vector-search
|
|
159
|
+
# Remove all integrations
|
|
160
|
+
mcp-vector-search uninstall --all
|
|
148
161
|
|
|
162
|
+
# List configured integrations
|
|
163
|
+
mcp-vector-search uninstall list
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### Basic Usage
|
|
167
|
+
|
|
168
|
+
```bash
|
|
149
169
|
# Search your code
|
|
150
170
|
mcp-vector-search search "authentication logic"
|
|
151
171
|
mcp-vector-search search "database connection setup"
|
|
152
172
|
mcp-vector-search search "error handling patterns"
|
|
153
173
|
|
|
154
|
-
#
|
|
155
|
-
mcp-vector-search
|
|
174
|
+
# Index your codebase (if not done during install)
|
|
175
|
+
mcp-vector-search index
|
|
156
176
|
|
|
157
177
|
# Check project status
|
|
158
178
|
mcp-vector-search status
|
|
@@ -191,7 +211,50 @@ See [docs/VERSIONING_WORKFLOW.md](docs/VERSIONING_WORKFLOW.md) for complete docu
|
|
|
191
211
|
|
|
192
212
|
### Commands
|
|
193
213
|
|
|
194
|
-
#### `
|
|
214
|
+
#### `install` - Install Project and MCP Integrations (v0.13.0)
|
|
215
|
+
```bash
|
|
216
|
+
# Quick setup (recommended)
|
|
217
|
+
mcp-vector-search install
|
|
218
|
+
|
|
219
|
+
# Install with all MCP integrations
|
|
220
|
+
mcp-vector-search install --with-mcp
|
|
221
|
+
|
|
222
|
+
# Custom file extensions
|
|
223
|
+
mcp-vector-search install --extensions .py,.js,.ts
|
|
224
|
+
|
|
225
|
+
# Skip automatic indexing
|
|
226
|
+
mcp-vector-search install --no-auto-index
|
|
227
|
+
|
|
228
|
+
# Platform-specific MCP integration
|
|
229
|
+
mcp-vector-search install claude-code # Project-scoped
|
|
230
|
+
mcp-vector-search install claude-desktop # Global
|
|
231
|
+
mcp-vector-search install cursor # Global
|
|
232
|
+
mcp-vector-search install windsurf # Global
|
|
233
|
+
mcp-vector-search install vscode # Global
|
|
234
|
+
|
|
235
|
+
# List available platforms
|
|
236
|
+
mcp-vector-search install list
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
#### `uninstall` - Remove MCP Integrations (v0.13.0)
|
|
240
|
+
```bash
|
|
241
|
+
# Remove specific platform
|
|
242
|
+
mcp-vector-search uninstall claude-code
|
|
243
|
+
|
|
244
|
+
# Remove all integrations
|
|
245
|
+
mcp-vector-search uninstall --all
|
|
246
|
+
|
|
247
|
+
# List configured integrations
|
|
248
|
+
mcp-vector-search uninstall list
|
|
249
|
+
|
|
250
|
+
# Skip backup creation
|
|
251
|
+
mcp-vector-search uninstall claude-code --no-backup
|
|
252
|
+
|
|
253
|
+
# Alias (same as uninstall)
|
|
254
|
+
mcp-vector-search remove claude-code
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
#### `init` - Initialize Project (Simple)
|
|
195
258
|
```bash
|
|
196
259
|
# Basic initialization
|
|
197
260
|
mcp-vector-search init
|
|
@@ -53,49 +53,68 @@ cd mcp-vector-search
|
|
|
53
53
|
uv sync && uv pip install -e .
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
-
### Complete Setup
|
|
56
|
+
### Complete Setup (One Command)
|
|
57
57
|
|
|
58
|
-
The
|
|
58
|
+
The **hierarchical install command** (v0.13.0) provides complete project setup and MCP integration management:
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
|
-
#
|
|
61
|
+
# Quick setup (recommended)
|
|
62
62
|
mcp-vector-search install
|
|
63
63
|
|
|
64
|
-
#
|
|
65
|
-
|
|
64
|
+
# This will:
|
|
65
|
+
# 1. Initialize your project configuration
|
|
66
|
+
# 2. Automatically index your codebase
|
|
67
|
+
# 3. Provide next-step hints for MCP integration
|
|
66
68
|
|
|
67
|
-
#
|
|
68
|
-
mcp-vector-search install --mcp
|
|
69
|
-
|
|
70
|
-
# Setup without automatic indexing
|
|
71
|
-
mcp-vector-search install --no-index
|
|
69
|
+
# Install with all MCP integrations at once
|
|
70
|
+
mcp-vector-search install --with-mcp
|
|
72
71
|
|
|
73
72
|
# Custom file extensions
|
|
74
73
|
mcp-vector-search install --extensions .py,.js,.ts,.dart
|
|
74
|
+
|
|
75
|
+
# Skip automatic indexing
|
|
76
|
+
mcp-vector-search install --no-auto-index
|
|
75
77
|
```
|
|
76
78
|
|
|
77
|
-
|
|
78
|
-
- Initializes your project configuration
|
|
79
|
-
- Detects and configures MCP tools (Claude Code, Cursor, Windsurf, VS Code)
|
|
80
|
-
- Automatically indexes your codebase
|
|
81
|
-
- Provides rich progress indicators and next-step hints
|
|
79
|
+
### Add MCP Integration for AI Tools
|
|
82
80
|
|
|
83
|
-
|
|
81
|
+
```bash
|
|
82
|
+
# Add Claude Code integration (project-scoped)
|
|
83
|
+
mcp-vector-search install claude-code
|
|
84
|
+
|
|
85
|
+
# Add Cursor IDE integration (global)
|
|
86
|
+
mcp-vector-search install cursor
|
|
87
|
+
|
|
88
|
+
# Add Claude Desktop integration (global)
|
|
89
|
+
mcp-vector-search install claude-desktop
|
|
90
|
+
|
|
91
|
+
# See all available platforms
|
|
92
|
+
mcp-vector-search install list
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Remove MCP Integrations
|
|
84
96
|
|
|
85
97
|
```bash
|
|
86
|
-
#
|
|
87
|
-
mcp-vector-search
|
|
98
|
+
# Remove specific platform
|
|
99
|
+
mcp-vector-search uninstall claude-code
|
|
88
100
|
|
|
89
|
-
#
|
|
90
|
-
mcp-vector-search
|
|
101
|
+
# Remove all integrations
|
|
102
|
+
mcp-vector-search uninstall --all
|
|
91
103
|
|
|
104
|
+
# List configured integrations
|
|
105
|
+
mcp-vector-search uninstall list
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Basic Usage
|
|
109
|
+
|
|
110
|
+
```bash
|
|
92
111
|
# Search your code
|
|
93
112
|
mcp-vector-search search "authentication logic"
|
|
94
113
|
mcp-vector-search search "database connection setup"
|
|
95
114
|
mcp-vector-search search "error handling patterns"
|
|
96
115
|
|
|
97
|
-
#
|
|
98
|
-
mcp-vector-search
|
|
116
|
+
# Index your codebase (if not done during install)
|
|
117
|
+
mcp-vector-search index
|
|
99
118
|
|
|
100
119
|
# Check project status
|
|
101
120
|
mcp-vector-search status
|
|
@@ -134,7 +153,50 @@ See [docs/VERSIONING_WORKFLOW.md](docs/VERSIONING_WORKFLOW.md) for complete docu
|
|
|
134
153
|
|
|
135
154
|
### Commands
|
|
136
155
|
|
|
137
|
-
#### `
|
|
156
|
+
#### `install` - Install Project and MCP Integrations (v0.13.0)
|
|
157
|
+
```bash
|
|
158
|
+
# Quick setup (recommended)
|
|
159
|
+
mcp-vector-search install
|
|
160
|
+
|
|
161
|
+
# Install with all MCP integrations
|
|
162
|
+
mcp-vector-search install --with-mcp
|
|
163
|
+
|
|
164
|
+
# Custom file extensions
|
|
165
|
+
mcp-vector-search install --extensions .py,.js,.ts
|
|
166
|
+
|
|
167
|
+
# Skip automatic indexing
|
|
168
|
+
mcp-vector-search install --no-auto-index
|
|
169
|
+
|
|
170
|
+
# Platform-specific MCP integration
|
|
171
|
+
mcp-vector-search install claude-code # Project-scoped
|
|
172
|
+
mcp-vector-search install claude-desktop # Global
|
|
173
|
+
mcp-vector-search install cursor # Global
|
|
174
|
+
mcp-vector-search install windsurf # Global
|
|
175
|
+
mcp-vector-search install vscode # Global
|
|
176
|
+
|
|
177
|
+
# List available platforms
|
|
178
|
+
mcp-vector-search install list
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
#### `uninstall` - Remove MCP Integrations (v0.13.0)
|
|
182
|
+
```bash
|
|
183
|
+
# Remove specific platform
|
|
184
|
+
mcp-vector-search uninstall claude-code
|
|
185
|
+
|
|
186
|
+
# Remove all integrations
|
|
187
|
+
mcp-vector-search uninstall --all
|
|
188
|
+
|
|
189
|
+
# List configured integrations
|
|
190
|
+
mcp-vector-search uninstall list
|
|
191
|
+
|
|
192
|
+
# Skip backup creation
|
|
193
|
+
mcp-vector-search uninstall claude-code --no-backup
|
|
194
|
+
|
|
195
|
+
# Alias (same as uninstall)
|
|
196
|
+
mcp-vector-search remove claude-code
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
#### `init` - Initialize Project (Simple)
|
|
138
200
|
```bash
|
|
139
201
|
# Basic initialization
|
|
140
202
|
mcp-vector-search init
|
|
@@ -7,6 +7,61 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.13.0] - 2025-10-27
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- **Hierarchical Install/Uninstall Commands**: Complete CLI command restructuring for better user experience
|
|
14
|
+
- New `install` command with platform-specific subcommands
|
|
15
|
+
- New `uninstall` command for removing MCP integrations
|
|
16
|
+
- Support for 5 MCP platforms: claude-code, claude-desktop, cursor, windsurf, vscode
|
|
17
|
+
- Project-scoped configuration (`.mcp.json`) for claude-code
|
|
18
|
+
- Global-scoped configuration for other platforms (home directory)
|
|
19
|
+
- `install list` and `uninstall list` for platform discovery
|
|
20
|
+
- `remove` command as alias for `uninstall`
|
|
21
|
+
- `--with-mcp` flag to install all MCP integrations at once
|
|
22
|
+
- `--no-auto-index` flag to skip automatic indexing
|
|
23
|
+
- `--no-backup` flag for uninstall operations
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
- **MCP Command Reserved**: The `mcp` command is now exclusively for MCP server operations (not installation)
|
|
27
|
+
- `mcp-vector-search mcp` - Start MCP server (stdio mode)
|
|
28
|
+
- `mcp-vector-search mcp list` - List configured servers
|
|
29
|
+
- `mcp-vector-search mcp test` - Test server startup
|
|
30
|
+
- **Install Command Reintroduced**: Previously deprecated `install` command is back with new hierarchical structure
|
|
31
|
+
- `install` is now the primary command for project setup and MCP integration
|
|
32
|
+
- `init` remains available for simple project initialization without MCP
|
|
33
|
+
|
|
34
|
+
### Deprecated
|
|
35
|
+
- `init-mcp` command deprecated in favor of `install claude-code` (or other platform subcommands)
|
|
36
|
+
|
|
37
|
+
### Files Modified
|
|
38
|
+
- `src/mcp_vector_search/cli/commands/install.py` - Rewritten with hierarchical structure
|
|
39
|
+
- `src/mcp_vector_search/cli/commands/uninstall.py` - New command for MCP removal
|
|
40
|
+
- `src/mcp_vector_search/cli/main.py` - Updated command registration and help text
|
|
41
|
+
- `CLAUDE.md` - Updated with new command examples and structure
|
|
42
|
+
- `README.md` - Updated quick start and command documentation
|
|
43
|
+
|
|
44
|
+
### Migration Guide
|
|
45
|
+
**Old Pattern** (v0.12.0 and earlier):
|
|
46
|
+
```bash
|
|
47
|
+
mcp-vector-search init --mcp
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**New Pattern** (v0.13.0+):
|
|
51
|
+
```bash
|
|
52
|
+
# Quick setup
|
|
53
|
+
mcp-vector-search install
|
|
54
|
+
|
|
55
|
+
# Add specific platform
|
|
56
|
+
mcp-vector-search install claude-code
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
The new structure provides:
|
|
60
|
+
- Better command discoverability
|
|
61
|
+
- Fine-grained platform control
|
|
62
|
+
- Clear separation between installation and MCP server operations
|
|
63
|
+
- Ability to remove specific integrations
|
|
64
|
+
|
|
10
65
|
### Added
|
|
11
66
|
- **HTML Language Support**: Full HTML parser implementation
|
|
12
67
|
- Semantic content extraction from HTML tags
|
|
@@ -56,6 +111,52 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
56
111
|
- Created parser utilities module to reduce code duplication (potential -800 to -1000 LOC)
|
|
57
112
|
- Proper LRU cache implementation with statistics and configurable size
|
|
58
113
|
|
|
114
|
+
## [0.12.0] - 2025-10-25
|
|
115
|
+
|
|
116
|
+
### Added
|
|
117
|
+
- **Hierarchical Graph Visualization**: Complete directory, file, and chunk-based visualization system
|
|
118
|
+
- Interactive D3.js force-directed graph with expand/collapse functionality
|
|
119
|
+
- Directory nodes expand to show all files and subdirectories
|
|
120
|
+
- File nodes expand to show individual code chunks with metadata
|
|
121
|
+
- Visual hierarchy with optimized 35px folder/file icons
|
|
122
|
+
- Cache-busting URL parameters and meta tags for fresh data loading
|
|
123
|
+
|
|
124
|
+
### Enhanced
|
|
125
|
+
- **Graph Link Visibility**: Improved visual clarity of relationships
|
|
126
|
+
- Enhanced link colors with better opacity (0.4 for directories, 0.3 for files)
|
|
127
|
+
- Dynamic link distances based on node types (150px directories, 80px files/chunks)
|
|
128
|
+
- Optimized collision detection with dynamic radius calculations
|
|
129
|
+
- Better auto-spacing with enhanced force simulation parameters
|
|
130
|
+
|
|
131
|
+
- **Expand/Collapse Functionality**: Robust node interaction system
|
|
132
|
+
- Working directory expansion showing all child files and subdirectories
|
|
133
|
+
- File expansion revealing all contained code chunks
|
|
134
|
+
- Preserves original link structure before D3 modifications
|
|
135
|
+
- Proper state management for expanded/collapsed nodes
|
|
136
|
+
- Visual feedback with node color changes
|
|
137
|
+
|
|
138
|
+
### Fixed
|
|
139
|
+
- **Parent Directory Linking**: Corrected absolute to relative path conversion
|
|
140
|
+
- Fixed lookup of parent directory IDs during graph generation
|
|
141
|
+
- Proper handling of nested directory structures
|
|
142
|
+
- Consistent path normalization across all node types
|
|
143
|
+
|
|
144
|
+
- **Stale Data Prevention**: Enhanced data freshness mechanisms
|
|
145
|
+
- Added `Cache-Control: no-cache, no-store, must-revalidate` meta tags
|
|
146
|
+
- Implemented timestamp-based cache-busting for JSON files
|
|
147
|
+
- Ensured visualization directory contains latest graph data
|
|
148
|
+
- Prevents browser caching of outdated graph structures
|
|
149
|
+
|
|
150
|
+
### Files Modified
|
|
151
|
+
- `src/mcp_vector_search/visualization/index.html` - UI improvements, expand/collapse fixes, cache prevention
|
|
152
|
+
- `src/mcp_vector_search/cli/commands/visualize.py` - Parent directory path normalization and linking fixes
|
|
153
|
+
|
|
154
|
+
### Technical Details
|
|
155
|
+
- Zero new dependencies (uses existing D3.js v7)
|
|
156
|
+
- Enhanced force simulation with configurable parameters
|
|
157
|
+
- Improved node interaction state management
|
|
158
|
+
- Better visual design with optimized spacing and colors
|
|
159
|
+
|
|
59
160
|
## [0.5.0] - 2025-10-02
|
|
60
161
|
|
|
61
162
|
### Added
|
|
@@ -38,6 +38,7 @@ dependencies = [
|
|
|
38
38
|
"mcp>=1.12.4",
|
|
39
39
|
"click-didyoumean>=0.3.0",
|
|
40
40
|
"packaging>=23.0",
|
|
41
|
+
"authlib>=1.6.4",
|
|
41
42
|
]
|
|
42
43
|
|
|
43
44
|
[dependency-groups]
|
|
@@ -47,6 +48,8 @@ dev = [
|
|
|
47
48
|
"pytest-benchmark>=4.0.0",
|
|
48
49
|
"pytest-cov>=4.1.0",
|
|
49
50
|
"pytest-mock>=3.11.0",
|
|
51
|
+
"pytest-xdist>=3.3.0",
|
|
52
|
+
"pytest-watch>=4.2.0",
|
|
50
53
|
"hypothesis>=6.88.0",
|
|
51
54
|
"black>=23.0.0",
|
|
52
55
|
"ruff>=0.1.0",
|
|
@@ -80,13 +83,7 @@ path = "src/mcp_vector_search/__init__.py"
|
|
|
80
83
|
packages = ["src/mcp_vector_search"]
|
|
81
84
|
|
|
82
85
|
# UV-specific configuration
|
|
83
|
-
[
|
|
84
|
-
dev-dependencies = [
|
|
85
|
-
"pytest-xdist>=3.3.0",
|
|
86
|
-
"pytest-watch>=4.2.0",
|
|
87
|
-
]
|
|
88
|
-
|
|
89
|
-
# UV sources configuration removed - using standard dependencies
|
|
86
|
+
# Note: dev-dependencies moved to [dependency-groups] section above
|
|
90
87
|
|
|
91
88
|
# Development tools configuration
|
|
92
89
|
[tool.black]
|
{mcp_vector_search-0.9.3 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/index.py
RENAMED
|
@@ -67,6 +67,13 @@ def main(
|
|
|
67
67
|
max=128,
|
|
68
68
|
rich_help_panel="⚡ Performance",
|
|
69
69
|
),
|
|
70
|
+
debug: bool = typer.Option(
|
|
71
|
+
False,
|
|
72
|
+
"--debug",
|
|
73
|
+
"-d",
|
|
74
|
+
help="Enable debug output (shows hierarchy building details)",
|
|
75
|
+
rich_help_panel="🔍 Debugging",
|
|
76
|
+
),
|
|
70
77
|
) -> None:
|
|
71
78
|
"""📑 Index your codebase for semantic search.
|
|
72
79
|
|
|
@@ -114,6 +121,7 @@ def main(
|
|
|
114
121
|
force_reindex=force,
|
|
115
122
|
batch_size=batch_size,
|
|
116
123
|
show_progress=True,
|
|
124
|
+
debug=debug,
|
|
117
125
|
)
|
|
118
126
|
)
|
|
119
127
|
|
|
@@ -134,6 +142,7 @@ async def run_indexing(
|
|
|
134
142
|
force_reindex: bool = False,
|
|
135
143
|
batch_size: int = 32,
|
|
136
144
|
show_progress: bool = True,
|
|
145
|
+
debug: bool = False,
|
|
137
146
|
) -> None:
|
|
138
147
|
"""Run the indexing process."""
|
|
139
148
|
# Load project configuration
|
|
@@ -179,6 +188,7 @@ async def run_indexing(
|
|
|
179
188
|
database=database,
|
|
180
189
|
project_root=project_root,
|
|
181
190
|
file_extensions=file_extensions,
|
|
191
|
+
debug=debug,
|
|
182
192
|
)
|
|
183
193
|
|
|
184
194
|
try:
|
|
@@ -324,19 +334,41 @@ async def _run_batch_indexing(
|
|
|
324
334
|
)
|
|
325
335
|
)
|
|
326
336
|
|
|
337
|
+
# Rebuild directory index after indexing completes
|
|
338
|
+
try:
|
|
339
|
+
import os
|
|
340
|
+
|
|
341
|
+
chunk_stats = {}
|
|
342
|
+
for file_path in files_to_index:
|
|
343
|
+
try:
|
|
344
|
+
mtime = os.path.getmtime(file_path)
|
|
345
|
+
chunk_stats[str(file_path)] = {
|
|
346
|
+
"modified": mtime,
|
|
347
|
+
"chunks": 1, # Placeholder - real counts are in database
|
|
348
|
+
}
|
|
349
|
+
except OSError:
|
|
350
|
+
pass
|
|
351
|
+
|
|
352
|
+
indexer.directory_index.rebuild_from_files(
|
|
353
|
+
files_to_index, indexer.project_root, chunk_stats=chunk_stats
|
|
354
|
+
)
|
|
355
|
+
indexer.directory_index.save()
|
|
356
|
+
except Exception as e:
|
|
357
|
+
logger.error(f"Failed to update directory index: {e}")
|
|
358
|
+
|
|
327
359
|
# Final progress summary
|
|
328
360
|
console.print()
|
|
329
361
|
if failed_count > 0:
|
|
330
362
|
console.print(
|
|
331
363
|
f"[yellow]⚠ {failed_count} files failed to index[/yellow]"
|
|
332
364
|
)
|
|
333
|
-
error_log_path =
|
|
365
|
+
error_log_path = (
|
|
366
|
+
indexer.project_root / ".mcp-vector-search" / "indexing_errors.log"
|
|
367
|
+
)
|
|
334
368
|
if error_log_path.exists():
|
|
335
369
|
# Prune log to keep only last 1000 errors
|
|
336
370
|
_prune_error_log(error_log_path, max_lines=1000)
|
|
337
|
-
console.print(
|
|
338
|
-
f"[dim] → See details in: {error_log_path}[/dim]"
|
|
339
|
-
)
|
|
371
|
+
console.print(f"[dim] → See details in: {error_log_path}[/dim]")
|
|
340
372
|
else:
|
|
341
373
|
# Non-progress mode (fallback to original behavior)
|
|
342
374
|
indexed_count = await indexer.index_project(
|
|
@@ -643,22 +675,10 @@ def watch_cmd(
|
|
|
643
675
|
watch_app()
|
|
644
676
|
|
|
645
677
|
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
"""🔄 Manage automatic indexing.
|
|
649
|
-
|
|
650
|
-
Configure automatic indexing strategies like git hooks and scheduled tasks.
|
|
651
|
-
This command provides subcommands for setup, status, and checking.
|
|
652
|
-
|
|
653
|
-
Examples:
|
|
654
|
-
mcp-vector-search index auto setup
|
|
655
|
-
mcp-vector-search index auto status
|
|
656
|
-
mcp-vector-search index auto check
|
|
657
|
-
"""
|
|
658
|
-
from .auto_index import auto_index_app
|
|
678
|
+
# Import and register auto-index sub-app as a proper typer group
|
|
679
|
+
from .auto_index import auto_index_app # noqa: E402
|
|
659
680
|
|
|
660
|
-
|
|
661
|
-
auto_index_app()
|
|
681
|
+
index_app.add_typer(auto_index_app, name="auto", help="🔄 Manage automatic indexing")
|
|
662
682
|
|
|
663
683
|
|
|
664
684
|
@index_app.command("health")
|
|
@@ -702,17 +722,19 @@ def _prune_error_log(log_path: Path, max_lines: int = 1000) -> None:
|
|
|
702
722
|
max_lines: Maximum number of lines to keep (default: 1000)
|
|
703
723
|
"""
|
|
704
724
|
try:
|
|
705
|
-
with open(log_path
|
|
725
|
+
with open(log_path) as f:
|
|
706
726
|
lines = f.readlines()
|
|
707
727
|
|
|
708
728
|
if len(lines) > max_lines:
|
|
709
729
|
# Keep only the last max_lines lines
|
|
710
730
|
pruned_lines = lines[-max_lines:]
|
|
711
731
|
|
|
712
|
-
with open(log_path,
|
|
732
|
+
with open(log_path, "w") as f:
|
|
713
733
|
f.writelines(pruned_lines)
|
|
714
734
|
|
|
715
|
-
logger.debug(
|
|
735
|
+
logger.debug(
|
|
736
|
+
f"Pruned error log from {len(lines)} to {len(pruned_lines)} lines"
|
|
737
|
+
)
|
|
716
738
|
except Exception as e:
|
|
717
739
|
logger.warning(f"Failed to prune error log: {e}")
|
|
718
740
|
|