fix: harden task3 qdrant compatibility boundaries

This commit is contained in:
2026-08-11 07:34:44 +02:00
parent 0724a73300
commit 99e0024973
11 changed files with 410 additions and 227 deletions
+24
View File
@@ -45,6 +45,27 @@ class VectorStoreError(Exception):
"""Base error exposed by vector adapters."""
class SemanticIndexIncompatibleError(VectorStoreError):
"""The configured semantic collection cannot safely serve this workspace."""
code = "semantic_index_incompatible"
def __init__(self, message: str = "Qdrant semantic index is incompatible"):
super().__init__(f"{self.code}: {message}")
class VectorTransportError(VectorStoreError):
"""Qdrant could not be reached or returned an HTTP failure."""
def __init__(self, message: str, *, status_code: int | None = None):
super().__init__(message)
self.status_code = status_code
class VectorResponseError(VectorStoreError):
"""Qdrant returned a malformed response."""
class VectorWriteUnavailable(VectorStoreError):
"""Raised when a deployment has no vector writer credential."""
@@ -86,13 +107,16 @@ class VectorStore(Protocol):
__all__ = [
"SemanticIndexIncompatibleError",
"VectorCapabilities",
"VectorHealth",
"VectorHit",
"VectorReadUnavailable",
"VectorRecord",
"VectorResponseError",
"VectorStore",
"VectorStoreError",
"VectorTransportError",
"VectorWriteRecord",
"VectorWriteUnavailable",
"require_positive_limit",