mcp-code-indexer 4.2.7__tar.gz → 4.2.9__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.
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/PKG-INFO +3 -3
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/README.md +2 -2
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/pyproject.toml +1 -1
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/main.py +39 -2
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/vector_mode/daemon.py +11 -31
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/LICENSE +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/__init__.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/__main__.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/ask_handler.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/claude_api_handler.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/cleanup_manager.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/commands/__init__.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/commands/makelocal.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/data/stop_words_english.txt +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/database/__init__.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/database/connection_health.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/database/database.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/database/database_factory.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/database/exceptions.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/database/models.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/database/path_resolver.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/database/retry_executor.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/deepask_handler.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/error_handler.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/file_scanner.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/git_hook_handler.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/logging_config.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/middleware/__init__.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/middleware/auth.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/middleware/error_middleware.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/middleware/logging.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/middleware/security.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/migrations/001_initial.sql +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/migrations/002_performance_indexes.sql +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/migrations/003_project_overviews.sql +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/migrations/004_remove_branch_dependency.sql +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/migrations/005_remove_git_remotes.sql +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/migrations/006_vector_mode.sql +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/query_preprocessor.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/server/__init__.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/server/mcp_server.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/tiktoken_cache/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/token_counter.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/tools/__init__.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/transport/__init__.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/transport/base.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/transport/http_transport.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/transport/stdio_transport.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/vector_mode/__init__.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/vector_mode/chunking/__init__.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/vector_mode/chunking/ast_chunker.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/vector_mode/chunking/chunk_optimizer.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/vector_mode/chunking/language_handlers.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/vector_mode/config.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/vector_mode/monitoring/__init__.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/vector_mode/monitoring/change_detector.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/vector_mode/monitoring/file_watcher.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/vector_mode/monitoring/merkle_tree.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/vector_mode/providers/__init__.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/vector_mode/providers/turbopuffer_client.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/vector_mode/providers/voyage_client.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/vector_mode/security/__init__.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/vector_mode/security/patterns.py +0 -0
- {mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/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.
|
|
3
|
+
Version: 4.2.9
|
|
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
|
-
[](https://badge.fury.io/py/mcp-code-indexer)
|
|
52
|
+
[](https://pypi.org/project/mcp-code-indexer/)
|
|
53
53
|
[](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
|
-
[](https://badge.fury.io/py/mcp-code-indexer)
|
|
4
|
+
[](https://pypi.org/project/mcp-code-indexer/)
|
|
5
5
|
[](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.
|
|
7
|
+
version = "4.2.9"
|
|
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"]
|
|
@@ -8,6 +8,7 @@ Entry point for the mcp-code-indexer package when installed via pip.
|
|
|
8
8
|
import argparse
|
|
9
9
|
import asyncio
|
|
10
10
|
import json
|
|
11
|
+
import signal
|
|
11
12
|
import sys
|
|
12
13
|
from pathlib import Path
|
|
13
14
|
from typing import Any, Dict, List, Optional
|
|
@@ -1094,7 +1095,40 @@ async def main() -> None:
|
|
|
1094
1095
|
if transport:
|
|
1095
1096
|
transport.server = server
|
|
1096
1097
|
|
|
1097
|
-
|
|
1098
|
+
# Setup signal handling for graceful shutdown
|
|
1099
|
+
shutdown_event = asyncio.Event()
|
|
1100
|
+
|
|
1101
|
+
def signal_handler(signum):
|
|
1102
|
+
logger.info(f"Received shutdown signal {signum}")
|
|
1103
|
+
shutdown_event.set()
|
|
1104
|
+
|
|
1105
|
+
# Register signal handlers
|
|
1106
|
+
loop = asyncio.get_running_loop()
|
|
1107
|
+
for sig in [signal.SIGTERM, signal.SIGINT]:
|
|
1108
|
+
loop.add_signal_handler(sig, signal_handler, sig)
|
|
1109
|
+
|
|
1110
|
+
# Run server and wait for shutdown signal
|
|
1111
|
+
server_task = asyncio.create_task(server.run())
|
|
1112
|
+
shutdown_task = asyncio.create_task(shutdown_event.wait())
|
|
1113
|
+
|
|
1114
|
+
try:
|
|
1115
|
+
# Wait for either server completion or shutdown signal
|
|
1116
|
+
done, pending = await asyncio.wait(
|
|
1117
|
+
[server_task, shutdown_task],
|
|
1118
|
+
return_when=asyncio.FIRST_COMPLETED
|
|
1119
|
+
)
|
|
1120
|
+
|
|
1121
|
+
# Cancel remaining tasks
|
|
1122
|
+
for task in pending:
|
|
1123
|
+
task.cancel()
|
|
1124
|
+
try:
|
|
1125
|
+
await task
|
|
1126
|
+
except asyncio.CancelledError:
|
|
1127
|
+
pass
|
|
1128
|
+
|
|
1129
|
+
except Exception as e:
|
|
1130
|
+
error_handler.log_error(e, context={"phase": "runtime"})
|
|
1131
|
+
raise
|
|
1098
1132
|
|
|
1099
1133
|
except Exception as e:
|
|
1100
1134
|
error_handler.log_error(e, context={"phase": "startup"})
|
|
@@ -1104,10 +1138,13 @@ async def main() -> None:
|
|
|
1104
1138
|
if vector_daemon_task and not vector_daemon_task.done():
|
|
1105
1139
|
logger.info("Cancelling vector daemon")
|
|
1106
1140
|
vector_daemon_task.cancel()
|
|
1141
|
+
|
|
1142
|
+
# Wait for vector daemon to finish
|
|
1143
|
+
if vector_daemon_task:
|
|
1107
1144
|
try:
|
|
1108
1145
|
await vector_daemon_task
|
|
1109
1146
|
except asyncio.CancelledError:
|
|
1110
|
-
|
|
1147
|
+
logger.info("Vector daemon cancelled successfully")
|
|
1111
1148
|
|
|
1112
1149
|
|
|
1113
1150
|
def cli_main() -> None:
|
{mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/vector_mode/daemon.py
RENAMED
|
@@ -38,8 +38,6 @@ class VectorDaemon:
|
|
|
38
38
|
self.db_manager = db_manager
|
|
39
39
|
self.cache_dir = cache_dir
|
|
40
40
|
self.is_running = False
|
|
41
|
-
self.shutdown_requested = False
|
|
42
|
-
self.shutdown_event = asyncio.Event()
|
|
43
41
|
|
|
44
42
|
# Process tracking
|
|
45
43
|
self.monitored_projects: Set[str] = set()
|
|
@@ -56,24 +54,7 @@ class VectorDaemon:
|
|
|
56
54
|
"last_activity": time.time(),
|
|
57
55
|
}
|
|
58
56
|
|
|
59
|
-
#
|
|
60
|
-
|
|
61
|
-
def _setup_signal_handlers(self) -> None:
|
|
62
|
-
"""Setup signal handlers for graceful shutdown."""
|
|
63
|
-
try:
|
|
64
|
-
loop = asyncio.get_running_loop()
|
|
65
|
-
for sig in [signal.SIGTERM, signal.SIGINT]:
|
|
66
|
-
loop.add_signal_handler(sig, self._signal_handler, sig)
|
|
67
|
-
if hasattr(signal, 'SIGHUP'):
|
|
68
|
-
loop.add_signal_handler(signal.SIGHUP, self._signal_handler, signal.SIGHUP)
|
|
69
|
-
except Exception as e:
|
|
70
|
-
logger.warning(f"Could not setup signal handlers: {e}")
|
|
71
|
-
|
|
72
|
-
def _signal_handler(self, signum: int) -> None:
|
|
73
|
-
"""Handle shutdown signals."""
|
|
74
|
-
logger.info(f"Received signal {signum}, initiating graceful shutdown")
|
|
75
|
-
self.shutdown_requested = True
|
|
76
|
-
self.shutdown_event.set()
|
|
57
|
+
# Signal handling is delegated to the parent process
|
|
77
58
|
|
|
78
59
|
async def start(self) -> None:
|
|
79
60
|
"""Start the vector daemon."""
|
|
@@ -83,9 +64,6 @@ class VectorDaemon:
|
|
|
83
64
|
|
|
84
65
|
self.is_running = True
|
|
85
66
|
|
|
86
|
-
# Setup signal handlers now that we have an event loop
|
|
87
|
-
self._setup_signal_handlers()
|
|
88
|
-
|
|
89
67
|
logger.info(
|
|
90
68
|
"Starting vector daemon",
|
|
91
69
|
extra={
|
|
@@ -119,19 +97,21 @@ class VectorDaemon:
|
|
|
119
97
|
finally:
|
|
120
98
|
await self._cleanup()
|
|
121
99
|
|
|
122
|
-
async def _notify_shutdown(self) -> None:
|
|
123
|
-
"""Notify shutdown event (called from signal handler)."""
|
|
124
|
-
self.shutdown_event.set()
|
|
125
|
-
|
|
126
100
|
async def _run_until_shutdown(self) -> None:
|
|
127
101
|
"""Run daemon until shutdown is requested."""
|
|
128
|
-
|
|
102
|
+
# Wait indefinitely until task is cancelled by parent process
|
|
103
|
+
try:
|
|
104
|
+
while True:
|
|
105
|
+
await asyncio.sleep(1.0)
|
|
106
|
+
except asyncio.CancelledError:
|
|
107
|
+
logger.info("Vector daemon shutdown requested")
|
|
108
|
+
raise
|
|
129
109
|
|
|
130
110
|
async def _monitor_projects(self) -> None:
|
|
131
111
|
"""Monitor projects for vector indexing requirements."""
|
|
132
112
|
logger.info("Starting project monitoring")
|
|
133
113
|
|
|
134
|
-
while
|
|
114
|
+
while self.is_running:
|
|
135
115
|
try:
|
|
136
116
|
# Get all projects that need vector indexing
|
|
137
117
|
projects = await self.db_manager.get_all_projects()
|
|
@@ -176,7 +156,7 @@ class VectorDaemon:
|
|
|
176
156
|
"""Worker task to process queued items."""
|
|
177
157
|
logger.info(f"Starting worker: {worker_id}")
|
|
178
158
|
|
|
179
|
-
while
|
|
159
|
+
while self.is_running:
|
|
180
160
|
try:
|
|
181
161
|
# Get task from queue with timeout
|
|
182
162
|
try:
|
|
@@ -245,7 +225,7 @@ class VectorDaemon:
|
|
|
245
225
|
|
|
246
226
|
async def _stats_reporter(self) -> None:
|
|
247
227
|
"""Periodically report daemon statistics."""
|
|
248
|
-
while
|
|
228
|
+
while self.is_running:
|
|
249
229
|
try:
|
|
250
230
|
uptime = time.time() - self.stats["start_time"]
|
|
251
231
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/claude_api_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/commands/makelocal.py
RENAMED
|
File without changes
|
{mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/data/stop_words_english.txt
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/database/connection_health.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/database/database_factory.py
RENAMED
|
File without changes
|
{mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/database/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/database/path_resolver.py
RENAMED
|
File without changes
|
{mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/database/retry_executor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/middleware/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/middleware/logging.py
RENAMED
|
File without changes
|
{mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/middleware/security.py
RENAMED
|
File without changes
|
{mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/migrations/001_initial.sql
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/query_preprocessor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/transport/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/transport/http_transport.py
RENAMED
|
File without changes
|
{mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/transport/stdio_transport.py
RENAMED
|
File without changes
|
{mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/vector_mode/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_code_indexer-4.2.7 → mcp_code_indexer-4.2.9}/src/mcp_code_indexer/vector_mode/config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|