"""Domain models - Value objects and entities."""

from gnosisllm_knowledge.core.domain.discovery import (
    DiscoveredURL,
    DiscoveryConfig,
    DiscoveryJobStatus,
    DiscoveryProgress,
    DiscoveryStats,
)
from gnosisllm_knowledge.core.domain.document import Document, DocumentStatus, TextChunk
from gnosisllm_knowledge.core.domain.memory import (
    ContainerConfig,
    ContainerIndexSettings,
    ContainerInfo,
    EmbeddingModelType,
    HistoryAction,
    HistoryEntry,
    IndexSettings,
    MemoryEntry,
    MemoryStats,
    MemoryStrategy,
    MemoryType,
    Message,
    Namespace,
    PayloadType,
    RecallResult,
    SessionInfo,
    StoreRequest,
    StoreResult,
    StrategyConfig,
)
from gnosisllm_knowledge.core.domain.result import (
    BatchResult,
    IndexResult,
    LoadResult,
    ValidationResult,
)
from gnosisllm_knowledge.core.domain.search import (
    AgenticSearchQuery,
    AgenticSearchResult,
    AgentType,
    ReasoningStep,
    SearchMode,
    SearchQuery,
    SearchResult,
    SearchResultItem,
)
from gnosisllm_knowledge.core.domain.source import SourceConfig

__all__ = [
    # Discovery
    "DiscoveredURL",
    "DiscoveryConfig",
    "DiscoveryJobStatus",
    "DiscoveryProgress",
    "DiscoveryStats",
    # Document
    "Document",
    "DocumentStatus",
    "TextChunk",
    # Memory
    "MemoryStrategy",
    "MemoryType",
    "PayloadType",
    "EmbeddingModelType",
    "HistoryAction",
    "StrategyConfig",
    "IndexSettings",
    "ContainerIndexSettings",
    "ContainerConfig",
    "ContainerInfo",
    "Message",
    "Namespace",
    "StoreRequest",
    "StoreResult",
    "MemoryEntry",
    "RecallResult",
    "SessionInfo",
    "HistoryEntry",
    "MemoryStats",
    # Result
    "LoadResult",
    "IndexResult",
    "BatchResult",
    "ValidationResult",
    # Search
    "SearchQuery",
    "SearchResult",
    "SearchResultItem",
    "SearchMode",
    "AgenticSearchQuery",
    "AgenticSearchResult",
    "AgentType",
    "ReasoningStep",
    # Source
    "SourceConfig",
]
