"""
core/epoch — Epoch orchestration package.

Provides distributed locking, epoch coordination primitives, weekly
conversation aggregation, axiom distillation, knowledge persistence,
and epoch report generation.
"""

from core.epoch.redis_epoch_lock import (
    RedisEpochLock,
    EPOCH_LOCK_KEY,
    EPOCH_LOCK_TTL,
)

from core.epoch.conversation_aggregator import (
    ConversationAggregator,
    WeeklyConversationSummary,
)

from core.epoch.axiom_distiller import (
    AxiomDistiller,
    Axiom,
    DistillationResult,
    CONFIDENCE_THRESHOLD,
    DISTILLATION_PROMPT,
)

from core.epoch.epoch_knowledge_writer import (
    EpochKnowledgeWriter,
    WriteResult,
    KG_FILE_PATH,
    QDRANT_COLLECTION,
)

from core.epoch.epoch_report_generator import (
    EpochReportGenerator,
    EpochReport,
    EpochResult,
    REPORT_DIR,
)

from core.epoch.epoch_tier1_trigger import (
    EpochTier1Trigger,
    Tier1EpochResult,
    TIER1_LOG_PATH,
)

from core.epoch.epoch_runner import (
    EpochRunner,
    EPOCH_LOG_PATH,
)

from core.epoch.epoch_scheduler import (
    EpochScheduler,
    EVENTS_LOG_PATH,
)

from core.epoch.nightly_epoch_scheduler import (
    NightlyEpochScheduler,
)

from core.epoch.nightly_epoch_runner import (
    NightlyEpochRunner,
    AGGREGATION_QUERY,
)

__all__ = [
    # Story 9.01 — NightlyEpochScheduler + EpochScheduler
    "NightlyEpochScheduler",
    "EpochScheduler",
    "EVENTS_LOG_PATH",
    # Story 9.02 — NightlyEpochRunner (conversation aggregator)
    "NightlyEpochRunner",
    "AGGREGATION_QUERY",
    # Story 9.02 — EpochRunner
    "EpochRunner",
    "EPOCH_LOG_PATH",
    # Story 9.03 — RedisEpochLock
    "RedisEpochLock",
    "EPOCH_LOCK_KEY",
    "EPOCH_LOCK_TTL",
    # Story 9.04 — ConversationAggregator
    "ConversationAggregator",
    "WeeklyConversationSummary",
    # Story 9.05 — AxiomDistiller
    "AxiomDistiller",
    "Axiom",
    "DistillationResult",
    "CONFIDENCE_THRESHOLD",
    "DISTILLATION_PROMPT",
    # Story 9.06 — EpochKnowledgeWriter
    "EpochKnowledgeWriter",
    "WriteResult",
    "KG_FILE_PATH",
    "QDRANT_COLLECTION",
    # Story 9.07 — EpochReportGenerator
    "EpochReportGenerator",
    "EpochReport",
    "EpochResult",
    "REPORT_DIR",
    # Story 9.08 — EpochTier1Trigger
    "EpochTier1Trigger",
    "Tier1EpochResult",
    "TIER1_LOG_PATH",
]
