"""Optional aggregate graph package for RetrievalKit."""

from __future__ import annotations

import sys

if "retrievalkit._native" in sys.modules:
    raise ImportError(
        "retrievalkit_graph and retrievalkit are mutually exclusive native "
        "distributions; use one capability package per process"
    )

from .graph import (
    GraphCancellationToken,
    GraphCancelledError,
    GraphDatabase,
    GraphDatabaseBuilder,
    GraphError,
    GraphQueries,
    GraphQueryError,
    GraphRetrievalDatabase,
    GraphRetrievalDatabaseBuilder,
    GraphRetrievalQueries,
    GraphSelection,
    GraphTimeoutError,
    InvalidGraphSchemaError,
    MissingEmbeddingError,
    RetrievalCapabilityUnavailableError,
    StaleGraphSelectionError,
    UnexpectedEmbeddingError,
)
from .graph_types import (
    Chunk,
    Filter,
    GraphCandidateProjection,
    GraphChunkIdentity,
    GraphChunkInput,
    GraphChunkNode,
    GraphFileSizeReport,
    GraphHybridHit,
    GraphMatch,
    GraphNode,
    GraphQueryLimits,
    GraphQueryTrace,
    GraphRecordInput,
    GraphRecordNode,
    GraphRelationship,
    GraphScalar,
    GraphSchema,
    GraphSearchHit,
    GraphTraversal,
    GraphValue,
    HydratedGraphChunk,
    HydratedGraphRecord,
    Metadata,
    MetadataValue,
    Record,
    RecordInput,
    RetrievalConfiguration,
    TimestampMillis,
    VectorIndexConfiguration,
)

__all__ = [
    "Chunk",
    "Filter",
    "GraphCancellationToken",
    "GraphCancelledError",
    "GraphCandidateProjection",
    "GraphChunkInput",
    "GraphChunkIdentity",
    "GraphChunkNode",
    "GraphDatabase",
    "GraphDatabaseBuilder",
    "GraphError",
    "GraphFileSizeReport",
    "GraphHybridHit",
    "GraphMatch",
    "GraphNode",
    "GraphQueries",
    "GraphQueryError",
    "GraphQueryLimits",
    "GraphQueryTrace",
    "GraphRecordInput",
    "GraphRecordNode",
    "GraphRelationship",
    "GraphRetrievalDatabase",
    "GraphRetrievalDatabaseBuilder",
    "GraphRetrievalQueries",
    "GraphScalar",
    "GraphSchema",
    "GraphSearchHit",
    "GraphSelection",
    "GraphTimeoutError",
    "GraphTraversal",
    "GraphValue",
    "HydratedGraphChunk",
    "HydratedGraphRecord",
    "InvalidGraphSchemaError",
    "MissingEmbeddingError",
    "Metadata",
    "MetadataValue",
    "Record",
    "RecordInput",
    "RetrievalConfiguration",
    "RetrievalCapabilityUnavailableError",
    "StaleGraphSelectionError",
    "TimestampMillis",
    "UnexpectedEmbeddingError",
    "VectorIndexConfiguration",
]
