mcp-code-indexer 4.2.10__tar.gz → 4.2.12__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.
Files changed (64) hide show
  1. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/PKG-INFO +3 -3
  2. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/README.md +2 -2
  3. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/pyproject.toml +1 -1
  4. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/main.py +17 -0
  5. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/LICENSE +0 -0
  6. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/__init__.py +0 -0
  7. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/__main__.py +0 -0
  8. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/ask_handler.py +0 -0
  9. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/claude_api_handler.py +0 -0
  10. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/cleanup_manager.py +0 -0
  11. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/commands/__init__.py +0 -0
  12. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/commands/makelocal.py +0 -0
  13. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/data/stop_words_english.txt +0 -0
  14. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/database/__init__.py +0 -0
  15. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/database/connection_health.py +0 -0
  16. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/database/database.py +0 -0
  17. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/database/database_factory.py +0 -0
  18. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/database/exceptions.py +0 -0
  19. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/database/models.py +0 -0
  20. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/database/path_resolver.py +0 -0
  21. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/database/retry_executor.py +0 -0
  22. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/deepask_handler.py +0 -0
  23. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/error_handler.py +0 -0
  24. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/file_scanner.py +0 -0
  25. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/git_hook_handler.py +0 -0
  26. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/logging_config.py +0 -0
  27. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/middleware/__init__.py +0 -0
  28. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/middleware/auth.py +0 -0
  29. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/middleware/error_middleware.py +0 -0
  30. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/middleware/logging.py +0 -0
  31. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/middleware/security.py +0 -0
  32. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/migrations/001_initial.sql +0 -0
  33. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/migrations/002_performance_indexes.sql +0 -0
  34. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/migrations/003_project_overviews.sql +0 -0
  35. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/migrations/004_remove_branch_dependency.sql +0 -0
  36. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/migrations/005_remove_git_remotes.sql +0 -0
  37. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/migrations/006_vector_mode.sql +0 -0
  38. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/query_preprocessor.py +0 -0
  39. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/server/__init__.py +0 -0
  40. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/server/mcp_server.py +0 -0
  41. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/tiktoken_cache/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 +0 -0
  42. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/token_counter.py +0 -0
  43. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/tools/__init__.py +0 -0
  44. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/transport/__init__.py +0 -0
  45. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/transport/base.py +0 -0
  46. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/transport/http_transport.py +0 -0
  47. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/transport/stdio_transport.py +0 -0
  48. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/vector_mode/__init__.py +0 -0
  49. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/vector_mode/chunking/__init__.py +0 -0
  50. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/vector_mode/chunking/ast_chunker.py +0 -0
  51. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/vector_mode/chunking/chunk_optimizer.py +0 -0
  52. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/vector_mode/chunking/language_handlers.py +0 -0
  53. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/vector_mode/config.py +0 -0
  54. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/vector_mode/daemon.py +0 -0
  55. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/vector_mode/monitoring/__init__.py +0 -0
  56. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/vector_mode/monitoring/change_detector.py +0 -0
  57. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/vector_mode/monitoring/file_watcher.py +0 -0
  58. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/vector_mode/monitoring/merkle_tree.py +0 -0
  59. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/vector_mode/providers/__init__.py +0 -0
  60. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/vector_mode/providers/turbopuffer_client.py +0 -0
  61. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/vector_mode/providers/voyage_client.py +0 -0
  62. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/vector_mode/security/__init__.py +0 -0
  63. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/vector_mode/security/patterns.py +0 -0
  64. {mcp_code_indexer-4.2.10 → mcp_code_indexer-4.2.12}/src/mcp_code_indexer/vector_mode/security/redactor.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: mcp-code-indexer
3
- Version: 4.2.10
3
+ Version: 4.2.12
4
4
  Summary: MCP server that tracks file descriptions across codebases, enabling AI agents to efficiently navigate and understand code through searchable summaries and token-aware overviews.
5
5
  License: MIT
