Describe the bug
ERROR: vectorcode.main : Traceback (most recent call last):
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/main.py", line 90, in async_main
return_val = await vectorise(final_configs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py", line 325, in vectorise
await task
File "/home/default/.local/share/uv/python/cpython-3.11.15-linux-x86_64-gnu/lib/python3.11/asyncio/tasks.py", line 615, in _wait_for_one
return f.result() # May raise f.exception().
^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py", line 125, in chunked_add
chunks: list[Chunk | str] = list(
^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/chunking.py", line 407, in chunk
parser = get_parser(cast(SupportedLanguage, name.lower()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/tree_sitter_language_pack/api.py", line 111, in get_parser
return _rust.get_parser(name=name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Download error: Language 'c++' not available for download. Available groups: ["all"]
ERROR: asyncio : Task exception was never retrieved
future: <Task finished name='Task-26' coro=<chunked_add() done, defined at /home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py:86> exception=RuntimeError('Download error: Langua
ge \'c++\' not available for download. Available groups: ["all"]')>
Traceback (most recent call last):
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py", line 125, in chunked_add
chunks: list[Chunk | str] = list(
^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/chunking.py", line 407, in chunk
parser = get_parser(cast(SupportedLanguage, name.lower()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/tree_sitter_language_pack/api.py", line 111, in get_parser
return _rust.get_parser(name=name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Download error: Language 'c++' not available for download. Available groups: ["all"]
ERROR: asyncio : Task exception was never retrieved
future: <Task finished name='Task-27' coro=<chunked_add() done, defined at /home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py:86> exception=RuntimeError('Download error: Langua
ge \'c++\' not available for download. Available groups: ["all"]')>
Traceback (most recent call last):
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py", line 125, in chunked_add
chunks: list[Chunk | str] = list(
^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/chunking.py", line 407, in chunk
parser = get_parser(cast(SupportedLanguage, name.lower()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/tree_sitter_language_pack/api.py", line 111, in get_parser
return _rust.get_parser(name=name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Download error: Language 'c++' not available for download. Available groups: ["all"]
ERROR: asyncio : Task exception was never retrieved
future: <Task finished name='Task-28' coro=<chunked_add() done, defined at /home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py:86> exception=RuntimeError('Download error: Langua
ge \'c++\' not available for download. Available groups: ["all"]')>
Traceback (most recent call last):
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py", line 125, in chunked_add
chunks: list[Chunk | str] = list(
^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/chunking.py", line 407, in chunk
parser = get_parser(cast(SupportedLanguage, name.lower()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/tree_sitter_language_pack/api.py", line 111, in get_parser
return _rust.get_parser(name=name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Download error: Language 'c++' not available for download. Available groups: ["all"]
ERROR: asyncio : Task exception was never retrieved
future: <Task finished name='Task-29' coro=<chunked_add() done, defined at /home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py:86> exception=RuntimeError('Download error: Langua
ge \'c++\' not available for download. Available groups: ["all"]')>
Traceback (most recent call last):
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py", line 125, in chunked_add
chunks: list[Chunk | str] = list(
^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/chunking.py", line 407, in chunk
parser = get_parser(cast(SupportedLanguage, name.lower()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/tree_sitter_language_pack/api.py", line 111, in get_parser
return _rust.get_parser(name=name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Download error: Language 'c++' not available for download. Available groups: ["all"]
ERROR: asyncio : Task exception was never retrieved
future: <Task finished name='Task-30' coro=<chunked_add() done, defined at /home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py:86> exception=RuntimeError('Download error: Langua
ge \'c++\' not available for download. Available groups: ["all"]')>
Traceback (most recent call last):
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py", line 125, in chunked_add
chunks: list[Chunk | str] = list(
^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/chunking.py", line 407, in chunk
parser = get_parser(cast(SupportedLanguage, name.lower()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/tree_sitter_language_pack/api.py", line 111, in get_parser
return _rust.get_parser(name=name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Download error: Language 'c++' not available for download. Available groups: ["all"]
ERROR: asyncio : Task exception was never retrieved
future: <Task finished name='Task-31' coro=<chunked_add() done, defined at /home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py:86> exception=RuntimeError('Download error: Langua
ge \'c++\' not available for download. Available groups: ["all"]')>
Traceback (most recent call last):
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py", line 125, in chunked_add
chunks: list[Chunk | str] = list(
^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/chunking.py", line 407, in chunk
parser = get_parser(cast(SupportedLanguage, name.lower()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/tree_sitter_language_pack/api.py", line 111, in get_parser
return _rust.get_parser(name=name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Download error: Language 'c++' not available for download. Available groups: ["all"]
ERROR: asyncio : Task exception was never retrieved
future: <Task finished name='Task-32' coro=<chunked_add() done, defined at /home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py:86> exception=RuntimeError('Download error: Langua
ge \'c++\' not available for download. Available groups: ["all"]')>
Traceback (most recent call last):
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py", line 125, in chunked_add
chunks: list[Chunk | str] = list(
^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/chunking.py", line 407, in chunk
parser = get_parser(cast(SupportedLanguage, name.lower()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/tree_sitter_language_pack/api.py", line 111, in get_parser
return _rust.get_parser(name=name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Download error: Language 'c++' not available for download. Available groups: ["all"]
ERROR: asyncio : Task exception was never retrieved
future: <Task finished name='Task-33' coro=<chunked_add() done, defined at /home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py:86> exception=RuntimeError('Download error: Langua
ge \'c++\' not available for download. Available groups: ["all"]')>
Traceback (most recent call last):
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py", line 125, in chunked_add
chunks: list[Chunk | str] = list(
^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/chunking.py", line 407, in chunk
parser = get_parser(cast(SupportedLanguage, name.lower()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/tree_sitter_language_pack/api.py", line 111, in get_parser
return _rust.get_parser(name=name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Download error: Language 'c++' not available for download. Available groups: ["all"]
ERROR: asyncio : Task exception was never retrieved
future: <Task finished name='Task-34' coro=<chunked_add() done, defined at /home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py:86> exception=RuntimeError('Download error: Langua
ge \'c++\' not available for download. Available groups: ["all"]')>
Traceback (most recent call last):
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py", line 125, in chunked_add
chunks: list[Chunk | str] = list(
^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/chunking.py", line 407, in chunk
parser = get_parser(cast(SupportedLanguage, name.lower()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/tree_sitter_language_pack/api.py", line 111, in get_parser
return _rust.get_parser(name=name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Download error: Language 'c++' not available for download. Available groups: ["all"]
ERROR: asyncio : Task exception was never retrieved
future: <Task finished name='Task-35' coro=<chunked_add() done, defined at /home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py:86> exception=ConnectError('All connection attempt
s failed')>
Traceback (most recent call last):
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_transports/default.py", line 101, in map_httpcore_exceptions
yield
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_transports/default.py", line 394, in handle_async_request
resp = await self._pool.handle_async_request(req)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_async/connection_pool.py", line 256, in handle_async_request
raise exc from None
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_async/connection_pool.py", line 236, in handle_async_request
response = await connection.handle_async_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_async/connection.py", line 101, in handle_async_request
raise exc
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_async/connection.py", line 78, in handle_async_request
stream = await self._connect(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_async/connection.py", line 124, in _connect
stream = await self._network_backend.connect_tcp(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_backends/auto.py", line 31, in connect_tcp
return await self._backend.connect_tcp(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_backends/anyio.py", line 113, in connect_tcp
with map_exceptions(exc_map):
File "/home/default/.local/share/uv/python/cpython-3.11.15-linux-x86_64-gnu/lib/python3.11/contextlib.py", line 158, in __exit__
self.gen.throw(typ, value, traceback)
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
raise to_exc(exc) from exc
httpcore.ConnectError: All connection attempts failed
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py", line 101, in chunked_add
existing_chunks = await collection.get(
^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/chromadb/api/models/AsyncCollection.py", line 127, in get
get_results = await self._client._get(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/chromadb/telemetry/opentelemetry/__init__.py", line 134, in async_wrapper
return await f(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/chromadb/api/async_fastapi.py", line 418, in _get
resp_json = await self._make_request(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/chromadb/api/async_fastapi.py", line 131, in _make_request
response = await self._get_client().request(method, url, **cast(Any, kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_client.py", line 1540, in request
return await self.send(request, auth=auth, follow_redirects=follow_redirects)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_client.py", line 1629, in send
response = await self._send_handling_auth(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_client.py", line 1657, in _send_handling_auth
response = await self._send_handling_redirects(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_client.py", line 1694, in _send_handling_redirects
response = await self._send_single_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_client.py", line 1730, in _send_single_request
response = await transport.handle_async_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_transports/default.py", line 393, in handle_async_request
with map_httpcore_exceptions():
File "/home/default/.local/share/uv/python/cpython-3.11.15-linux-x86_64-gnu/lib/python3.11/contextlib.py", line 158, in __exit__
self.gen.throw(typ, value, traceback)
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_transports/default.py", line 118, in map_httpcore_exceptions
raise mapped_exc(message) from exc
httpx.ConnectError: All connection attempts failed
ERROR: asyncio : Task exception was never retrieved
future: <Task finished name='Task-36' coro=<chunked_add() done, defined at /home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py:86> exception=ConnectError('All connection attempt
s failed')>
Traceback (most recent call last):
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_transports/default.py", line 101, in map_httpcore_exceptions
yield
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_transports/default.py", line 394, in handle_async_request
resp = await self._pool.handle_async_request(req)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_async/connection_pool.py", line 256, in handle_async_request
raise exc from None
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_async/connection_pool.py", line 236, in handle_async_request
response = await connection.handle_async_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_async/connection.py", line 101, in handle_async_request
raise exc
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_async/connection.py", line 78, in handle_async_request
stream = await self._connect(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_async/connection.py", line 124, in _connect
stream = await self._network_backend.connect_tcp(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_backends/auto.py", line 31, in connect_tcp
return await self._backend.connect_tcp(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_backends/anyio.py", line 113, in connect_tcp
with map_exceptions(exc_map):
File "/home/default/.local/share/uv/python/cpython-3.11.15-linux-x86_64-gnu/lib/python3.11/contextlib.py", line 158, in __exit__
self.gen.throw(typ, value, traceback)
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
raise to_exc(exc) from exc
httpcore.ConnectError: All connection attempts failed
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py", line 101, in chunked_add
existing_chunks = await collection.get(
^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/chromadb/api/models/AsyncCollection.py", line 127, in get
get_results = await self._client._get(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/chromadb/telemetry/opentelemetry/__init__.py", line 134, in async_wrapper
return await f(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/chromadb/api/async_fastapi.py", line 418, in _get
resp_json = await self._make_request(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/chromadb/api/async_fastapi.py", line 131, in _make_request
response = await self._get_client().request(method, url, **cast(Any, kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_client.py", line 1540, in request
return await self.send(request, auth=auth, follow_redirects=follow_redirects)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_client.py", line 1629, in send
response = await self._send_handling_auth(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_client.py", line 1657, in _send_handling_auth
response = await self._send_handling_redirects(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_client.py", line 1694, in _send_handling_redirects
response = await self._send_single_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_client.py", line 1730, in _send_single_request
response = await transport.handle_async_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_transports/default.py", line 393, in handle_async_request
with map_httpcore_exceptions():
File "/home/default/.local/share/uv/python/cpython-3.11.15-linux-x86_64-gnu/lib/python3.11/contextlib.py", line 158, in __exit__
self.gen.throw(typ, value, traceback)
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_transports/default.py", line 118, in map_httpcore_exceptions
raise mapped_exc(message) from exc
httpx.ConnectError: All connection attempts failed
ERROR: asyncio : Task exception was never retrieved
future: <Task finished name='Task-37' coro=<chunked_add() done, defined at /home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py:86> exception=ConnectError('All connection attempt
s failed')>
Traceback (most recent call last):
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_transports/default.py", line 101, in map_httpcore_exceptions
yield
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_transports/default.py", line 394, in handle_async_request
resp = await self._pool.handle_async_request(req)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_async/connection_pool.py", line 256, in handle_async_request
raise exc from None
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_async/connection_pool.py", line 236, in handle_async_request
response = await connection.handle_async_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_async/connection.py", line 101, in handle_async_request
raise exc
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_async/connection.py", line 78, in handle_async_request
stream = await self._connect(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_async/connection.py", line 124, in _connect
stream = await self._network_backend.connect_tcp(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_backends/auto.py", line 31, in connect_tcp
return await self._backend.connect_tcp(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_backends/anyio.py", line 113, in connect_tcp
with map_exceptions(exc_map):
File "/home/default/.local/share/uv/python/cpython-3.11.15-linux-x86_64-gnu/lib/python3.11/contextlib.py", line 158, in __exit__
self.gen.throw(typ, value, traceback)
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
raise to_exc(exc) from exc
httpcore.ConnectError: All connection attempts failed
The above exception was the direct cause of the following exception:
i left out at least 1000 lines of the same message here
Traceback (most recent call last):
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/vectorcode/subcommands/vectorise.py", line 101, in chunked_add
existing_chunks = await collection.get(
^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/chromadb/api/models/AsyncCollection.py", line 127, in get
get_results = await self._client._get(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/chromadb/telemetry/opentelemetry/__init__.py", line 134, in async_wrapper
return await f(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/chromadb/api/async_fastapi.py", line 418, in _get
resp_json = await self._make_request(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/chromadb/api/async_fastapi.py", line 131, in _make_request
response = await self._get_client().request(method, url, **cast(Any, kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_client.py", line 1540, in request
return await self.send(request, auth=auth, follow_redirects=follow_redirects)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_client.py", line 1629, in send
response = await self._send_handling_auth(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_client.py", line 1657, in _send_handling_auth
response = await self._send_handling_redirects(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_client.py", line 1694, in _send_handling_redirects
response = await self._send_single_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_client.py", line 1730, in _send_single_request
response = await transport.handle_async_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_transports/default.py", line 393, in handle_async_request
with map_httpcore_exceptions():
File "/home/default/.local/share/uv/python/cpython-3.11.15-linux-x86_64-gnu/lib/python3.11/contextlib.py", line 158, in __exit__
self.gen.throw(typ, value, traceback)
File "/home/default/.local/share/uv/tools/vectorcode/lib/python3.11/site-packages/httpx/_transports/default.py", line 118, in map_httpcore_exceptions
raise mapped_exc(message) from exc
httpx.ConnectError: All connection attempts failed
To Reproduce
Steps to reproduce the behavior:
- ...
- ...
Expected behavior
A clear and concise description of what you expected to happen.
VectorCode Configuration
Please attach your <project_root>/.vectorcode/config.json or
~/.config/vectorcode/config.json here.
For issues with the Neovim plugin, please also attach your setup options:
return {
-- ── VectorCode ────────────────────────────────────────────────────────
{
"Davidyz/VectorCode",
version = "*",
build = "uv tool upgrade vectorcode",
dependencies = { "nvim-lua/plenary.nvim" },
opts = {
cli_cmds = {
vectorcode = vim.fn.expand("~/.local/bin/vectorcode"),
},
async_opts = {
debounce = 500,
events = { "BufWritePost", "InsertEnter" },
exclude_this = true,
n_query = 10,
notify = false,
run_on_register = false,
},
async_backend = "lsp",
exclude_this = true,
n_query = 10,
notify = false,
timeout_ms = 5000,
on_setup = {
update = false,
lsp = true,
},
sync_log_env_var = false,
},
config = function(_, opts)
-- Silence spurious LSP detach warnings
local orig = vim.lsp.buf_detach_client
vim.lsp.buf_detach_client = function(bufnr, client_id)
pcall(orig, bufnr, client_id)
end
require("vectorcode").setup(opts)
-- Kill any stale vectorcode/chromadb processes from previous sessions
vim.system({ "pkill", "-f", "vectorcode" }, {}, function() end)
vim.system({ "pkill", "-f", "chromadb.cli" }, {}, function() end)
local cacher = require("vectorcode.cacher").lsp
local vc_cmd = opts.cli_cmds and opts.cli_cmds.vectorcode or "vectorcode"
-- ── Global process lock: only ONE vectorcode CLI runs at a time ───
local vc_running = false
local vc_queue = nil
local function run_vc(cmd, cwd, on_done)
if vc_running then
vc_queue = { cmd = cmd, cwd = cwd, on_done = on_done }
return
end
vim.system({ "pgrep", "-f", "vectorcode vectorise\\|vectorcode update" }, {}, function(pgrep)
if pgrep.code == 0 then
vim.defer_fn(function()
run_vc(cmd, cwd, on_done)
end, 2000)
return
end
vc_running = true
vim.system(cmd, { cwd = cwd }, function(result)
vc_running = false
if on_done then
on_done(result)
end
if vc_queue then
local next = vc_queue
vc_queue = nil
vim.schedule(function()
run_vc(next.cmd, next.cwd, next.on_done)
end)
end
end)
end)
end
-- ── Spinner ───────────────────────────────────────────────────────
local spinner_frames = { "⣾", "⣽", "⣻", "⢿", "⡿", "⣟", "⣯", "⣷" }
local spinner_idx = 0
local spinner_timer = nil
local function start_spinner(label)
spinner_idx = 0
if spinner_timer then
spinner_timer:stop()
spinner_timer:close()
end
spinner_timer = vim.uv.new_timer()
spinner_timer:start(
0,
120,
vim.schedule_wrap(function()
spinner_idx = (spinner_idx % #spinner_frames) + 1
vim.g.vectorcode_progress = spinner_frames[spinner_idx] .. " " .. label
pcall(function()
require("lualine").refresh()
end)
end)
)
end
local function stop_spinner()
if spinner_timer then
spinner_timer:stop()
spinner_timer:close()
spinner_timer = nil
end
vim.g.vectorcode_progress = nil
pcall(function()
require("lualine").refresh()
end)
end
-- ── Stats parser ─────────────────────────────────────────────────
local function parse_stats(stdout)
if not stdout or stdout == "" then
return nil
end
local ok, data = pcall(vim.json.decode, stdout)
if not ok or type(data) ~= "table" then
return nil
end
local parts = {}
if (data.add or 0) > 0 then
table.insert(parts, data.add .. " added")
end
if (data.update or 0) > 0 then
table.insert(parts, data.update .. " updated")
end
if (data.removed or 0) > 0 then
table.insert(parts, data.removed .. " removed")
end
if (data.skip or 0) > 0 then
table.insert(parts, data.skip .. " skipped")
end
if (data.fail or 0) > 0 then
table.insert(parts, data.fail .. " failed")
end
if #parts == 0 then
return "no changes"
end
return table.concat(parts, ", ")
end
-- ── Write project config ─────────────────────────────────────────
local function write_project_config(root)
local config_path = root .. "/.vectorcode/config.json"
if vim.fn.filereadable(config_path) == 0 then
local f = io.open(config_path, "w")
if f then
f:write(
'{"chunk_size":-1,"filetype_map":{"cpp":["\\\\.cpp$","\\\\.cppm$","\\\\.cc$","\\\\.cxx$","\\\\.hpp$","\\\\.h$"]}}'
)
f:close()
end
end
end
-- ── Vectorise whole project ───────────────────────────────────────
local function do_vectorise(root)
local name = vim.fn.fnamemodify(root, ":t")
vim.schedule(function()
start_spinner("vectorcode indexing " .. name)
end)
run_vc({ vc_cmd, "vectorise", "--pipe", "--project_root", root, "--recursive", "." }, root, function(result)
vim.schedule(function()
stop_spinner()
if result.code == 0 then
local stats = parse_stats(result.stdout)
vim.notify("VectorCode: indexed " .. name .. " — " .. (stats or "done"), vim.log.levels.INFO)
else
vim.notify("VectorCode vectorise failed: " .. (result.stderr or ""), vim.log.levels.WARN)
end
end)
end)
end
-- ── Update already-indexed project ───────────────────────────────
local function do_update(root)
local name = vim.fn.fnamemodify(root, ":t")
vim.schedule(function()
start_spinner("vectorcode updating " .. name)
end)
run_vc({ vc_cmd, "vectorise", "--pipe", "--project_root", root, "--recursive", "." }, root, function(result)
vim.schedule(function()
stop_spinner()
if result.code == 0 then
local stats = parse_stats(result.stdout)
if stats and stats ~= "no changes" then
vim.notify("VectorCode: updated " .. name .. " — " .. stats, vim.log.levels.INFO)
end
else
vim.notify("VectorCode update failed: " .. (result.stderr or ""), vim.log.levels.WARN)
end
end)
end)
end
-- ── Kill stale CLI processes ──────────────────────────────────────
local function kill_stale_vc_processes()
vim.system({ "pkill", "-f", "vectorcode.*(vectorise|update|query|init|check)" }, {}, nil)
end
-- ── Init + check + vectorise or update ───────────────────────────
local function auto_setup_project(root)
local name = vim.fn.fnamemodify(root, ":t")
kill_stale_vc_processes()
vc_running = false
vc_queue = nil
local function step_vectorise_or_update(already_indexed)
write_project_config(root)
if already_indexed then
do_update(root)
else
vim.schedule(function()
vim.notify("VectorCode: indexing " .. name, vim.log.levels.INFO)
end)
do_vectorise(root)
end
end
local function step_check()
run_vc({ vc_cmd, "check", "--project_root", root }, root, function(result)
vim.schedule(function()
step_vectorise_or_update(result.code == 0)
end)
end)
end
if vim.fn.isdirectory(root .. "/.vectorcode") == 0 then
vim.notify("VectorCode: initialising " .. name, vim.log.levels.INFO)
run_vc({ vc_cmd, "init", "--project_root", root }, root, function(init_result)
if init_result.code ~= 0 then
vim.schedule(function()
vim.notify("VectorCode init failed: " .. (init_result.stderr or ""), vim.log.levels.WARN)
end)
return
end
vim.schedule(step_check)
end)
else
step_check()
end
end
-- ── Per-file save debounce ────────────────────────────────────────
local last_write_times = {}
-- ── Autocmds ─────────────────────────────────────────────────────
local handled_roots = {}
vim.api.nvim_create_autocmd("BufReadPost", {
desc = "Auto-setup VectorCode for project and register buffer",
callback = function(args)
local bufname = vim.api.nvim_buf_get_name(args.buf)
if bufname == "" or vim.bo[args.buf].buftype ~= "" then
return
end
local root = vim.fs.root(args.buf, { ".git", ".vectorcode" }) or vim.fn.fnamemodify(bufname, ":h")
if not handled_roots[root] then
handled_roots[root] = true
vim.defer_fn(function()
auto_setup_project(root)
end, 2000)
end
cacher.async_check("config", function()
cacher.register_buffer(args.buf, {
n_query = 10,
debounce = 500,
notify = false,
run_on_register = false,
})
end, nil)
end,
})
vim.api.nvim_create_autocmd("BufWritePost", {
desc = "Re-vectorise saved file in VectorCode",
callback = function(args)
local bufname = vim.api.nvim_buf_get_name(args.buf)
if bufname == "" or vim.bo[args.buf].buftype ~= "" then
return
end
local root = vim.fs.root(args.buf, { ".git", ".vectorcode" })
if not root or vim.fn.isdirectory(root .. "/.vectorcode") == 0 then
return
end
local now = vim.uv.now()
if last_write_times[bufname] and (now - last_write_times[bufname]) < 10000 then
return
end
last_write_times[bufname] = now
local fname = vim.fn.fnamemodify(bufname, ":t")
run_vc({ vc_cmd, "vectorise", "--pipe", "--project_root", root, bufname }, root, function(result)
vim.schedule(function()
if result.code == 0 then
local stats = parse_stats(result.stdout)
if stats and stats ~= "no changes" then
vim.notify("VectorCode: " .. fname .. " — " .. stats, vim.log.levels.INFO)
end
end
end)
end)
end,
})
-- ── Which-key group ───────────────────────────────────────────────
local wk_ok, wk = pcall(require, "which-key")
if wk_ok then
wk.add({
{ "<leader>av", group = "VectorCode", icon = "" },
{ "<leader>avk", desc = "Kill stale processes" },
})
end
end,
keys = {
{
"<leader>avk",
function()
vim.fn.system("pkill -f 'vectorcode.*(vectorise|update|query|init|check)'")
vim.g.vectorcode_progress = nil
pcall(function()
require("lualine").refresh()
end)
vim.notify("VectorCode: killed stale processes", vim.log.levels.INFO)
end,
desc = "Kill stale VectorCode processes",
},
{
"<leader>avs",
"<cmd>VectorCode ls<cr>",
desc = "List indexed projects",
},
{
"<leader>avq",
function()
local query = vim.fn.input("VectorCode query: ")
if query == "" then
return
end
local root = vim.fs.root(0, { ".git", ".vectorcode" })
if not root then
vim.notify("VectorCode: no project root found", vim.log.levels.WARN)
return
end
local cmd = vim.fn.expand("~/.local/bin/vectorcode")
vim.system({ cmd, "query", "--project_root", root, query }, { cwd = root }, function(result)
vim.schedule(function()
if result.code == 0 and result.stdout ~= "" then
vim.notify(result.stdout, vim.log.levels.INFO)
else
vim.notify("VectorCode query failed: " .. (result.stderr or ""), vim.log.levels.WARN)
end
end)
end)
end,
desc = "Query codebase",
},
{
"<leader>avu",
function()
local root = vim.fs.root(0, { ".git", ".vectorcode" })
if not root then
vim.notify("VectorCode: no project root found", vim.log.levels.WARN)
return
end
local name = vim.fn.fnamemodify(root, ":t")
local cmd = vim.fn.expand("~/.local/bin/vectorcode")
-- NOTE: reuses module-level start_spinner/stop_spinner defined in config()
-- but keymaps run outside that closure, so we inline a lightweight version.
local t_frames = { "⣾", "⣽", "⣻", "⢿", "⡿", "⣟", "⣯", "⣷" }
local t_idx = 0
local t = vim.uv.new_timer()
t:start(
0,
120,
vim.schedule_wrap(function()
t_idx = (t_idx % #t_frames) + 1
vim.g.vectorcode_progress = t_frames[t_idx] .. " updating " .. name
pcall(function()
require("lualine").refresh()
end)
end)
)
vim.system(
{ cmd, "vectorise", "--pipe", "--project_root", root, "--recursive", "." },
{ cwd = root },
function(result)
vim.schedule(function()
t:stop()
t:close()
vim.g.vectorcode_progress = nil
pcall(function()
require("lualine").refresh()
end)
if result.code == 0 then
local ok, data = pcall(vim.json.decode, result.stdout or "")
local add = ok and data and (data.add or 0) or 0
local upd = ok and data and (data.update or 0) or 0
local parts = {}
if add > 0 then
table.insert(parts, add .. " added")
end
if upd > 0 then
table.insert(parts, upd .. " updated")
end
local stats = #parts > 0 and table.concat(parts, ", ") or "done"
vim.notify("VectorCode: updated " .. name .. " — " .. stats, vim.log.levels.INFO)
else
vim.notify("VectorCode update failed: " .. (result.stderr or ""), vim.log.levels.WARN)
end
end)
end
)
end,
desc = "Update project index",
},
{
"<leader>avi",
function()
local root = vim.fs.root(0, { ".git", ".vectorcode" })
if not root then
vim.notify("VectorCode: no project root found", vim.log.levels.WARN)
return
end
local name = vim.fn.fnamemodify(root, ":t")
local cmd = vim.fn.expand("~/.local/bin/vectorcode")
local t_frames = { "⣾", "⣽", "⣻", "⢿", "⡿", "⣟", "⣯", "⣷" }
local t_idx = 0
local t = vim.uv.new_timer()
t:start(
0,
120,
vim.schedule_wrap(function()
t_idx = (t_idx % #t_frames) + 1
vim.g.vectorcode_progress = t_frames[t_idx] .. " indexing " .. name
pcall(function()
require("lualine").refresh()
end)
end)
)
vim.system(
{ cmd, "vectorise", "--pipe", "--project_root", root, "--recursive", "." },
{ cwd = root },
function(result)
vim.schedule(function()
t:stop()
t:close()
vim.g.vectorcode_progress = nil
pcall(function()
require("lualine").refresh()
end)
if result.code == 0 then
local ok, data = pcall(vim.json.decode, result.stdout or "")
local stats = ok and data and tostring(data.add or 0) .. " added" or "done"
vim.notify("VectorCode: indexed " .. name .. " — " .. stats, vim.log.levels.INFO)
else
vim.notify("VectorCode vectorise failed: " .. (result.stderr or ""), vim.log.levels.WARN)
end
end)
end
)
end,
desc = "Re-index whole project",
},
{
"<leader>avr",
function()
local bufnr = vim.api.nvim_get_current_buf()
local cacher = require("vectorcode.cacher").lsp
cacher.deregister_buffer(bufnr)
cacher.async_check("config", function()
cacher.register_buffer(bufnr, {
n_query = 10,
debounce = 500,
notify = true,
run_on_register = true,
})
end, nil)
vim.notify("VectorCode: buffer cache restarted", vim.log.levels.INFO)
end,
desc = "Restart buffer cache",
},
{
"<leader>avd",
function()
local root = vim.fs.root(0, { ".git", ".vectorcode" })
if not root then
vim.notify("VectorCode: no project root found", vim.log.levels.WARN)
return
end
local name = vim.fn.fnamemodify(root, ":t")
local confirm = vim.fn.confirm("Drop VectorCode index for " .. name .. "?", "&Yes\n&No", 2)
if confirm ~= 1 then
return
end
local cmd = vim.fn.expand("~/.local/bin/vectorcode")
vim.system({ cmd, "drop", "--project_root", root }, { cwd = root }, function(result)
vim.schedule(function()
if result.code == 0 then
vim.notify("VectorCode: dropped index for " .. name, vim.log.levels.INFO)
else
vim.notify("VectorCode drop failed: " .. (result.stderr or ""), vim.log.levels.WARN)
end
end)
end)
end,
desc = "Drop project index",
},
{
"<leader>avh",
"<cmd>checkhealth vectorcode<cr>",
desc = "Health check",
},
},
},
}
If it only occurs when you use VectorCode with a particular plugin, please
attach the relevant config here:
Platform information:
- If the issue is about the CLI, attach a list of packages in the Python virtual environment:
- for
pipx, run pipx runpip vectorcode freeze;
- for
uv, run uv tool run --from=vectorcode python -m ensurepip && uv tool run --from=vectorcode python -m pip freeze.
uv run --with tree-sitter-cpp --with tree-sitter vectorcode vectorise --chunk_size 2500 --overlap 0.0 -r .
Or: vectorcode vectorise -r .
- If the issue is about the neovim plugin, attach the neovim version you're using:
System Information:
For Mac users, please also mention whether you're using intel or apple silicon devices.
- OS: Linux, MacOS, Windows...
Additional context
Add any other context about the problem here. Please attach
CLI logs
or
nvim plugin logs
if applicable.
Describe the bug
i left out at least 1000 lines of the same message here
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
VectorCode Configuration
Please attach your
<project_root>/.vectorcode/config.jsonor~/.config/vectorcode/config.jsonhere.For issues with the Neovim plugin, please also attach your
setupoptions:If it only occurs when you use VectorCode with a particular plugin, please
attach the relevant config here:
{ "chunk_size": -1 }Platform information:
pipx, runpipx runpip vectorcode freeze;uv, runuv tool run --from=vectorcode python -m ensurepip && uv tool run --from=vectorcode python -m pip freeze.System Information:
Additional context
Add any other context about the problem here. Please attach
CLI logs
or
nvim plugin logs
if applicable.