"""V3 annotation schema — entity, event, relation, sentiment, and evidence models."""

from services.intelligence_pipeline_v3.schemas.annotations import (
    AmbiguityMarker,
    AmbiguityType,
    AnnotatedDocument,
    AnnotationMetadata,
    CompanySentimentAnnotation,
    DirectEffect,
    EntityAnnotation,
    EntityType,
    EventAnnotation,
    EventClass,
    EvidenceSpanAnnotation,
    InferredExposure,
    NumericFactAnnotation,
    PeriodAnnotation,
    PeriodType,
    RelationAnnotation,
    RelationType,
    SentimentLabel,
)
from services.intelligence_pipeline_v3.schemas.safety import (
    SAFETY_CRITICAL_FIELDS,
    SafetyCriticalField,
    SafetyGateResult,
    check_safety_gates,
)
from services.intelligence_pipeline_v3.schemas.validators import (
    ValidationError as AnnotationValidationError,
)
from services.intelligence_pipeline_v3.schemas.validators import (
    ValidationResult,
    validate_annotation,
)

__all__ = [
    # Annotation models
    "AmbiguityMarker",
    "AmbiguityType",
    "AnnotatedDocument",
    "AnnotationMetadata",
    "CompanySentimentAnnotation",
    "DirectEffect",
    "EntityAnnotation",
    "EntityType",
    "EvidenceSpanAnnotation",
    "EventAnnotation",
    "EventClass",
    "InferredExposure",
    "NumericFactAnnotation",
    "PeriodAnnotation",
    "PeriodType",
    "RelationAnnotation",
    "RelationType",
    "SentimentLabel",
    # Safety
    "SAFETY_CRITICAL_FIELDS",
    "SafetyCriticalField",
    "SafetyGateResult",
    "check_safety_gates",
    # Validators
    "AnnotationValidationError",
    "ValidationResult",
    "validate_annotation",
]