6
6
  Keywords: mcp,model-context-protocol,code-indexer,ai-tools,codebase-navigation,file-descriptions,llm-tools
@@ -48,8 +48,8 @@ Description-Content-Type: text/markdown
48
48
 
49
49
  # MCP Code Indexer 🚀
50
50
 
51
- [![PyPI version](https://badge.fury.io/py/mcp-code-indexer.svg?57)](https://badge.fury.io/py/mcp-code-indexer)
52
- [![Python](https://img.shields.io/pypi/pyversions/mcp-code-indexer.svg?57)](https://pypi.org/project/mcp-code-indexer/)
51
+ [![PyPI version](https://badge.fury.io/py/mcp-code-indexer.svg?59)](https://badge.fury.io/py/mcp-code-indexer)
52
+ [![Python](https://img.shields.io/pypi/pyversions/mcp-code-indexer.svg?59)](https://pypi.org/project/mcp-code-indexer/)
53
53
  [![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
54
54
 
55
55
  A production-ready **Model Context Protocol (MCP) server** that revolutionizes how AI agents navigate and understand codebases. Built for high-concurrency environments with advanced database resilience, the server provides instant access to intelligent descriptions, semantic search, and context-aware recommendations while maintaining 800+ writes/sec throughput.
@@ -1,7 +1,7 @@
1
1
  # MCP Code Indexer 🚀
2
2
 
3
- [![PyPI version](https://badge.fury.io/py/mcp-code-indexer.svg?57)](https://badge.fury.io/py/mcp-code-indexer)
4
- [![Python](https://img.shields.io/pypi/pyversions/mcp-code-indexer.svg?57)](https://pypi.org/project/mcp-code-indexer/)
3
+ [![PyPI version](https://badge.fury.io/py/mcp-code-indexer.svg?59)](https://badge.fury.io/py/mcp-code-indexer)
4
+ [![Python](https://img.shields.io/pypi/pyversions/mcp-code-indexer.svg?59)](https://pypi.org/project/mcp-code-indexer/)
5
5
  [![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
6
6
 
7
7
  A production-ready **Model Context Protocol (MCP) server** that revolutionizes how AI agents navigate and understand codebases. Built for high-concurrency environments with advanced database resilience, the server provides instant access to intelligent descriptions, semantic search, and context-aware recommendations while maintaining 800+ writes/sec throughput.
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
4
4
 
5
5
  [tool.poetry]
6
6
  name = "mcp-code-indexer"
7
- version = "4.2.10"
7
+ version = "4.2.12"
8
8
  description = "MCP server that tracks file descriptions across codebases, enabling AI agents to efficiently navigate and understand code through searchable summaries and token-aware overviews."
9
9
  authors = ["MCP Code Indexer Contributors"]
10
10
  maintainers = ["MCP Code Indexer Contributors"]
@@ -1112,6 +1112,23 @@ async def main() -> None:
1112
1112
  await vector_daemon_task
1113
1113
  except asyncio.CancelledError:
1114
1114
  logger.info("Vector daemon cancelled successfully")
1115
+
1116
+ # Clean up any remaining asyncio tasks to prevent hanging
1117
+ current_task = asyncio.current_task()
1118
+ tasks = [task for task in asyncio.all_tasks() if not task.done() and task is not current_task]
1119
+ if tasks:
1120
+ logger.info(f"Cancelling {len(tasks)} remaining tasks")
1121
+ for task in tasks:
1122
+ if not task.cancelled():
1123
+ task.cancel()
1124
+ # Wait for cancellation but don't wait forever
1125
+ try:
1126
+ await asyncio.wait_for(
1127
+ asyncio.gather(*tasks, return_exceptions=True),
1128
+ timeout=2.0
1129
+ )
1130
+ except asyncio.TimeoutError:
1131
+ logger.warning("Some tasks did not cancel within timeout")
1115
1132
 
1116
1133
 
1117
1134
  def cli_main() -> None: