""" Co-Memory Qdrant Module Canonical Qdrant client with payload validation and filter building. Security Invariants: - tenant_id is ALWAYS required in filters - indexed=true is default for search - Empty should clause is NEVER allowed (would match everything) - visibility=private is ONLY accessible by owner """ from .payload_validation import validate_payload, PayloadValidationError from .collections import ensure_collection, get_canonical_collection_name from .filters import ( build_qdrant_filter, build_agent_only_filter, build_multi_agent_filter, build_project_filter, build_tag_filter, AccessContext, FilterSecurityError, ) from .client import CoMemoryQdrantClient __all__ = [ # Validation "validate_payload", "PayloadValidationError", # Collections "ensure_collection", "get_canonical_collection_name", # Filters "build_qdrant_filter", "build_agent_only_filter", "build_multi_agent_filter", "build_project_filter", "build_tag_filter", "AccessContext", "FilterSecurityError", # Client "CoMemoryQdrantClient", ]