"""Document processing plugins for code-index-mcp."""

from .base_document_plugin import BaseDocumentPlugin, DocumentMetadata
from .chunk_optimizer import (
    ChunkingConfig,
    ChunkingStrategy,
    ChunkOptimizer,
    FixedSizeChunkingStrategy,
    HybridChunkingStrategy,
    ParagraphBasedChunkingStrategy,
    ParagraphSplitter,
    SemanticAnalyzer,
    SemanticBasedChunkingStrategy,
    SentenceBasedChunkingStrategy,
    SentenceSplitter,
    TokenEstimator,
    create_chunk_optimizer,
)
from .contextual_embeddings import (
    ContextCache,
    ContextGenerationMetrics,
    ContextPromptTemplate,
    ContextualEmbeddingService,
    DocumentCategory,
    PromptTemplateRegistry,
    create_contextual_embedding_service,
)
from .document_interfaces import (
    ChunkMetadata,
    ChunkType,
    DocumentChunk,
    DocumentStructure,
    IChunkStrategy,
    IDocumentProcessor,
    IStructureExtractor,
    ProcessedDocument,
    Section,
)
from .metadata_extractor import MetadataExtractor
from .semantic_chunker import (
    ChunkingContext,
    ContextWindow,
    DocumentType,
    DocumentTypeDetector,
    HierarchicalChunker,
    MetadataPreserver,
    SemanticBoundaryDetector,
    SemanticChunker,
    create_semantic_chunker,
)

__all__ = [
    "BaseDocumentPlugin",
    "DocumentMetadata",
    "DocumentChunk",
    "DocumentStructure",
    "Section",
    "ChunkType",
    "ChunkMetadata",
    "ProcessedDocument",
    "IDocumentProcessor",
    "IChunkStrategy",
    "IStructureExtractor",
    "ChunkOptimizer",
    "ChunkingStrategy",
    "ChunkingConfig",
    "TokenEstimator",
    "SentenceSplitter",
    "ParagraphSplitter",
    "SemanticAnalyzer",
    "FixedSizeChunkingStrategy",
    "SentenceBasedChunkingStrategy",
    "ParagraphBasedChunkingStrategy",
    "SemanticBasedChunkingStrategy",
    "HybridChunkingStrategy",
    "create_chunk_optimizer",
    "MetadataExtractor",
    "SemanticChunker",
    "DocumentType",
    "DocumentTypeDetector",
    "ContextWindow",
    "ChunkingContext",
    "SemanticBoundaryDetector",
    "HierarchicalChunker",
    "MetadataPreserver",
    "create_semantic_chunker",
    "ContextualEmbeddingService",
    "DocumentCategory",
    "ContextGenerationMetrics",
    "ContextPromptTemplate",
    "PromptTemplateRegistry",
    "ContextCache",
    "create_contextual_embedding_service",
]
