"""
Schema management modules for MarkiTect.

This package contains the schema-related functionality:
- Validator: Validate markdown documents against JSON schemas
- Generator: Generate JSON schemas from markdown structures
- Loader: Load schemas from markdown files with embedded JSON
- Analyzer: Analyze schemas for rigidity issues
- Refiner: Refine rigid schemas with loosening rules
- Naming: Schema filename convention validation

All modules are re-exported from their original schema_*.py locations
for backward compatibility.
"""

from .validator import SchemaValidator
from .generator import SchemaGenerator
from .loader import (
    MarkdownSchemaLoader,
    SchemaLoaderError,
    InvalidSchemaFormatError,
    SchemaNotFoundError,
)
from .analyzer import (
    SchemaAnalyzer,
    SchemaAnalysisResult,
    SchemaIssue,
    IssueType,
    IssueSeverity,
)
from .refiner import (
    SchemaRefiner,
    RefinementResult,
    RefinementAction,
)
from .naming import (
    validate_schema_filename,
    suggest_valid_filename,
    extract_schema_domain,
    get_schema_version,
    SchemaFilenameError,
    SCHEMA_FILENAME_PATTERN,
)

__all__ = [
    # Validator
    "SchemaValidator",
    # Generator
    "SchemaGenerator",
    # Loader
    "MarkdownSchemaLoader",
    "SchemaLoaderError",
    "InvalidSchemaFormatError",
    "SchemaNotFoundError",
    # Analyzer
    "SchemaAnalyzer",
    "SchemaAnalysisResult",
    "SchemaIssue",
    "IssueType",
    "IssueSeverity",
    # Refiner
    "SchemaRefiner",
    "RefinementResult",
    "RefinementAction",
    # Naming
    "validate_schema_filename",
    "suggest_valid_filename",
    "extract_schema_domain",
    "get_schema_version",
    "SchemaFilenameError",
    "SCHEMA_FILENAME_PATTERN",
]
